TR | Netsparker ile Web Uygulama Sızma Testleri

24 Temmuz 2018 Salı

TR | Netsparker ile Web Uygulama Sızma Testleri




Herkese Selamlar,

Bu post Netsparker ile yapılan bir web uygulama testini simüle edip false positive oranları, optimizasyon ve diğer uygulama tarayıcalarından farkları hakkında teknik bilgiler içerecek.

Uygulamanın demo sürümüne burdan ulaşabilirsiniz

Netsparker 

Netsparker, web sitesinin geliştirildiği dil ya da teknolojiye bakmaksızın, platformdan bağımsız bir şekilde SQL Injection ve Cross-site Scripting (XSS) gibi güvenlik açıklarını tespit eder ve çözüm önerilerini de içerecek şekilde tüm detaylarıyla size raporlar. 

Ayrıca Netsparker, kendine özgü tarama teknolojileri sayesinde güvenlik açıklarını tespit etmekle kalmayıp, bu güvenlik açıklarının gerçekten var olduğuna dair kanıt sunar. 

Böylelikle Netsparker’ın size sunduğu sonuçların doğruluğunu kontrol etmeniz gerekmez.

Ilk Tarama


Bu simülasyonda test edeceğimiz web servis http://php.testsparker.com adresinde barınmaktadır. Üzerinde Netsparker koşturmadan önce adrese gidip herhangi bir login page var mı diye göz atıyorum



Bunun sebebi Netsparker'ın unauthentication ile tarama yapmasının yanı sıra authentication yaparak uygulama içerisinde ki sayfalarda da zaafiyet araştırması yapmasını istememiz.

Uygulamayı indirip kurduktan sonra resimdeki gibi bir arayüz ile karşılaşıyoruz



Öncelikle options butonuna tıklayarak seçenekleri görüntülüyoruz.


Tarama poliçesi bölümünden Netsparker'ın sağlıklı sonuçlar verebilmesi için hedef sistem hakkında bilgiler girmemiz gerekiyor.

Bu bilgiler kısaca uygulamanın barındığı sunucunun işletim sistemi uygulamanın dili kullandığı web servis vs.

Bu noktada girilen bilgiler oldukça önemli. Netsparker'ın sistem üzerinde doğru payloadları yakalaması için optimize edilmiş bir tarama poliçesine ihtiyacımız var böylelikle uygulamadan daha sağlıklı sonuçlar alabileceğiz.

Hedef sistem hakkında istenilen bilgileri "Shodan", "Nmap" ve  "Sayfa Kaynağından" elde edebilirsiniz.

Ardından bir diğer önemli nokta olan eğer uygulama üzerinde bir erişimimiz var ise "Form" sekmesinden giriş path'ini ve credentials girmemiz.



Tüm bunlardan sonra taramayı başlatıyorum. Start Scan seçeneğinden sonra Netsparker bir pencere açıp uygulama üzerinde authentication yapıp uygulama içerisinde ki sayfalarda da testlerini yapmaya başladı



3 aşamadan oluşan tarama sırasında Netsparker arka planda crawling yaparak uygulama içerisinde ki dizin ve scriptleri buluyor. Bunun yanı sıra kendi wordlisti ile backup dizinleride keşfediyor.


Resimde sol üst köşede tarama hızı ve yollanan request sayısı hakkında  bilgi sahibi olabiliriz orta bölümde sayfaları ve yollanan payloadları , onun hemen altında iste seviyelerine göre zaafiyetleri görebiliriz.

Netsparkeri diğer uygulama güvenliği tarayıcılarından ayıran nokta false positive uyarı vermemek için zaafiyetin türüne göre dışarıya bilgi çıkarması.

Rastgele bir zaafiyeti açarak request ve responsları inceliyorum.




Açılan pencerede Netsparker bize adresi, saldırıdan etkilenen parametreyi, PoC adresini ve payload'ı veriyor.

Netsparkerın payloadını incelediğimiz zaman

'"--></style></scRipt><scRipt>netsparker(0x000438)</scRipt>

Şeklinde bir payload kullandığını görüyoruz. Burada sadece script taglarını açarak da alert verdirebilirdi fakat yukarıdaki şekilde bir payload'ı kullanmasının sebebi eğer varsa contextlerden kaçmasıdır .

Bu çoğu zaman için iyi bir payloadtır.

Bir başka zaafiyeti incelediğimiz zaman




Boolen based tabanlı sql injection bulduğunu görüyoruz. HTTP Request ve Response sekmesinden Netsparker'ın açıklık için yolladığı isteği ve dönen cevabı görebiliyoruz.

Aynı zamanda zaafiyetin response adresini Browser view sekmesinden tarayıcı tabanlı gösterebiliyoruz.




Rakiplerini geride bırakmasında en önemli rolü false positive sonuçları çok büyük ölçüde engellemiş olması.


0 yorum :

Yorum Gönder