26 Temmuz 2013 Cuma

SQL Injection HPP WAF bypass

SQL Injection Saldırılarında HTTP Parameter Pollution (HPP) Zafiyetinden Yararlanarak Güvenlik Duvarını Aşma (HPP WAF bypass)

Bir url üzerinde aynı parametre isminin birden fazla geçmesinin belli bir standardı olmadığından farklı platformlar üzerinde farklı yorumlanmasına sebep olmaktadır. 

Bazı Sunuculara göre HPP Yorumlaması 


Buradan bir örnekle güvelik duvarını nasıl aşacağımızdan bahsedelim. 

Örneğin ASP/IIS Sunucusunu ele alalım. 

Kod:
localhost/?id=1 union select username,password from users--
şeklinde bir sorgu yaptığımız zaman güvenlik sisteminin bu saldırıya izin vermediğini düşünelim. 

Yukarıdaki tabloda IIS sunucuda birden fazla aynı parametreyi yolladığımızda yollanan parametre değerleri arasına virgül koyduktan sonra birleştirip işlediğini görüyoruz. 

Örneğin sorguyu bu hale getirdiğimizi düşünelim. 

Kod:
localhost/?id=1 union/*&id=*/select/*&id=*/username&id=password/*&id=*/from users--
Sunucu browserdan aldığı bu url'yi sorgu içinde şu şekilde işleyecektir. 

Kod:
1 union/*,*/select/*,*/username,password/*,*/from users--
Yukarıda gördüğümüz şekilde sorgumuzu güvenliğe yakalanmadan işletmiş olduk. Tabi ki sorguyu yollama şekli arttırılıp çeşitlendirilebilir. Replace fonksiyonlarının mantığına göre farklı yöntemler üretilebilir.

Hiç yorum yok:

Yorum Gönder