Jadual Kandungan
1. Suntikan LDAP
3. Kod sampel
3.1 Kod Kecacatan
Rumah Operasi dan penyelenggaraan Keselamatan Bagaimana untuk memahami suntikan LDAP

Bagaimana untuk memahami suntikan LDAP

May 22, 2023 pm 09:47 PM
ldap

1. Suntikan LDAP

LDAP (Light Directory Access Portocol) ialah protokol akses direktori ringan berdasarkan standard X.500, menyediakan perkhidmatan dan protokol untuk mengakses kaedah pangkalan data direktori. Biasa digunakan untuk membentuk perkhidmatan direktori dengan pangkalan data direktori. Direktori ialah pangkalan data teragih profesional yang dioptimumkan untuk pertanyaan, menyemak imbas dan carian Ia mengatur data dalam struktur pokok, serupa dengan direktori fail dalam sistem Linux/Unix. Ia sesuai untuk menyimpan data yang tidak kerap berubah, seperti sijil awam, kunci keselamatan dan maklumat peranti fizikal syarikat, dalam direktori. Sama seperti SQL, LDAP ialah protokol carian dengan sintaks pertanyaan dan risiko kemungkinan serangan suntikan. Suntikan LDAP merujuk kepada kaedah serangan di mana rentetan input apabila klien menghantar permintaan pertanyaan mengandungi beberapa aksara khas, menyebabkan struktur pertanyaan asal LDAP diubah suai, dengan itu membenarkan akses kepada lebih banyak data yang tidak dibenarkan.

Artikel ini mengambil kod sumber bahasa JAVA sebagai contoh untuk menganalisis punca dan kaedah pembaikan kerentanan suntikan LDAP dalam CWE ID 90: Peneutralan Tidak Betul Elemen Khas yang digunakan dalam Pertanyaan LDAP ('Suntikan LDAP') sampel. Untuk butiran, sila lihat:

  • CWE ID 90: Peneutralan Tidak Betul Elemen Khas yang digunakan dalam Pertanyaan LDAP ('Suntikan LDAP')

    http:/ /cwe .mitre.org/data/definitions/90.html

  • ID CWE 639: Pintasan Kebenaran Melalui Kunci Kawalan Pengguna

    http://cwe.mitre. org/ data/definitions/639.html

2 Bahaya suntikan LDAP

Suntikan LDAP diperkenalkan. oleh pengguna Parameter menjana pertanyaan LDAP berniat jahat untuk memintas kawalan akses dan peningkatan keistimewaan pengguna dengan membina penapis LDAP. Melalui pembinaan penapis biasa, suntikan operasi DAN dan ATAU dilaksanakan untuk mendapatkan maklumat sensitif.

Dari Januari 2018 hingga Januari 2019, terdapat sejumlah 4 maklumat kerentanan yang berkaitan dengannya dalam CVE. Beberapa kelemahan adalah seperti berikut:

CVE 编号 概述
CVE-2018-12689 phpLDAPadmin 1.2.2 允许通过 cmd.php?cmd = loginform 请求中精心设计的 serverid 参数或登录面板中精心设计的用户名和密码进行 LDAP 注入。
CVE-2018-5730 MIT krb5 1.6 或更高版本允许经过身份验证的 kadmin 将主体添加到 LDAP Kerberos 数据库,以通过提供 “linkdn” 和 “containerdn” 数据库参数来绕过DN容器检查,或者通过提供作为扩展的DN字符串来绕过 DN 容器检查。
CVE-2016-8750 4.0.8 之前的 Apache Karaf 使用 LDAPLoginModule 通过 LDAP 对用户进行身份验证。但是没有正确编码用户名,因此容易受到 LDAP 注入攻击,导致拒绝服务。
CVE-2011-4069 PacketFence 3.0.2 之前的 html / admin / login.php 允许远程攻击者进行 LDAP 注入攻击,从而通过精心设计的用户名绕过身份验证。

3. Kod sampel

Sampel datang daripada Samate Juliet Test Suite untuk Java v1.3 (https://samate.nist.gov/SARD/testsuite.php), sumber Nama fail: CWE90_LDAP_Injection__connect_tcp_01.java.

3.1 Kod Kecacatan

Bagaimana untuk memahami suntikan LDAPBagaimana untuk memahami suntikan LDAP

Dalam baris 39-61 kod contoh di atas, atur cara membuat sambungan TCP dan membaca Soket Data diberikan kepada pembolehubah data, pernyataan pertanyaan LDAP dibina secara dinamik pada baris 118 dan dilaksanakan pada baris 119. LDAP merangkum kelas objek biasa untuk organisasi kakitangan Sebagai contoh, seseorang mengandungi atribut seperti nama akhir (sn), nama pertama (cn), nombor telefon (Nombor telefon) dan kata laluan (userPassword). Pertanyaan ini adalah untuk mengesahkan sama ada terdapat pekerja bernama pembolehubah data, tetapi ia tidak melakukan sebarang penapisan pada kandungan pembolehubah data. Menggunakan kaedah suntikan yang paling mudah, jika nilai parameter masuk ialah "*", maka keadaan pertanyaan dinamik yang dibina ialah "(cn=*)", yang boleh menanyakan maklumat semua pekerja, yang membawa kepada kebocoran maklumat.

Selepas menguji kod sampel di atas dengan 360 Code Guard, didapati terdapat kelemahan "suntikan LDAP" dan tahap keselamatan dinilai sebagai tinggi. Sumber pencemaran data dan arah aliran data boleh diperolehi melalui analisis laluan surih dan kecacatan dilaporkan pada baris 120 kod, seperti ditunjukkan dalam Rajah 1. Contoh pengesanan


3.2 Kod pembaikanBagaimana untuk memahami suntikan LDAP

Dalam kod pembaikan di atas, baris 119 dibungkus dengan

Kelas lanjutan

menerima parameter yang perlu diproses pada baris 120 , objek
memanggil kaedah Bagaimana untuk memahami suntikan LDAP untuk mengekod parameter yang diterima

Nilai yang dikodkan ialah

nilai pengekodan yang sepadan dengan aksara. Tatasusunan bait yang dikodkan tidak mengandungi aksara khas yang terlibat dalam penghuraian arahan, dan pernyataan pertanyaan LDAP dengan struktur dan kandungan biasa boleh dibina, dengan itu mengelakkan berlakunya suntikan LDAP. javax.naming.ldapBaseControlGunakan 360 ​​Code Guard untuk mengesan kod yang telah dibaiki dan anda dapat melihat bahawa kecacatan "suntikan LDAP" tidak lagi wujud. Seperti yang ditunjukkan dalam Rajah 2: controlgetEncodedValue()dataASN.1BER

Rajah 2: Hasil pengesanan selepas pembaikan


4. Cara mengelakkan suntikan LDAPBagaimana untuk memahami suntikan LDAP

Punca suntikan LDAP ialah penyerang menggunakan aksara meta LDAP untuk mengubah suai maksud pertanyaan LDAP. Apabila membina penapis LDAP, pengaturcara perlu menjelaskan aksara yang harus dianggap sebagai penghuraian arahan dan aksara yang harus dianggap sebagai penghuraian data. Untuk mengelakkan penyerang daripada melanggar pelbagai situasi pratetap pengaturcara, kaedah senarai putih harus digunakan untuk memastikan nilai yang dikawal pengguna dalam pertanyaan LDAP datang sepenuhnya daripada set aksara yang telah ditetapkan dan tidak boleh mengandungi sebarang aksara meta LDAP. Jika keperluan julat berangka yang dikawal pengguna mesti mengandungi aksara meta LDAP, mekanisme pengekodan yang sepadan harus digunakan untuk mengelakkan maksud aksara meta ini dalam pertanyaan LDAP.

Suka &,! , |, =, ,,, +, -, ", ',; aksara ini tidak digunakan dalam keadaan biasa. Jika ia muncul dalam input pengguna, ia perlu dilepaskan dengan garis miring ke belakang.

    Terdapat juga aksara seperti (,),,*,/,NUL yang bukan sahaja perlu dirawat dengan garis miring ke belakang, tetapi juga perlu ditukar kepada nilai kod ASCII yang sepadan
  • .

Atas ialah kandungan terperinci Bagaimana untuk memahami suntikan LDAP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memahami suntikan LDAP Bagaimana untuk memahami suntikan LDAP May 22, 2023 pm 09:47 PM

1. Suntikan LDAP LDAP (Light Directory Access Portocol) ialah protokol akses direktori ringan berdasarkan standard X.500 Ia menyediakan perkhidmatan dan protokol untuk mengakses pangkalan data direktori. Ia sering digunakan untuk membentuk perkhidmatan direktori dengan pangkalan data direktori. Direktori ialah pangkalan data teragih profesional yang dioptimumkan untuk pertanyaan, menyemak imbas dan carian Ia mengatur data dalam struktur pokok, serupa dengan direktori fail dalam sistem Linux/Unix. Data yang tidak kerap diubah suai, seperti sijil awam, kunci keselamatan dan maklumat peranti fizikal syarikat, sesuai untuk penyimpanan dalam direktori. LDAP boleh difahami sebagai protokol carian, yang serupa dengan SQL dan mempunyai sintaks pertanyaan, tetapi juga mempunyai risiko serangan suntikan. Suntikan LDAP merujuk kepada pelanggan

Cara menjalankan latihan jarak jauh dengan suntikan LDAP kotak lebah Cara menjalankan latihan jarak jauh dengan suntikan LDAP kotak lebah May 13, 2023 am 09:49 AM

Jika intipati suntikan sql adalah untuk menyambung rentetan, maka intipati segala yang boleh disuntik adalah untuk menyambungkan rentetan LDAP tidak terkecuali sebagai sejenis suntikan Apa yang lebih menarik adalah bahawa ia adalah kurungan splicing juga menggabungkan kurungan, tetapi lebih konvensional untuk mengatakan bahawa ia menggabungkan rentetan). Dalam bab konfigurasi persekitaran, konfigurasi persekitaran ldap dalam kotak lebah telah dibincangkan secara terperinci Bab latihan jarak tembak adalah lebih lanjut mengenai proses sambungan antara php dan ldap, pengenalan fungsi khas yang digunakan di tengah, dan. beberapa teknik penyambungan kurungan. Mari kita bincangkan dahulu tentang proses log masuk julat penangkapan ldap di bwapp: Pertama, ini ialah antara muka log masuk LDAP, URLnya ialah http://192.168.3.184/bW

Cara mengkonfigurasi persekitaran untuk suntikan LDAP kotak lebah Cara mengkonfigurasi persekitaran untuk suntikan LDAP kotak lebah May 12, 2023 pm 08:37 PM

1. Gambaran Keseluruhan Menurut proses pembelajaran saya, saya mesti tahu apakah model dan kelemahan serangan web saya Sekarang saya telah menghadapi situasi yang tidak dijangka menemui yang tidak popular (dibenarkan) dan menarik minat saya terhadapnya. Konsep LDAP: Nama penuh: Lightweight Directory Access Protocol (Lightweight Directory Access Protocol), ciri: Saya tidak akan bercakap tentang protokol, ia terlalu esoterik, ia boleh difahami sebagai pangkalan data untuk menyimpan data, ciri khasnya ialah ia adalah pokok Pangkalan data dalam bentuk pangkalan data Pertama, nama pangkalan data adalah bersamaan dengan akar pokok (iaitu DB=dc), dan kemudian proses dari akar ke nod daun adalah.

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined ldap_bind() Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined ldap_bind() Jun 22, 2023 pm 11:37 PM

Apabila membangunkan aplikasi web menggunakan PHP, kita selalunya perlu menggunakan pengesahan LDAP untuk melindungi akses aplikasi. Walau bagaimanapun, dalam beberapa kes, apabila kami cuba menggunakan fungsi LDAP PHP untuk melaksanakan pengesahan, kami mungkin menghadapi mesej ralat berikut: "PHPFatalerror:Calltoundefinedfunctionldap_bind()". Mesej ralat ini biasanya berlaku apabila aplikasi memanggil fungsi ldap_bind().

Menggunakan LDAP untuk pengesahan pengguna dalam PHP Menggunakan LDAP untuk pengesahan pengguna dalam PHP Jun 20, 2023 pm 10:25 PM

LDAP (LightweightDirectoryAccessProtocol) ialah protokol untuk mengakses perkhidmatan direktori teragih. Ia boleh digunakan untuk tugas seperti pengesahan pengguna, kebenaran, penyelenggaraan akaun dan penyimpanan data. Dalam aplikasi PHP, LDAP boleh digunakan sebagai mekanisme pengesahan yang berkuasa untuk menyediakan fungsi pengesahan dan kebenaran yang berkuasa untuk aplikasi. Artikel ini akan memperkenalkan cara menggunakan LDAP untuk pengesahan pengguna dalam PHP Kandungan khusus termasuk: Pemasangan dan konfigurasi L

Cara menggunakan Nginx untuk melindungi daripada serangan suntikan LDAP Cara menggunakan Nginx untuk melindungi daripada serangan suntikan LDAP Jun 10, 2023 pm 08:19 PM

Dengan peningkatan dalam kelemahan keselamatan rangkaian, serangan suntikan LDAP telah menjadi risiko keselamatan yang dihadapi oleh banyak tapak web. Untuk melindungi keselamatan tapak web dan mencegah serangan suntikan LDAP, beberapa langkah keselamatan perlu digunakan. Antaranya, Nginx, sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, boleh memberikan kami banyak kemudahan dan perlindungan. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk mencegah serangan suntikan LDAP. Serangan suntikan LDAP Serangan suntikan LDAP ialah kaedah serangan yang menyasarkan pangkalan data LDAP yang digunakan oleh penyerang

Bagaimana untuk melindungi daripada kelemahan suntikan LDAP menggunakan PHP Bagaimana untuk melindungi daripada kelemahan suntikan LDAP menggunakan PHP Jun 24, 2023 am 10:40 AM

Memandangkan isu keselamatan rangkaian semakin mendapat perhatian, semakin ramai pengaturcara mula memberi perhatian dan mempelajari cara menghalang kod daripada diserang. Antaranya, kaedah serangan biasa termasuk suntikan SQL, XSS, CSRF, dll. Walau bagaimanapun, terdapat satu lagi kaedah serangan biasa yang dipandang remeh: kelemahan suntikan LDAP. Artikel ini akan memperkenalkan prinsip kaedah serangan ini dan cara menggunakan PHP untuk mencegah kelemahan suntikan LDAP. LDAP pengenalan LDAP (LightweightDirectoryAccessProtocol)

Cara menggunakan PHP dan LDAP untuk melaksanakan pengurusan dan kebenaran kumpulan pengguna Cara menggunakan PHP dan LDAP untuk melaksanakan pengurusan dan kebenaran kumpulan pengguna Jun 25, 2023 am 08:22 AM

Memandangkan skala perusahaan dan keperluan perniagaan terus berkembang, pengurusan dan kebenaran kumpulan pengguna telah menjadi bahagian penting. LDAP (Lightweight Directory Access Protocol), sebagai protokol perkhidmatan direktori yang digunakan secara meluas dalam rangkaian perusahaan, menyediakan cara yang cekap untuk melaksanakan pengurusan dan kebenaran kumpulan pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP dan LDAP untuk melaksanakan pengurusan dan kebenaran kumpulan pengguna. 1. Apakah itu LDAP LDAP ialah protokol akses direktori ringan yang digunakan secara meluas sebagai protokol perkhidmatan direktori dalam rangkaian perusahaan. LDAP adalah berasaskan pelanggan/pelayan

See all articles