The "Eyes of Facebook" dari XSCH ke Bypass SOP

Hi all.. Sebelum kita tau apa apa maksudnya, kami ingin memberitahukan ini ada kaitannya dengan crossdomain.xml. Bagi yang belum tau, silahkan baca baca disini.
Apa sih yang dimaksud dengan XSCH dan apa itu Bypass SOP XSCH berarti Cross-Site Content Hijacking
Bypass SOP; SOP ini berarti Same-Origin Policy, baca lebih lanjut disini.
Well, Str8 to da point! Ketika "flash" meminta untuk mengakses suatu domain yang pertama diminta si "flash, apa boleh untuk liat ada flash kah dihalaman ini" dengan cara si flash tadi meminta file ini "domain.com/crossdomain.xml" kemudian mulai membaca "
Allow-access-from *(all) domains" (jika tidak ada, maka biasanya seperti ini).
Ini berarti, di mana pun file flash kita host (attacker.com/hack.swf), itu akan dapat membaca isi domain.com.
Subject ini bisa dibilang lebih daripada seperti XSS atau bahkan kurang, kalau XSS kita cuma bisa kirim "permintaan/request" dan "membaca/read" tapi tidak bisa "menulis/write" jadi XSCH lebih dari XSS.
 Sedikit saja contoh simple nya seperti ini

 <cross-domain-policy> <allow-access-from domain="*"/>  //--liat bintang tersebut
</cross-domain-policy>

 Dengan konsep demikian bisa kita lakukan pencurian AntiCSRF token dengan merangkai kode CSRF exploit yang dapat membaca file html pada sasaran tersebut seperti pesan, data akun, dsb,.


Dapat? Nah, mulai menarik !

Gursev Singh Kalra menciptakan serangan pada jenis exploit ini, lihat http://pastebin.com/EwqkGkxp.

Didapat 1 bug/kelemahan pada
<allow-access-from domain="*.oculus.com" secure=”true”/> itu artinya semua yang ada dalam domain *.oculus.com (salah satu developer facebook) dapat akses untuk membaca apa yang ada didalamnya.


Domain tersebut mempunyai kotak untuk upload, yep,.. submit your ticket -support.oculus.com. Upload file swf yang sebelumnya file tersebut telah direname menjadi .jpg (more or less like pre-tamper data thingy) flash.swf > flash.jpg; akses sukses karena mendapatkan permission dari subdomain support.oculus.com!
Hal menakjubkan dari flash adalah walaupun filenya berformat .jpg bilamana kita embed maka file tersebut akan tereksekusi sebagai flash.

 POC sequence -nya seperti:
1. Buat malicious flash.swf yang dapat membaca AntiCSRF token atau pesan (liat penjelasan diatas)
2. Rubah extention flash.swf > flash.jpg file
3. Buka support.oculus.com, buat tiket dan upload malicious flash.jpg yang kita rubah tadi
4. Pada domain yang kita masukan file kita tadi (attacker.com); host, 

<object type="application/x-shockwave-flash" data="
https://support.oculus.com/attachments/token/APToMFwKw6O45WRIS5lf1HTP7/flash.jpg" width="1" height="1">
<param name="movie" value="
https://support.oculus.com/attachments/token/APToMFwKw6O45WRIS5lf1HTP7/flash.jpg" /> </object>

lalu arahkan ke domain lain (attacker.com), maka semua anda bisa baca/lihat !

Conclusion:
- Permit access from your crossdomain.xml because a simple mistake or “*” can cause a disaster.
- In another option, make your uploaded files have a content-disposition header with appropriate values
SHARE

About b3rlz

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment