Jadual Kandungan
Penjelasan terperinci tentang fungsi LDAP sambungan php
Pengenalan kepada fail php hasil pertanyaan LDAP
Pengenalan ringkas kepada sintaks penyambungan suntikan LDAP
Rumah Operasi dan penyelenggaraan Keselamatan 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
ldap bee-box

Jika intipati SQL injection adalah splicing strings, maka intipati segala yang boleh disuntik adalah splicing strings tidak terkecuali sebagai sejenis suntikan 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, dan pengenalan fungsi khas yang digunakan dalam proses. Beberapa petua untuk menyambung kurungan.

Mari kita bincangkan tentang proses log masuk julat menembak ldap di bwapp:

如何进行bee-box LDAP注入的靶场练习

Pertama sekali, ini ialah antara muka log masuk LDAP, URL ialah http://192.168.3.184/bWAPP/ldap_connect.php, lihat apa yang tertulis dalam fail php ini.

Penjelasan terperinci tentang fungsi LDAP sambungan php

如何进行bee-box LDAP注入的靶场练习

Bermula dari kod 133 fail ldap_connect.php, lima pembolehubah ialah $message, $login, $ kata laluan, $server, $dn.

Untuk apakah yang pertama daripada lima pembolehubah ini Yang kedua ialah nama pengguna untuk log masuk ke pelayan ldap, yang ketiga ialah kata laluan, yang keempat ialah alamat pelayan, dan yang kelima ialah nama yang terkenal (terangkan satu laluan LDAP penuh).

Pernyataan if pertama adalah untuk mengosongkan borang LDAP log masuk, dan pernyataan if kedua adalah untuk menentukan sama ada lima pembolehubah ini adalah nilai nol Perkara utama ialah perkara berikut else Pada permulaannya, terdapat beberapa pernyataan if and else Mari kita pergi satu persatu.

如何进行bee-box LDAP注入的靶场练习

Pertama lihat tiga fungsi ldap_connect, ldap_set_option, ldap_bind sebelum yang pertama if, dan terangkan fungsi ketiga-tiga fungsi ini secara bergilir.

ldap_connect: digunakan untuk menyambung ke pangkalan data ldap, formatnya seperti berikut

$server = “localhost”

$LDAPCONN=LDAP_Connect($server)

Jika $ Nilai pulangan LDAPCONN ialah jenis angka Apabila hasil pulangan ialah 0, sambungan gagal dan apabila hasil pulangan ialah nilai lain, sambungan berjaya.

ldap_set_option($link_identifier,$option, &$retval): Menerima tiga parameter

$link_identifier

Pengecam sambungan LDAP dikembalikan oleh fungsi ldap_connect() (menentukan LDAP Sama ada sambungan berjaya)

Nilai yang boleh diterima untuk $option adalah seperti berikut:

LDAP_OPT_DEREF(int): Cara mengendalikan alias semasa mencari, julat nilai adalah seperti berikut: LDAP_DEREF_NEVER (0, nilai lalai), LDAP_DEREF_SEARCHING (1), LDAP_DEREF_FINDING(2), LDAP_DEREF_ALWAYS(3)

LDAP_OPT_NETWORK_TIMEOUT(int): Tamat masa rangkaian saat, LDAP_NO_LIMIT(0, nilai lalai) bermaksud tidak pernah tamat masa.

LDAP_OPT_PROTOCOL_VERSION(int): Menentukan versi protokol LDAP yang digunakan, julat nilai adalah seperti berikut: LDAP_VERSION2 (2, nilai lalai), LDAP_VERSION3 (3).

LDAP_OPT_REFERRALS(bool): Sama ada pustaka LDAP secara automatik mengikut rujukan yang dikembalikan oleh pelayan LDAP Julat nilai adalah seperti berikut: TRUE (1, nilai lalai), FALSE (0).

&$retval Pembolehubah yang menerima nilai pilihan

Sebagai contoh, kod dalam bwapp:

ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION, 3);

Ayat ini Maksud kod ialah jika sambungan ldap berjaya, maka nyatakan protokol yang digunakan oleh LDAP sebagai versi 3. (Tidak perlu terperinci di sini, semuanya adalah format yang berkenaan)

ldap_bind($link_identifier,$bind_rdn,$bind_password)

$link_identifier: LDAP sambungan pengecam dikembalikan oleh fungsi ldap_connect() (tentukan LDAP sama ada sambungan berjaya)

$bind_rdn: Gunakan rdn yang ditentukan, iaitu laluan log masuk, seperti cn=admin,dc=bwapp,dc=local

$ bind_password: Tentukan kata laluan log masuk.

ldap_search($link_identifier, $dn,$filter): Fungsi carian direktori LDAP, berjaya mengembalikan deskriptor sumber set hasil, yang biasanya dirujuk oleh fungsi lain sebagai $result_identifier dan mengembalikan FALSE apabila gagal.

$link_identifier: pengecam sambungan LDAP dikembalikan oleh fungsi ldap_connect() (untuk menentukan sama ada sambungan berjaya)

$dn: DN direktori yang hendak dicari

$filter: Cari penapis. Contohnya, "(objectClass=*)" bermaksud mencari semua entri (untuk fungsi baca, ia bermaksud semua atribut).

Kod sumber dalam bwapp: ldap_search($ds, $dn,$filter), di mana $ds=ldap_connect(),

$dn="DC=bwapp,DC=local", $filter=(cn=*) (iaitu, semua julat cn). Ketiga-tiga parameter ini menunjukkan bahawa fungsi ldap_search menunjukkan bahawa semua direktori pelayan semasa ditanya (berbanding dengan bwapp).

ldap_count_entries($link_identifier,$search): Mengembalikan bilangan hasil pertanyaan

$link_identifier: Pengecam sambungan LDAP dikembalikan oleh fungsi dap_connect() (untuk menentukan sama ada sambungan berjaya)

$search:= ldap_search($link_identifier, $dn, $filter) mengembalikan set hasil pertanyaan.

Pada ketika ini fungsi telah hampir dianalisis, mari kita lihat idea umum fail sambungan ini.

如何进行bee-box LDAP注入的靶场练习

Dari baris 149 hingga 163, kod menentukan sama ada pelbagai nilai yang diperolehi adalah kosong Jika ia kosong, mesej segera dilemparkan.

如何进行bee-box LDAP注入的靶场练习

Baris 165 hingga 198 digunakan untuk menentukan sama ada talian 165 hingga 184 digunakan untuk menentukan sama ada perkhidmatan ldap wujud ialah nama pembezaan (bersamaan dengan nama pangkalan data).

如何进行bee-box LDAP注入的靶场练习

Dari baris 200 hingga baris 236 adalah untuk menentukan sama ada dn yang sepadan wujud, iaitu sama ada laluan ldap yang sepadan wujud Jika ia tidak wujud, mesej gesaan yang sepadan akan dilemparkan Jika wujud Panggil ldapi.php, iaitu pertanyaan ldap. Selepas mendapat keputusan pertanyaan dalam ldapi, hasilnya adalah output sebagai jadual.

Pengenalan kepada fail php hasil pertanyaan LDAP

Tempat di mana jadual dikeluarkan adalah dalam fail ldapi.php Seterusnya, lihat kod dalam ldapi.php.

Mulakan terus dari baris 231. Dari baris 231 hingga baris 240 semuanya disebutkan di atas di atas. Bahagian

如何进行bee-box LDAP注入的靶场练习

Jika direktori LDAP berjaya diikat, pertanyaan akan bermula dari baris 242

如何进行bee-box LDAP注入的靶场练习

Daripada menerima nilai pengguna parameter POST kepada mewujudkan alias ($search_field_1, $search_field_2, $search_field_3) dan menentukan penapis ($filter) (penapis ialah pernyataan pertanyaan, serupa dengan pernyataan sql) , peraturan sintaks adalah seperti berikut:

运算符   字符   用途  
等号   =   创建一个要求某一字段必须拥有给定值的过滤器。  
任何   *   代表可以等于除 NULL 以外任何值的字段。  
括号   ( )   分离过滤器,以让其他逻辑运算符发挥作用。  
与   &   结合过滤器。相应系列的所有条件都必须为真。  
或   |   结合过滤器。相应系列中必须至少有一个条件为真。  
非   !   排除符合过滤条件的所有对象。  

Kembalikan semua objek yang mungkin menyebabkan masalah pemuatan:

objectClass=*

Kembalikan semua objek pengguna yang dinyatakan sebagai "orang":

(&(objectClass =user) (objectCategory=person))

Kembalikan senarai mel sahaja:

(objectCategory=group)

Kembalikan folder awam sahaja:

(objectCategory=publicfolder)

Mengembalikan semua objek pengguna, tetapi tidak termasuk objek pengguna yang alamat e-mel utamanya bermula dengan "ujian":

(&(&(objectClass=user)(objectCategory=person ))(!(mail =test*)))

Mengembalikan semua objek pengguna kecuali objek yang alamat e-mel utamanya berakhir dengan "test":

(&(&(objectClass =user)(objectCategory=person))( !(mail=*test)))

Mengembalikan semua objek pengguna, tetapi tidak termasuk objek yang alamat e-mel utamanya mengandungi perkataan "test":

(&(&(objectClass=user)( objectCategory=person))(!(mail=*test*)))

Mengembalikan semua fail yang dinyatakan sebagai "orang" dan tergolong dalam kumpulan tertentu Atau tetapkan senarai semua objek pengguna dan objek alias:

(|(&(objectClass=user)(objectCategory=person))(objectCategory=group))

Mengembalikan semua objek yang dinyatakan sebagai objek pengguna "orang", semua objek kumpulan dan semua kenalan, tetapi kecualikan sebarang objek yang nilainya ditakrifkan sebagai "extensionAttribute9":

(&(|((|(&(objectClass=user)(objectCategory =person))(objectCategory=group))(objectClass=contact) )(!(extensionAttribute9=*)))

Kembalikan semua pengenalan DN (CN=GRoup,OU=Users,DC=Domain,DC) Pengguna yang merupakan ahli kumpulan:

( &(objectClass=user)(objectCategory=person)(memberof=CN=Group,CN=Users,DC=Domain,DC=com))

Mengembalikan semua pengguna:

Microsoft® Active Directory® LDAP Server: (&(objectCategory=person)(objectClass=user))

OpenLDAP™ Server: (objectClass=inetOrgPerson)

IBM® Notes®Domino LDAP Server: (objectClass= dominoPerson)

Cari IBM Notes Domino LDAP untuk semua objek yang alamat e-melnya ditakrifkan sebagai "orang" atau "kumpulan":

(&(|(objectClass=dominoPerson)(objectClass=dominoGroup) (objectClass=dominoServerMailInDatabase))(mail=*))

Direktori Aktif: Mengembalikan semua pengguna yang sah (tidak dinyahaktifkan) dengan alamat e-mel:

(&(objectCategory=person)(objectClass=user )(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

Kembali ke semua kumpulan DN Kumpulan mengenal pasti pengguna yang menjadi ahli Kumpulan_1 atau Kumpulan_2.

(&(objectClass=user)(objectCategory=person)(|(memberof=CN=Group_1,cn=Users,DC=Domain,DC=com)(memberof=CN=Group_2,cn=Users, DC=Domain,DC=com)))

Mengembalikan semua pengguna yang nilai extensionAttribute1 ialah "Kejuruteraan" atau "Jualan"

(&(objectCategory=user)(|(extensionAttribute1=Engineering) (extensionAttribute1=Sales)))

Peraturan sintaks diperkenalkan, dan kemudian kod bermula dari 267 dianalisis

如何进行bee-box LDAP注入的靶场练习

$ldap_fields_to_find mentakrifkan tatasusunan untuk memudahkan Cetak borang output dan terima hasil pertanyaan ldap Gunakan $ldap_fields_to_find sebagai parameter keempat fungsi ldap_search, yang bermaksud menggunakan alias ini untuk menyimpan hasil yang diterima, iaitu, dalam bentuk pasangan nilai kunci. , dan kemudian kembalikan hasil kepada tatasusunan $info , dan akhirnya memetakan setiap kunci kepada setiap pembolehubah dari baris 287 ke baris 291, dan akhirnya menggelungkan output dan mencetak jadual Pada ketika ini, pertanyaan selesai.

Pengenalan ringkas kepada sintaks penyambungan suntikan LDAP

Memandangkan penapis LDAP adalah serupa dengan pernyataan pertanyaan sql, lihat sahaja cara menulis penapis dalam bwapp. Lihat terus pada pembolehubah $filter dalam fail ldapi.php:

$filter="(|($search_field_1=$search_for)($search_field_2=$search_for)($search_field_3=$search_for))";

Intipati pernyataan sql terletak pada penyambungan petikan tunggal, dan intipati pernyataan ldap terletak pada penyambungan kurungan.

Sekarang saya ingin menanyakan semua pengguna, hanya masukkan * terus dalam pengguna, kemudian $filter akan menjadi $filter="(|($search_field_1=*)($search_field_2=*)($ search_field_3=*) )";

Tengok keputusan dalam bwapp

如何进行bee-box LDAP注入的靶场练习

Banyak pengguna dipulangkan tetapi tidak cukup kerana saya ingin melihat pentadbir saya, maka saya akan bina penapis LDAP sedemikian.

$filter="(|($search_field_1=*)(objectclass=*)($search_field_2=*)($search_field_3=*))";

Dengan cara ini saya boleh menanyakan semua Bagi pengguna, termasuk pentadbir, objectclass=* bermaksud mencari selagi ia wujud, iaitu secara global.

Kemudian masukkan *)(objectclass=* pada pengguna.

Lihat hasilnya. Pentadbir muncul dan suntikan berjaya.

如何进行bee-box LDAP注入的靶场练习

Atas ialah kandungan terperinci Cara menjalankan latihan jarak jauh dengan suntikan LDAP kotak lebah. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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().

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

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

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