Örnek CSRF Açığı-Tumblr Follow/Unfollow CSRF açığı

Balamir97

Kıdemli Üye
29 Ocak 2013
2,627
2
Nowhere
Merhaba arkadaşlar Tarafımca bulunmuş Tumblr CSRF açığı hakkında bir makale yazmak istedim açık fixlendi ancak sizlere bir kaç şey öğretmek amacıyla paylaşıyorum.

İlk önce csrf'den bahsedeyim;

Açılımı "Cross site request forgery" yani siteler arası istek sahteciliği.Biraz Açarmısın Kardeşim?

-Tabi,Normalde Websitesi yapılan her işlem için bize bir token değeri verir.Bu token değeriyle işlem yaparız ve bu token değeri başkası üzerinde çalışmaz ve bu token değeri sadece o kullanıcıda çalışır buda csrf saldırısını engeller.

Eğer kullanıcı saldırgan tarafından herhangi bir token değeri olmayan bir linke tıkladığında aynı işlem hedef kullanıcıda gerçekleşecektir.

İllaki Bir linkemi tıklaması lazım hayır.Mesela Burda bir POST metod örneği var.:

Kod:
<html>
  <body>
    <form action="https://www.csrfacigi.com/sifre/degistir" method="POST">
      <input type="hidden" name="sync" value="true" />
      <input type="hidden" name="********String" value="Balamir97" />
      <input type="hidden" name="name" value="home" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Hedef Kullanıcı bu html kodlarını içeren bir siteye giriş yaptı diyelim.

Tarayıcı "https://www.csrfacigi.com/sifre/degistir" isteğini okuyacak ve şifre Balamir97 olarak değişmiş hemde kullanıcının hiç farkında olmadan şifresi değişmiş olacaktı.

Neyse ilgili açığa geçelim.

Tumblr size birini takip etmek istediğiniz zaman şöyle bir URL veriyordu(normalde bu url yi veriyor ancak ben açık ararken giriş yapmamıştım. http://tumblr.com/login/follow/hacker)

http://tumblr.com/login/follow/hacker

Burada tumblr'a giriş yaptıktan sonra hacker kullanıcısını takip et mesajını gönderiyorduk servere
Ancak sıkıntı işte tam burdaydı.

Ben hedef kullanıcıya bu linki atıp kullanıcı giriş yaptıktan sonra herhangi bir soru ile karşılaşmadan hedef kullanıcı "hacker" kullanıcısını takip ediyordu.

Örnek atak senaryosu:

1)Kullanıcı "http://tumblr.com/login/follow/hacker" Linkini hedef kullanıcıya gönderir yalnız burda dikkat etmek gereken bir nokta var hedef kullanıcı giriş yapmamış olması gerekiyor.

pzWrEr.png



2)Kullanıcı giriş yaptıktan sonra herhangibir soru ile karşılaşmadan ve farkında olmadan Hacker adlı kullanıcıyı takip ediyor

A73oLB.png



Az önce dediğimiz gibi hedef kullanıcı giriş yapmamış olması gerekiyor.Peki Ya giriş yapmış olsaydı yani şu URL'yi göndereseydik ?
http://tumblr.com/follow/hacker


1vN9kp.png



Gördüğünüz gibi giriş yapmış olsaydık bize bu soruyu soracaktı.Ve hedef kullanıcı durumu fark edecekti.Zaten CSRF açığının amacıda budur.Hedef kullanıcıya fark ettirmeden ona kendi istediğimiz komutu vs uygulattırmak.


Açık 2 gün içinde fixlendi ve 200$ Ödül verdiler :)
 

Znéa

Administrator
19 Tem 2011
4,383
60
Bellagio
Vay vay vay balamir devam ediyor desene ellerine sağlık iş çıkışı daha detaylı konuyu inceleyeceğim :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.