<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TAUJAGO.WEB.ID [ Share IT Knowledge ] &#187; web hacking</title>
	<atom:link href="http://taujago.web.id/index.php/tag/web-hacking/feed/" rel="self" type="application/rss+xml" />
	<link>http://taujago.web.id</link>
	<description>php,linux,wordpress,music,mp3,blog,membuat blog, taujago,firmansyah,information technology,notebook,memilih notebook,virus,worm,server,dhcp,dns,postfix,dns</description>
	<lastBuildDate>Sat, 10 Apr 2010 06:59:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mencegah Serangan Blind SQL Injection</title>
		<link>http://taujago.web.id/index.php/2009/02/08/mencegah-serangan-blind-sql-injection/</link>
		<comments>http://taujago.web.id/index.php/2009/02/08/mencegah-serangan-blind-sql-injection/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 04:09:52 +0000</pubDate>
		<dc:creator>Firman</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[blind]]></category>
		<category><![CDATA[blind sqlinjection]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[web deface]]></category>
		<category><![CDATA[web hacking]]></category>

		<guid isPermaLink="false">http://taujago.web.id/?p=45</guid>
		<description><![CDATA[Blind SQL Injection Merupakan salah satu teknik serangan web yang pupuler saat ini. Teknik ini bisa saya katakan sebagai varian dari teknik yang hampir serupa yaitu SQL Injection. Sama &#8211; sama memanfaatkan query database untuk melakukan hal &#8211; hal ilegal ke dalam website korban. Tujuan utama dari teknik ini adalah untuk mendapatkan username dan password [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="float: left; border: 0; margin: 5px;" src="http://tbn3.google.com/images?q=tbn:sKp7NUZjU3HfjM:http://www.gnucitizen.org/images/518053737_8a9794389e.jpg" alt="SQL Injection" width="130" height="98" />Blind SQL Injection Merupakan salah satu teknik serangan web yang pupuler saat ini. Teknik ini bisa saya katakan sebagai varian dari teknik yang hampir serupa yaitu SQL Injection. Sama &#8211; sama memanfaatkan query database untuk melakukan hal &#8211; hal ilegal ke dalam website korban. Tujuan utama dari teknik ini adalah untuk mendapatkan username dan password user administrator yang mengelola website. Dengan demikian, akan dengan memudah melakukan segala sesuatu terhadap website korban.Mengubah tampilan depan (deface), mengganti ID Adsense (kalo memang ada), dst..</p>
<p>Saya tidak akan membahas bagaimana cara melakukan teknik ini. Silahkan anda buka <a href="http://www.jasakom.com/plugins/p2_news/printarticle.php?p2_articleid=748" target="_blank">disana</a>,  <a href="http://c0li.blogspot.com/2008/12/bind-sql-injection-part-i.html" target="_blank">disitu</a>, <a href="http://www.google.co.id/search?q=blind+sql+injection&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">dst. </a>Saya akan membahas  bagaimana caranya bertahan.</p>
<p>Saya iseng-iseng ikut kegiatan yang diadakan oleh <a href="http://yogyafree.net" target="_blank">yogyafree.net</a> yang membahas tentang sql injection. lebih tepatnya, Blind SQL Injection. Untuk mempelajari teknik ini. Setelah saya pelajari dan mencoba beberapa kali, akhirnya saya berani membuat kesimpulan bahwa serangan ini mungkin dilakukan benar2 <strong>murni kesalahan web developernyah</strong>.<span id="more-45"></span></p>
<p>Memang benar, bahwa serangan ini akan lebih mudah atau lebih tepatnya, lebih mungkin dilakukan pada website yang menggunakan PHP script dan menggunakan mysql database versi 5 ke atas. Saya kurang setuju dengan saran narasumber yang mengatakan jika ingin aman dari serangan ini, gunakan database versi 4 ke bawah. Sebenarnya tidak ada yang salah dengan database mysql versi 5 ke atas. Di versi 5, mysql mulai membuat semacam dictionary object. Semua informasi tentang object di dalam database, disimpan dalam sebuah database dengan nama information_schema. Database inilah yang sering di manfaatkan oleh penyerang untuk menggali informasi tentang table dan kolom yang ada dalam database. Gaya ini sepertinya akan meniru database oracle yang sudah sejak dahulu kala menggunakan <em>Dictionary Table</em> untuk menyimpan semua informasi tentang object-object di dalam database. Belum lagi fitur &#8211; fitur <em>stored procedure</em> seperti <em>function, procedure, trigger, view</em> dst., yang terlalu sayang untuk dimubazirkan.</p>
<p><strong>String Single Quote (petik satu) . Awal dari bencana itu</strong></p>
<p>Penyerang akan melakukan percobaan apakan website target bisa diinject atau tidak dengan melakukan test terlebih dahulu. Biasanya dengan menambahkan tanda petik satu (&#8216;) di akhir URL. Contoh http://www.korban.com/news.php?id=1&#8242;  . Ada tanda petik satu di akhir URL. Seperti itulah cara penyerang mengetest sebuah web. Apakan bisa diserang atau tidak. Jika muncul error pada halaman web, artinya, web tersebut bisa diserang.</p>
<p><strong>PENCEGAHAN</strong></p>
<p><strong>-</strong><strong> Konfigurasi PHP yang baik dan benar </strong></p>
<p>Serangan ini diakibatkan oleh tanda petik satu yang diloloskan ke dalam query database sehingga mengakibatkan database akan memproses tanda petik satu sebagai bagian dari query yang nantinya akan menghasilkan error. Untuk mengatasinya, pada konfigurasi php.ini pastikan tag <strong></strong></p>
<p><strong>magic_quote_gpc = on . </strong></p>
<p>Biasanya, instalasi php standard di beberapa sistem operasi linux, tag</p>
<p><strong>magic_quote_gpc = off </strong></p>
<p>adalah sebagai default. Untuk itu <strong>harus dirubah menjadi on</strong>. Dengan demikian, tanda petik akan diberikan escape caracter di depannya.</p>
<p><strong>-</strong><strong> Sembunyikan Error</strong></p>
<p>Pesan error diibaratkan peta menuju tempat harta karun bagi penyerang. Pesan error perlu untuk ditampilkan hanya pada saat <em>development </em>saja. Sedangkan ketika akan <em>go live</em>, Pesan error sama sekali tidak boleh ditampilkan. Untuk menghilangkan pesan error, dapat dilakukkan dengan mengganti tag</p>
<p><strong>display_errors = On </strong></p>
<p>pada file php.ini menjadi</p>
<p><strong>display_errors = Off</strong></p>
<p>atau dapat juga di script php kita  dengan menambahkan function</p>
<p><strong>error_reporting(0); </strong></p>
<p><strong>- GUNAKAN FRAMEWORK UNTUK STANDARISASI KODE</strong></p>
<p>Teman saya seorang dosen mengatakan bahwa, &#8220;sudah tidak jamannya lagi mengetikkan kode sendiri. Gunanakan framework&#8221;. Pendapat beliau saya rasa ada benarnya juga mengingat dengan menggunakan framework kode kita akan lebih rapi dan securitynya juga sudah standar. Penggunaan framework juga akan diikuti dengan keharusan mengaktifkan module <strong><em>mod_rewrite</em></strong> pada apache webserver dan juga mengaktifkan module <em><strong>curl </strong></em>pada php yang akan membuat serangan SQL Injection tidak akan mempan lagi. Contohnya bisa anda lihat di detik.com , kompas.com, inilah.com, dst.</p>
<p><strong>-BUAT PASSWORD ADMIN YANG KOMPLEX</strong></p>
<p>Serangan blind SQL Injection intinya adalah berusaha melihat isi table dimana informasi username dan password admin disimpan. Dengan demikian, penyerang akan login sebagai admin ke halaman administrasi. Katakanlah cara2 di atas tidak mempan untuk mencegah serangan, kita mempunyai pertahanan terakhir yaitu pada level password. Password haruslah disimpan dalam bentuk sudah terenkripsi. Sehingga seandainya penyerang bisa melihat isi username dan password, mereka tetap tidak bisa login, karena passwordnya terenkripsi. Kita bisa menggunakan algoritma MD5 yang merupakan metode enkripsi satu arah. dimana bisa di encript tapi tidak bisa di decrypt. Meskipun demikian, password yang kita gunakan juga haruslah tidak mudah ditebak karena, di internet juga ada banyak web yang menyediakan layanan decrypt MD5. Tapi sebenarnya, cara kerjanya tidaklah mendecrypt tetapi mencari kecocokan dengan yang ada di database mereka.</p>
<p>Berikut ini adalah contoh password yang baik :</p>
<p>p4$$w0rd, 53cR3T, L0v3@d#151ght, dst&#8230;</p>
<p>Sekian dulu, mohon dikoreksi jika ada yang salah. Salam..</p>
]]></content:encoded>
			<wfw:commentRss>http://taujago.web.id/index.php/2009/02/08/mencegah-serangan-blind-sql-injection/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
