.:: .: .:: .:::.:: .:: .:::: .:: .:: .:: .:: .: .:: .:: .: .: .:: .:: .:: .:: .:: .:: .: .:: .::::: .::.:: .:: .::.:: .:: .:: .:: .:: .::.::::: .:: .: .:: .: .:: .:: .:: .:: .:: .:: .::.: .:::: .:::.:: .:: .:: .::::::::.::.::: .:: .:::: ECHO MAGAZINE VOLUME VII, ISSUE XXI, PHILE 0x005.TXT WEB SECURITY YIN-YANG Ditulis oleh: gentoo, foobar4joo@gmail.com ===// Pengantar \\=== "If you know both yourself and your enemy, you can win a hundred battles without a single loss." Di berbagai segi kehidupan, sangatlah di butuhkan keseimbangan. Bahkan yang sangat terkenal adalah sebuah ungkapan dari Sun Tzu yang saya tuliskan diatas, mengenali kelemahan musuh adalah penting, tetapi lebih penting lagi mengenali kelemahan diri sendiri, karena dengan begitu kita dapat seimbang dalam bertahan dan menyerang. Saya harap artikel ini nantinya akan dapat menjadi referensi singkat yang membahas tentang menyerang dan bertahan dalam dunia keamanan web (web security), dan artikel ini diharapkan juga bisa menjadi titik mula bagi yang tertarik dengan keamanan web, sekaligus pembuka mata bagi para programmer web agar sedikit banyak mulai menaruh perhatian pada keamanan aplikasi yang meraka buat. Artikel ini akan membahas beberapa jenis celah keamanan web yang umumnya selalu menjadi primadona dikalangan para pemerhati keamanan web, tetapi bahasan disini bukan mencakup detil tiap celah, tetapi lebih ke arah Proof-of-concept dari cara bertahan dan menyerang. Disajikan dengan menggunakan PHP sebagai bahasa pemrograman "dynamic", HTML, serta mysql sebagai "database engine". Formatnya pun akan selalu sama, penyajian kode yang memiliki celah, cara memperkuatnya (bertahan) kemudian diikuti dengan bagaimana metode untuk mengexploitasinya. Jangan berharap artikel ini akan mengajarkan anda dari Nol, bagaimana membuat web, mengkode dengan PHP dan mysql, atau penjelasan detil (pengertian-panjang-lebar) tentang setiap celah. Partisipasi aktif andalah yang akan menentukan apakah artikel ini akan bermanfaat buat anda nantinya :) ===// Yin-Yang \\=== ====// XSS Reflected \\==== kode yang memiliki celah untuk di serang: --------\\ sweet.php echo 'Selamat Datang' . $_GET['sweet']; --------// Adapun kode untuk melindungi adalah dengan menambahkan fungsi "strip_tags" atau "htmlspecialchars" untuk memeriksa variabel tersebut terlebih dahulu. --------\\sweet-patch.php echo 'Selamat Datang' . strip_tags($_GET['sweet']); atau echo 'Selamat Datang' . htmlspecialchars($_GET['sweet']); --------// ------// Eksploitasi \\------ sweet.php?sweet= ====// XSS Persistent \\==== kode yang memiliki celah untuk di serang: --------\\ sweet.php $sweet = trim($_POST['txtSweet']); $sweet = mysql_real_escape_string($sweet); $query = "INSERT INTO sweet (sweet) VALUES ('$sweet');"; --------// Adapun fungsi yang digunakan untuk mengamankannya adalah "stripslashes", "addslashes", "htmlspecialchars" --------\\sweet-patch.php $sweet = stripslashes($sweet); $sweet = mysql_real_escape_string($sweet); $sweet = htmlspecialchars($sweet); $query = "INSERT INTO sweet (sweet) VALUES ('$sweet');"; --------// ------// Eksploitasi \\------ sweet.php?sweet=