it-swarm-id.com

Menguji url bersih dengan sqlmap

Apakah mungkin untuk menguji kerentanan injeksi SQL dengan menggunakan sqlmap dengan url yang menggunakan mod menulis ulang (atau sesuatu seperti itu) untuk membuat url bersih?

Saya tahu cara menguji situs saya yang memiliki url seperti: http://mysite.com/?id=1

Tapi bagaimana dengan situs saya yang memiliki url bersih, seperti: http://mysite.com/1

19
chadgh

Kamu harus menggunakan * di URI Anda, membuat titik injeksi URI. Jadi alih-alih menggunakan:

sqlmap.py -u "website.com/script/paramrewrited1/paramrewrited2"

menggunakan:

sqlmap.py -u "website.com/script/paramrewrited1*/paramrewrited2*"

Lihat sqlmap wiki untuk opsi penggunaan lainnya. Dari halaman itu:

Titik injeksi URI

Ada beberapa kasus khusus ketika titik injeksi berada di dalam URI itu sendiri. sqlmap tidak melakukan pengujian otomatis terhadap jalur URI, kecuali jika diarahkan secara manual. Anda harus menentukan titik injeksi ini di baris perintah dengan menambahkan tanda bintang (*) setelah setiap titik URI yang Anda inginkan sqlmap untuk menguji dan mengeksploitasi injeksi SQL.

Ini sangat berguna ketika, misalnya, modul server web Apache mod_rewrite sedang digunakan atau teknologi serupa lainnya.

Contoh dari baris perintah yang valid adalah:

$ python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/"
24
dz.

Jika saya memahami pertanyaan Anda, saya yakin sqlmap tidak dirancang untuk menangani situasi ini (di mana server web tidak mengikuti standar web untuk cara mewakili parameter permintaan). Jadi, saya dapat memikirkan beberapa opsi:

  1. Matikan penulisan ulang URL. Nonaktifkan sementara parameter penulisan ulang pada server web Anda (jika ada cara mudah untuk melakukannya), untuk membiarkan Anda menjalankan sqlmap.

  2. Coba POST permintaan. Anda menunjukkan kepada kami bahwa server web Anda menyandikan parameter permintaan untuk GET permintaan secara non-standar. Bagaimana cara menyandikan parameter permintaan untuk POST permintaan? Jika ia menyampaikan server web menyandikan parameter permintaan dengan cara yang lebih standar, dan jika setiap permintaan dapat diakses melalui GET dan POST (kesalahan konfigurasi, tetapi yang umum satu), Anda dapat menguji server Anda dengan mengirim POST permintaan, bukan MENDAPATKAN permintaan. Lihat --data pilihan ke sqlmap.

  3. Gunakan beberapa alat lain. Cari beberapa alat lain, karena sqlmap tampaknya tidak dirancang untuk kasus khusus ini.

  4. bah sqlmap. sqlmap adalah open source. Anda bisa masuk ke kode sumber dan memperluasnya untuk mendukung kasus penggunaan yang ada dalam pikiran Anda. (Anda mungkin ingin melihat kode yang menangani -p pilihan ke sqlmap.) Heck, gratis; Anda harus berharap bahwa jika Anda memiliki situasi yang tidak biasa, itu mungkin belum menanganinya, dan Anda mungkin harus melakukan sedikit pekerjaan sendiri. Jika Anda mengikuti rute ini, berikan kembali kepada komunitas dengan menyumbangkan kode Anda ke pengelola sqlmap.

3
D.W.