Rumah >Operasi dan penyelenggaraan >Keselamatan >Bagaimana untuk melaksanakan suntikan SQL manual

Bagaimana untuk melaksanakan suntikan SQL manual

WBOY
WBOYke hadapan
2023-05-20 19:13:302660semak imbas

Suntikan SQL ialah salah satu kaedah yang biasa digunakan oleh *** untuk menyerang pangkalan data Idea terasnya ialah: *** membina kod pertanyaan pangkalan data selepas URL biasa yang perlu memanggil data pangkalan data, dan kemudian berdasarkan. hasil yang dikembalikan , untuk mendapatkan beberapa data yang anda inginkan. Seterusnya, kami akan menggunakan kelemahan suntikan SQL untuk menyerang platform *** yang telah dibina untuk mendapatkan akaun dan kata laluan pentadbir laman web. Alamat IP pelayan sasaran: 192.168.80.129, *** alamat IP hos: 192.168.80.128.

(1) Cari titik suntikan

Buka mana-mana halaman web dan perhatikan URL.

Bagaimana untuk melaksanakan suntikan SQL manual

Titik suntikan mestilah halaman seperti "http://192.168.80.129/shownews.asp?id=7" di mana terdapat panggilan arahan, "shownews.asp ? "id=7" ialah nilai yang diluluskan oleh halaman, iaitu, "id=7" dihantar ke halaman "shownews.asp" untuk diproses.

Kami boleh menambah dan 1=1 dan dan 1=2 selepas URL ini untuk ujian.

http://192.168.80.129/shownews.asp?id=7 dan 1=1, halaman web masih boleh dipaparkan seperti biasa.

http://192.168.80.129/shownews.asp?id=7 dan 1=2, halaman web tidak boleh dipaparkan seperti biasa.

Ini menunjukkan bahawa "asp?" juga memanggil "dan 1=1" yang kami tambah sebagai parameter arahan Kemudian kami boleh membina beberapa pernyataan SQL untuk dipanggil dan dilaksanakan, dengan itu mendapatkan Maklumat yang diperlukan, ini dipanggil kelemahan suntikan. Halaman web yang boleh memanggil parameter arahan seperti ini dipanggil titik suntikan.

(2) Teka nama jadual

***Tujuan utama menjalankan laman web *** adalah untuk mendapatkan nama pengguna dan kata laluan pentadbir laman web nama pengguna dan kata laluan adalah kedua-duanya Ia disimpan dalam jadual dalam pangkalan data bahagian belakang, jadi mula-mula kita perlu meneka apa nama jadual data ini.

Nama jadual yang paling biasa digunakan ialah admin dan admin_user Kami boleh menambah pernyataan sedemikian selepas URL titik suntikan untuk meneka nama jadual:

http://192.168.80.129/shownews. asp?id=7 dan (pilih kiraan(*) daripada pentadbir) > 0

"pilih kiraan(*) daripada pentadbir" bermaksud mengira berapa banyak rekod yang terdapat dalam jadual pentadbir , maka pernyataan ini akan mendapat nilai. Selagi nilai ini dibandingkan dengan 0, hasilnya adalah betul dan halaman web harus dipaparkan seperti biasa. Sebaliknya, jika jadual pentadbir tidak wujud, maka "pilih kiraan(*) daripada pentadbir" tidak akan mendapat sebarang nilai Berbanding dengan >0, hasilnya tidak akan diwujudkan dan halaman web tidak akan dipaparkan seperti biasa.

Jika halaman web tidak boleh dipaparkan seperti biasa, anda boleh mencuba nama jadual lain sehingga ia dipaparkan seperti biasa:

http://192.168.80.129/shownews.asp?id=7 dan ( pilih count(*) daripada admin_user) > 0

http://192.168.80.129/shownews.asp?id=7 dan (pilih count(*) daripada manage_user) > > Nama jadual tapak web ini ialah manage_user.

Nama jadual biasa terutamanya termasuk: admin sysadmin manger admin123 ahli webadmin manage_user

Nota: Jika anda benar-benar tidak dapat meneka nama jadual, anda juga boleh menggunakan alatan seperti Mingxiaozi untuk membantu.

Bagaimana untuk melaksanakan suntikan SQL manual

(3) Teka bilangan medan

Langkah seterusnya ialah meneka medan mana dalam jadual ini menyimpan nama pengguna dan Kata laluan Pertama Anda perlu tahu berapa banyak medan yang terdapat dalam jadual data.

Pernyataan "tertib mengikut" digunakan di sini Maksud asal "tertib mengikut" adalah untuk mengisih mengikut medan tertentu "tertib mengikut 10" adalah untuk mengisih mengikut medan ke-10 , maka Halaman web akan dipaparkan seperti biasa Jika tidak, jika halaman web tidak dapat dipaparkan secara normal, ini bermakna medan ke-10 tidak wujud.

http://192.168.80.129/shownews.asp?id=7 tertib sebanyak 11

Dengan menggunakan kaedah ini, kita boleh mengagak bahawa jadual ini mempunyai sejumlah 11 medan.

(4) Teka nama medan

Langkah seterusnya ialah mengetahui medan mana yang menyimpan nama pengguna dan kata laluan Pernyataan pertanyaan bersama "pilihan kesatuan" digunakan di sini.

http://192.168.80.129/shownews.asp?id=7 kesatuan pilih 1,2,3,4,5,6,7,8,9,10,11 daripada manage_user

Medan yang menyimpan nama pengguna dan kata laluan akan dipaparkan di sini.

Bagaimana untuk melaksanakan suntikan SQL manualMedan yang menyimpan nama pengguna biasanya dipanggil nama pengguna, dan medan yang menyimpan kata laluan biasanya dipanggil kata laluan Gantikan medan ke-2 dan ke-3 dengan dua nama ini:

http://192.168.80.129/shownews.asp?id=7 kesatuan pilih 1,nama pengguna,kata laluan,4,5,6,7,8,9,10,11 daripada manage_user

Pada masa ini Nama pengguna dan kata laluan telah didedahkan.

Bagaimana untuk melaksanakan suntikan SQL manual

(5) Teka pintu masuk pengurusan latar belakang

Templat data selatan versi 2.0 ini sudah termasuk ciri yang dipanggil "Log Masuk Pentadbir" pautan. Pada masa kini, kebanyakan laman web tidak menyediakannya seperti ini, jadi kami biasanya perlu meneka berdasarkan pengalaman Pintu masuk pengurusan biasanya disimpan dalam subdirektori laman web bernama admin Masukkan alamat berikut http://192.168.80.129, dan ia akan secara automatik Portal pengurusan dipaparkan.

Di sini anda boleh menggunakan akaun pentadbir dan kata laluan yang telah didedahkan sebelum ini untuk log masuk, tetapi kata laluan "3acdbb255b45d296" jelas disulitkan oleh MD5.

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

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam