Forum Aski - Türkiye'nin En Eğlenceli Forumu

Forum Aski - Türkiye'nin En Eğlenceli Forumu (https://www.forumaski.com/)
-   Webmaster Genel (https://www.forumaski.com/webmaster-genel/)
-   -   Üşengeç Geliştiricileri Avlamak | ibProArcade XSS Vulnerability (https://www.forumaski.com/webmaster-genel/182020-usengec-gelistiricileri-avlamak-ibproarcade-xss-vulnerability.html)

-X- 23.06.2016 01:40

Üşengeç Geliştiricileri Avlamak | ibProArcade XSS Vulnerability
 
Üşengeç Geliştiricileri Avlamak | ibProArcade XSS Vulnerability


Merhabalar bugünkü konum bir php projesi yazarken gözden kaçan ya da tembellik sonucunda ihmal edilmiş bir kodun sebep olduğu XSS açığı olacak. Bulduğum açık bir Stored XSS. Kısaca veritabanına kayıt oluyor ve sayfa her yüklendiğinde tarayıcı tarafında filtre yoksa çalışıyor. Bunun için otomatize araçlar kullanmak yukarda bahsettiğim tembelliğe kaçar ve eğer araştırılacak açık bir 0-day ise otomatize araçlar çoğu zaman tespit edemez. Bu durumda açık yok der ve bu bir false information'dır.

Araçlar;

Sanal makine
vBulletin yazılımı
ibProArcade v2.7.3+
Tamper Data

Av Zamanı!

Oyun eklerken, Game Name alanına XSS Vektörlerinden birini yazınca veritabanında ne adla kayıt olduğunu öğrenmek için Tamper Data eklentisini kullanabiliriz. Pek tabiki Burp Suite, OWASP ZAP gibi proxy araçlar da kullanabilirsiniz.

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Artık belirtilen inputun veritabanına 'gtitle' olarak yazılacağını biliyoruz.

Oyun ekleme verisinin gönderilirken /admincp/arcade.php?do=do_add işlemi ile gerçekleştiğini biliyoruz. İlgili dosyanın belirtilen parametresine bakalım;

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Yukarıdaki satırlar dikkat çekmektedir. "2293." satıra baktığımızda herhangi bir filtreleme olmadığını, 'gtitle' alanına ne girilmişse aynı şekilde veritabanına eklendiği açık. Bu durumda oyun her çağırıldığında XSS atağına maruz kalınacaktır.

Kullanıcı etkileşimi;


[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Admin etkileşimi;

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Booom XSS'ed.

Game Name alanına eklenen vektör sonucu hem oyuncuların hem de admin alanının bu ataktan etkilendiğini görüyoruz.

Şimdi bir de veritabanına bakalım.

Kod:

mysql > select gtitle from games_list;

sorgusu ile games_list tablosundaki gtitle kolonunu görüyoruz.

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Görüldüğü üzere gtitle kolonunda vektörümüz gönderildiği gibi yazılmış.

Ayrıca açık tetiklendikten sonra sayfanın kaynak koduna bakacak olursak özel karakterlerin filtreden geçmeden yazıldığını da görebiliriz.

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Fix

PHP- Kodu:

$checks = array(     'gtitle'       => $IN['gtitle'], // Güvenli olmayan kod.

$checks = array(     'gtitle'       => htmlspecialchars($IN['gtitle']), // Güvenli kod. 


şeklinde değiştirilirse veritabanına yazılırken karakterler filtrelenecek ve veritabanından çağırılma durumunda XSS atağı önlenecektir.

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Veritabanına tekrar bakacak olursak;

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Yukarıdaki ekran görüntüsünde açığın kapatıldıktan sonra veritabanına yeni vektör yazılırken karakterlerin filtrelendiğini görebilirsiniz. Ayrıca sayfanın kaynak kodunda da yine filtrelemenin olduğu görülecektir. 0-day'iniz hayırlı olsun :)

[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL]

Admin authentication isteyen bir işlem olduğu için gerçek hayat senaryosunda site sahibi tarafından kötü amaçlı olmadığı sürece kullanılabilecek bir atak olmadığını belirtmek isterim.

Exploit etmek için hazırlanan dosyanın admin kullanıcısına tıklatılması durumunda bile CSRF korumasının ilgili kodları önleyeceğini bilmek gerek. Vektör olarak zararlı js kodları kullanılacak olursa durumun ciddiyeti artacaktır.

Kullandığınız yazılım ne kadar güvenli olursa olsun kurduğunuz eklentiler sistemi tehlikeye sokabilir. ibProArcade'in son sürümünde bulmuş olduğum bu 0-day ( artık değil :) ) bir önceki sürümde de mevcuttur. Daha önceki sürümleri kontrol etmedim. Güvenli günler dilerim.

g0ts_on_Security


Saat: 15:25

Telif Hakları vBulletin® Copyright ©2000 - 2024, ve
Jelsoft Enterprises Ltd.'e Aittir.


SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.