want to advertise here $100 / views

Feb 22, 2013

Facebook kelemahan OAuth memungkinkan mendapatkan kontrol penuh atas setiap akun Facebook

Facebook OAuth digunakan untuk berkomunikasi antara Aplikasi & pengguna Facebook, untuk memberikan izin tambahan untuk aplikasi favorit Anda. Untuk membuat ini mungkin, pengguna harus 'membolehkan atau menerima' permintaan aplikasi sehingga aplikasi yang dapat mengakses informasi account Anda dengan izin yang diperlukan.

Sebagai pengguna Facebook biasa kita selalu berpikir bahwa itu adalah lebih baik daripada Anda memasuki kredensial Facebook, kita hanya bisa membiarkan izin khusus untuk sebuah aplikasi untuk membuatnya bekerja dengan akun Anda.

Hari ini whitehat Hacker 'Nir Goldshlager' melaporkan 'The Hacker News' bahwa ia menemukan kerentanan yang sangat penting dalam sistem OAuth Facebook, yang memungkinkan dia untuk mendapatkan kontrol penuh atas setiap akun Facebook dengan mudah bahkan tanpa 'membiarkan atau menerima' pilihan.

Untuk tujuan ini ia memburu kelemahan dalam yaitu cara yang sangat berperilaku
1) Memahami URL OAuth
URL Facebook dialog OAuth adalah sesuatu seperti ditunjukkan di bawah ini:
https://www.facebook.com/dialog/oauth/?app_id=YOUR_APP_ID&next=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES 
gambar

Dimana APP_ID adalah ID aplikasi dan parameter berikutnya harus berisi URL dari domain aplikasi masing-masing saja. Misalnya APP_ID = 2389801228 milik app 'Texas Holdem Poker', Jadi 'selanjutnya' parameter akan memungkinkan hanya domain zynga.com (yaitu next = http://zynga.com), jika Facebook akan memblokir tindakan itu.
2.) Menemukan cara untuk menggunakan parameter kustom dalam URL
 
Goldshlager menemukan bahwa Facebook telah memungkinkan dia untuk menggunakan sub domain facebook dalam parameter berikutnya yaitu URL. https://beta.facebook.com/#xxx!/messages/. Tapi '# xxx!' tidak bekerja untuk semua browser. Setelah fuzzing karakter URL, ia menemukan bahwa 23% ~! dan 23%% 09! bekerja untuk semua browser.

Temuan ini sudah cukup untuk mengarahkan pengguna ke file atau folder di Facebook domain.

Lalu ia mengembangkan Facebook aplikasi sederhana (yaitu touch.facebook.com / apps / testestestte), yang hanya untuk mengarahkan pengguna ke situs remote (yaitu files.nirgoldshlager.com) dengan akses token, di mana file log sudah siap untuk menyimpan semua akses token.


3.) Melewati OAuth 'Allow' permintaan tombol di pengguna akhir
 
Sampai saat ini penyerang mampu mengarahkan pengguna ke aplikasi palsu, yang melewati token akses korban ke domain pihak ke-3 di mana penyerang adalah penebangan kayu token akses. Tetapi masalah utama yang masih ada yaitu tanpa interaksi pengguna, aplikasi tidak akan bekerja. Itu berarti, orang harus mengklik '
Allow' tombol seperti yang ditunjukkan di bawah ini.
gambar
Jadi, untuk memotong ini, ia menemukan bahwa ada banyak built-in aplikasi Facebook yaitu 'Facebook Messenger app' yang dapat mengakses hak akses penuh (baca kotak masuk, kotak keluar, mengelola halaman, mengelola iklan, akses ke foto-foto pribadi, video, dll) dari rekening korban tanpa interaksi pengguna yaitu tidak perlu klik tombol 'memungkinkan'.

URL Contoh Akhir:
https://www.facebook.com/connect/uiserver.php?app_id=220764691281998&next=https%3A%2F%2Ftouch.facebook.com%2F%23~!%2Fapps%2Ftestestestte%2F&display=page&fbconnect=1&method=permissions.request&response_type=token

Ini penyerang Cara kini mampu meraih token akses (dengan hak akses penuh) dari setiap akun Facebook dengan hanya membuat korbannya untuk mengunjungi URL OAuth dimodifikasi (tanpa interaksi pengguna). Access_token ini akan pernah berakhir, itu akan berakhir hanya setelah korban mengganti passwordnya Facebook

Sorces: The Hacker News

Artikel Terkait

0komentar:

Post a Comment