[Owasp-turkey] Drupageddon ( CVE-2014-3704 ) ve Key/Value Pair Payloadları

Bedirhan Urgun bedirhanurgun at gmail.com
Sun Oct 19 13:13:38 UTC 2014


Gonderdigin icin tesekkurler Mehmet.

Çok orjinal. Bir araba dolusu laf edilebilir ama prepared statement
kullanırken böylesi bir zaafiyet... Ancak PHP ile yapılabilirdi herhalde :)
Demin advisory'i ve patch'i inceledim. Hem statik hem de dinamik, hem
otomatik hem de manual analiz açılarından bakıldığında bulunması zor
gözüküyor.

Dinamik analiz ile bulunması için aşağıdaki örnekte array şeklinde
parametre değeri alan web uygulamalarının nadir olmasıni bir yana biraksak,
otomatik araclarin oncelikle parametre ismini değiştirip bütün saldırı
vektörlerini denemeleri lazım. Hatta bu yetmeyecek, injection point olarak
array index'i hedef almalari gerekecekti...

<input type="text" name="blogtitle[0]" value="xyz">
<input type="text" name="blogtitle[1]" value="def">

Aynı şekilde dinamik analiz yapan pentester'in de örnek olarak Burp'te
yakalayıp injection point koyması yetmeyecek çünkü itiraf edelim genelde
parametre isimlerine pek injection point koymuyoruz. Kaldı ki yine burda
index'e koymak gerekecekti....

Bir de işin statik analiz kismi var... Drupal'e (open source olmasından
dolayı daha avantajlı sanirim) statik kod analizi uygulanmıştır diye
düşünüyorum. Ama orda da data flow analizi kolay olmuyor demek ki...

Son olarak vulnerable fonksiyondan kopyaladığım aşağıdaki kısma baktığımda
gördüğüm şey eşitliğin sol tarafında $query ve sag tarafinda string concat
islemi. Tabi bu zafiyet aciga cikmamis olsaydi ve statik analiz surecinde
dusuk seviyede bir bulgu olarak bu karsima ciksaydi detayina ne kadar inme
azmini ve zamanini bulabilirdim bilemiyorum.

$query = preg_replace('#' . $key . '\b#', implode(', ',
array_keys($new_keys)), $query);

bedirhan

17 Ekim 2014 23:02 tarihinde Mehmet Dursun Ince <mehmet at mehmetince.net>
yazdı:

> Merhaba
>
> Drupal 7.x versiyonunda çıkan Sql Injection zafiyetine baktığımızda
> payload'ın array'in indisine yerleştirildiğini görmekteyiz.
>
> Tartışmaya açmak istediğim konu şudur ki; otomatize araçlara bu tür
> testlerin implemente edilmesi gerekir mi ? Benim kişisel görüşüme göre
> Drupal case'i oldukça nadir olan durumlardan bir tanesi. Herhangi bir
> penetration testte karşılaşılmasının güç olacağını düşünüyorum.
>
> Örneğin sqlmap'te injection point olarak işaretlenmediği sürece bu test
> gerçekleştirilmiyor. Spesifik olarak sizin * (yıldız) ile belirtmeniz
> gerekmekte.
>
> Teşekkürler.
>
> --
> Sr. Information Security Engineer
>
> _______________________________________________
> Owasp-turkey mailing list
> Owasp-turkey at lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
>


-- 

bedirhan urgun
-------------- sonraki b�l�m --------------
Bir HTML eklentisi temizlendi...
URL: <http://lists.owasp.org/pipermail/owasp-turkey/attachments/20141019/fa32233b/attachment.html>


More information about the Owasp-turkey mailing list