Cors Manipülasyonu - Labaratuar

lyxG

Anka Team Junior
15 Ocak 2019
303
71
m9RCVr.png
2vswlk2.png



Merhaba arkadaşlar, bugün cors manipülasyonunu yani kökenler arası kaynak paylaşımını sömürme ile ilgili lavabatuarları çözeceğiz. CORS bir sitenin kökünden başka bir domaine kaynak paylaşımlarının yapılabileceği bir durumdur. Karşımıza daha çok saldırganın kendi kaynağını ekletip sosyal mühendlislikle bu durumu kullanıcıya yedirerek bilgilerini ve verilerini yetkisiz bir şekilde okumasını hedef etmektedir.

BİRİNCİ LABARATUAR

Öncelikle portswigger üzerinden bana verilen id : wiener | pass : peter | olarak sisteme giriş yapıyorum ve e ticaret sitesi içerisinde karşımda kullanıcım hakkında bilgiler ve api keyleri ile karşılaşıyorum.

Np81


Sanırım hedef kişi hakkında bilgi alabileceğim tek yer burası, burayı unutmuyorum. Şimdi ise anasayfaya request gönderdiğimde ise origin bilgisi yazmama rağmen karşımda hiçbir veri alamıyorum. Ve HTTP history kısmına geri geldiğimde ise beni /accountDetails kısmı karşılıyor. Buraya request yoladığımda ise güzel bir sonuç alıyorum.

jzdP


Görmüş olduğunuz gibi Access-Control-Allow-Credentials kısmı true yanıtını dönmekte, bir bug bounty veya pentesting ile uğraşan kişinin aklına ise bu yapıya kendi zararlı web sitesini burada deneyip hedef kullanıcıya yutturmak olacaktır.

uemd


Yukarıda görmüş olduğunuz gibi istediğim domaini ekleyebilmiş oldum, bundan sonra sistemin bana verdiği exploit serverin adresini girip o site içerisinde kendi zararlı kodumu enjekte etmem gerekiyor. Bu sayede kurbana XMLHttpRequest içerikli verimi yedirebilirsem ona ait bilgileri çalabilirim.

poWm


Görmüş olduğunuz zararlıyı store edip bunun ardından hedef kişiye mail, link kısaltma gibi kaynaklardan yedirdikten sonra access loglarınıza bakın. Bu işlem sayesinde diğer kullanıcının id adresini v.s yazmanıza gerek kalmayacak çünkü kendi bilgilerini açacak url, ve o bilgileri okuyacak bir logumuz olacak.

SKZG


Hedef kullanıcı zararlı web sitesini yedi ve sonucunda, username bilgisi api key gibi bilgileri ortaya çıkmış oldu. Flag almak için sadece administrator adlı kullanıcının api keyini solition bölümüne yazmanız yeterli olacaktır.

İKİNCİ LABARATUAR

Bu labaratuarda ise origin değerinin allow olmadığından yalnızca null ifade ettiğinden bahsediyor. Origin değeri null olduğunda, null origin'e sahip istekleri güvenli kabul eder. Bu durumda ekranda kendi exploit server adresinizi yazamadınız diye üzülmenize gerek yok.

7PFS


Aslında test yaparken url ler denemiştim lakin hepsine true değeri yazdırıyordu bunun yerine null yolladığımda ise response değerinde de bu durumu gördüğüm için sevindim. Bunun için hemen exploit serverime geliyorum ve ilgili XMLHTTPRequest imi veriyorum, ayrıca location bilgisini exploit serverim olarak verdim.

1WA9


Görmüş olduğunuz zararlıya sitenin kullanıcı hakkında kritik bilgilerinin bulunduğu /accountDetalis bölümünü ekliyorum ve kodu baştan store ediyor, ardından hedef maktüle deliver exploit to victim aracılığı ile gönderiyorum.

Luea


İlk örnek üzerinde url i verebildiğimiz için herhangi bir location bilgisi eklemedik ama bu durum null döndürdüğü için burayı atlamamanızı öneriyorum. Ve bu lab'a ait api logunu submit solution bölümüne girdiğinizde bölümü tamamlamış oluyoruz.




m9RCVr.png
2vswlk2.png


 
Ü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.