URL'leri temizlemek için mod yeniden yazma (veya bunun gibi bir şey) kullanan bir url ile sqlmap kullanarak SQL enjeksiyon güvenlik açıklarını test etmek mümkün müdür?
URL'leri olan sitelerimi test etmeyi biliyorum:
http://mysite.com/?id=1
Peki temiz URL'leri olan sitelerim hakkında:
http://mysite.com/1
Kullanmalısın
* URI'nizde URI enjeksiyon noktaları oluşturun. Yani kullanmak yerine:
sqlmap.py -u "website.com/script/paramrewrited1/paramrewrited2"
kullanın:
sqlmap.py -u "website.com/script/paramrewrited1*/paramrewrited2*"
Daha fazla kullanım seçeneği için sqlmap wiki konusuna bakın. Bu sayfadan:
URI enjeksiyon noktası
Enjeksiyon noktasının URI içinde olduğu özel durumlar vardır. sqlmap, elle işaret edilmedikçe URI yollarına karşı otomatik bir test yapmaz. Bu enjeksiyon noktalarını komut satırında yıldız işareti (
*) sqlmap'ın bir SQL enjeksiyonunu test etmesini ve kullanmasını istediğiniz her URI noktasından sonra.
Bu, özellikle Apache web sunucusunun mod_rewrite modülü kullanımda veya benzer teknolojiler olduğunda kullanışlıdır.
Geçerli bir komut satırı örneği:
$ python sqlmap.py -u "http://targeturl/param1/value1*/param2/value2/"
Sorunuzu anlarsam, sqlmap'ın bu durumla başa çıkmak için tasarlanmadığına inanıyorum (web sunucusu istek parametrelerini nasıl temsil edileceği için web standartlarına uymuyor). Birkaç seçenek düşünebilirim:
RL yeniden yazmayı kapat. sqlmap'i çalıştırmanıza izin vermek için web sunucunuzda istek parametresi yeniden yazmayı geçici olarak kapatın (bunu yapmanın kolay bir yolu varsa).
POST isteklerini deneyin. Web sunucunuzun GET istekleri için istek parametrelerini standart olmayan bir şekilde kodladığını bize gösterdiniz. POST istekleri için istek parametrelerini nasıl kodlar? Web sunucusu istek parametrelerini daha standart bir şekilde aktarıyorsa ve her bir isteğe GET ve POST (yanlış yapılandırma, ancak ortak bir yapılandırma) üzerinden erişilebiliyorsa, sunucunuzu POST istekleri GET istekleri yerine. Sqlmap için
--data Seçeneğine bakın.
Başka bir araç kullanın. Başka bir araç arayın, çünkü sqlmap bu durum için tasarlanmış görünmüyor.
sqlmap'i değiştir. sqlmap açık kaynak. Kaynak koduna dalabilir ve aklınızdaki kullanım durumunu desteklemek için genişletebilirsiniz. (Sqlmap
-p Seçeneğini işleyen koda bakmak isteyebilirsiniz. Heck, ücretsiz; alışılmadık bir durumunuz varsa, bunun zaten başa çıkmayabileceğini ve kendi başınıza biraz iş yapmanız gerekebileceğini beklemeniz gerekir. Bu rotayı izlerseniz, kodunuzu sqlmap destekçilerine bağışlayarak topluluğa geri verin.