|
| |
|
|
All times are GMT + 7 Hours
|
|
Cara Lain Cegah SQL Injection
 |
Thu Mar 11, 2010 15:47 |
 |
Author |
Message |
Cruz3N PHPuser

Joined: 14 Jul 2009 Posts: 46
|
| Post subject: Cara Lain Cegah SQL Injection |
|
|
Source : http://cruzenaldo.com/cara-lain-cegah-sql-injection/
SQL Injection gak habis – habis. Setiap hari ada aja situs yang jadi korban. Entah emang karena adminnya gak ngerti atau apa saya gak tau. Padahal tutorial untuk bagaimana melakukan dan mencegahnya dah banyak banget beredar di internet.
Emang agak susah sih apalagi kalo yang model Blind SQL Injection dan beberapa variasi yang banyak banget. Sedangkan kita tahu, beberapa CMS terkenal pun sering jadi korban.
Sebagai contoh saya pengguna Wordpress. Aman gak Wordpress itu? Ya menurut saya sih oke – oke aja cuman bagaimana dengan pluginnya? Facebook pun banyak kasusnya yang ternyata kelemahannya berada pada Aplikasi – aplikasinya, mungkin game atau apapun itu.
Pada kesempatan kali ini saya hanya akan mencoba melakukan pencegahan dengan predefined atau PHP Superglobal $_SERVER['REQUEST_URI'] yang menangkap nilai pada URL.
Penasaran? Kita praktek aja. Ehmm, karena saya males buat contoh web yang vulnerable kita akan mencoba contoh script yang di buat oleh Om EVA-00 (kemana aja lo Bro?) yang juga sekalian dia menuliskan tutorial bagaimana melakukan Dasar SQL Injection.
DOWNLOAD
Setelah download, buka folder injector lalu ekstrak folder xyb_injector.sql.gz.
Buka phpMyAdmin dan buat database "inject" dan import database yang tadi telah kita ekstrak.
Dan hasilnya kayak gini nanti…
Kembali ke folder injector, buka folder library dan edit file config.php. Masukkan username, password, host dari phpmyadmin dan nama database di dalamnya…
| Quote: | <?php
// This is an example of config.php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'inject';
?> |
Selesai dan jalankan contoh webnya…
Sampai sini kalian bebas belajar dah bagaimana dasar-dasar SQL Injection dan tutorialnya ada di dalam ebooknya.
Kita hanya stop sampai disini aja…
| Quote: | | http://localhost/cobain/injector/index.php?id=-4+union+select+1,@@version,3,4,5-- |
Sekarang buat file php baru dengan nama antisqli.php lalu masukkan script berikut.
| Quote: | <?php
if (strlen($_SERVER['REQUEST_URI']) > 255 || strpos($_SERVER['REQUEST_URI'], "concat") || strpos($_SERVER['REQUEST_URI'], "union") || strpos($_SERVER['REQUEST_URI'], "base64")) {
echo "Maaf Bro... Apa tuh? Mau Nakal Yah ";
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
?> |
Setelah itu kita melakukan include pada index.php di dalam folder injector tadi.
| Quote: | <?php
include 'library/config.php';
include 'library/opendb.php';
include 'antisqli.php'; |
Di bagian paling atas tinggal tambahkan aja include 'antisqli.php';. Setelah itu buka link yang tadi kita sisipkan perintah SQL dan apa yang terjadi?
Keren kan? Oke kita lihat lagi antisqli.php – nya…
| Quote: | | if (strlen($_SERVER['REQUEST_URI']) > 255 || strpos($_SERVER['REQUEST_URI'], "concat") || strpos($_SERVER['REQUEST_URI'], "union") || strpos($_SERVER['REQUEST_URI'], "base64")) |
Jika variabel di URL lebih dari 255 atau (tanda || dibaca atau) ada kata "concat", "union" dan "base64".
| Quote: | echo "Maaf Bro... Apa tuh? Mau Nakal Yah ";
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit; |
Maka akan muncul pesan "Maaf Bro… Apa tuh? Mau Nakal Yah" kemudian dilanjutkan dibawahnya.
Nah gak hanya cuman union / concat kan jika kita melakukan SQL Injection. Ada select, @@version dan lain – lain. Kan kalian yang lebih jago kalo soal beginian Nantinya kalian tinggal tambahkan aja menjadi.
| Quote: | | strpos($_SERVER['REQUEST_URI'], "concat") |
Jangan lupa tanda || (atau). Oke sekian dulu tutorial dari saya, semoga berguna dan mohon maaf jika tutorial ini tergolong newbie banget dan sederhana. Ingat hal besar dimulai dari yang sederhana dulu. Ketemu lagi di tutorial berikutnya…
Last edited by Cruz3N on Wed Mar 24, 2010 09:47; edited 1 time in total |
|
| |
|
|
 |
Thu Mar 11, 2010 20:06 |
 |
Author |
Message |
sishimaru PHPnewbie

Joined: 11 Mar 2010 Posts: 12
|
| Post subject: |
|
|
aizzz keren bang... thanks.
Kalo gitu bikin judul halaman atau nama filenya gak boleh lebih dari 255 karakter ya?
 |
|
| |
|
|
 |
Thu Mar 11, 2010 22:30 |
 |
Author |
Message |
Cruz3N PHPuser

Joined: 14 Jul 2009 Posts: 46
|
| Post subject: |
|
|
Ya kan bisa diatur Bro... Sesuai kebutuhan aja... Soalnya biasa kan kalo nginjek banyak banget tuh URLnya...
CMIIW |
|
| |
|
|
 |
Fri Mar 12, 2010 04:28 |
 |
Author |
Message |
Jastis PHPnewbie

Joined: 07 Mar 2010 Posts: 9 Location: Black Hat
|
|
| |
|
|
 |
Sun Mar 21, 2010 07:02 |
 |
Author |
Message |
XGooooogle PHPnewbie

Joined: 19 Mar 2010 Posts: 8
|
| Post subject: |
|
|
| wew,, mantabh nih... kalo url-nya panjang otomatis ke redirecct ke home ato kehalaman yg terakhir dkunjungi yah??? |
|
| |
|
|
 |
Sun Mar 21, 2010 15:48 |
 |
Author |
Message |
Cruz3N PHPuser

Joined: 14 Jul 2009 Posts: 46
|
| Post subject: |
|
|
| XGooooogle wrote: | | wew,, mantabh nih... kalo url-nya panjang otomatis ke redirecct ke home ato kehalaman yg terakhir dkunjungi yah??? |
Bukan Bro tapi akan muncul pesan error yang kita suka. Kalo mau juga bisa ditaruh script redirect kok...  |
|
| |
|
|
 |
Mon Mar 22, 2010 11:17 |
 |
Author |
Message |
RoNz Jagoan PHP


Joined: 13 Apr 2009 Posts: 485 Location: Kerinci
|
| Post subject: |
|
|
Hehe.. Master jasakom beraksi.. :D
Cruz3n ne ce apa co seh? Xixixi..
oh ya, ada juga cara lain dgn menggunakan .htaccess utk redirect variabel http request tertentu. Tujuannya sama dgn diatas, cm file ini cukup ditempatkan di root directory aja. _________________ .: FeeLCoMz Community :. |
|
| |
|
|
 |
Wed Mar 24, 2010 09:42 |
 |
Author |
Message |
Cruz3N PHPuser

Joined: 14 Jul 2009 Posts: 46
|
| Post subject: |
|
|
Ah bisa aja ente... "kerinci" kayaknya ane kenal neh :p
Nih ada tambahannya
Pertama – tama makasih buat Om ketek untuk perbaikannya neh. Emang kemaren saya sempet lupain so pengembangan penting ini harus banget.
Kenapa? Coba, pertama kalo kita masukkan URL seperti ini
Pasti bakalan gak berhasil karena masalahnya si strpos itu mencari dengan case sensitive alias huruf besar atau kecil dibedain…
jadi union sama UniOn akan dibedakan.
Solusi pertama adalah menggunakan stripos (case insensitive)
| Quote: | | if (strlen($_SERVER['REQUEST_URI']) > 255 || stripos($_SERVER['REQUEST_URI'], "concat") || stripos($_SERVER['REQUEST_URI'], "union") || stripos($_SERVER['REQUEST_URI'], "base64")) { |
Atau menggunakan preg_match
| Quote: | <?php
// kata2 kotor dan jorok... ;-)
$berbahaya = array("union", "concat", "base64");
$gabungsemua = implode("|",$berbahaya);
if((strlen($_SERVER['REQUEST_URI']) > 255) || (preg_match("/".$gabungsemua."/i",$_SERVER['REQUEST_URI']))){
echo "Maaf Bro... Apa tuh? Mau Nakal Yah ";
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit; |
Sekarang union,UNIon,unIoN dan variasi – variasi yang lain pasti gak akan berhasil…
Semoga berguna... |
|
| |
|
|
 |
Mon Mar 29, 2010 03:54 |
 |
Author |
Message |
RoNz Jagoan PHP


Joined: 13 Apr 2009 Posts: 485 Location: Kerinci
|
| Post subject: |
|
|
Wih, mantap deh.. :D
Klo ga keberatan, mohon cek security web saya di http://feelcomz.com yah, maklum baru belajar bikin web nih. Thx b4. :D _________________ .: FeeLCoMz Community :. |
|
| |
|
|
 |
Mon Apr 05, 2010 12:24 |
 |
Author |
Message |
djazman85 Anak Baru

Joined: 05 Apr 2010 Posts: 1
|
| Post subject: |
|
|
Makasih gan...
 |
|
| |
|
|
 |
Tue Apr 06, 2010 17:07 |
 |
Author |
Message |
Cruz3N PHPuser

Joined: 14 Jul 2009 Posts: 46
|
| Post subject: |
|
|
Aduh Om Kerinci... Kalo untuk begitu saya belom bisa :D
Masih belajar Om... Biasa mah target random aja :D
Saya cuman lamer Om  |
|
| |
|
|
 |
Sun May 09, 2010 11:40 |
 |
Author |
Message |
dot_co_id Anak Baru

Joined: 09 May 2010 Posts: 3
|
| Post subject: |
|
|
mantap neh
gua baru belajar soalnya ^ |
|
| |
|
|
 |
Sun Jun 13, 2010 20:04 |
 |
Author |
Message |
widhiecyber PHPnewbie

Joined: 06 Jun 2010 Posts: 6 Location: yogyakarta
|
| Post subject: |
|
|
wah makasih banyak inpo nya
ntar ane coba gan |
|
| |
|
|
 |
Wed Jun 23, 2010 18:11 |
 |
Author |
Message |
rrcp1992 PHPnewbie

Joined: 23 Jun 2010 Posts: 8 Location: Pangkalpinang, Bangka
|
| Post subject: |
|
|
Mantap abis tutorialnya. Ntar tak cobain.. hehe..
Yg mau download software, film, ebook inggris ma games pc silahkan kunjungi http://rendyriancp.cz.cc
Thanks |
|
| |
|
|
 |
Thu Aug 05, 2010 23:31 |
 |
Author |
Message |
ndhol PHPnewbie

Joined: 06 Oct 2009 Posts: 16
|
| Post subject: |
|
|
@XGooooogle : untuk redirect ke index.php misalnya ganti aja baris
echo "Maaf Bro... Apa tuh? Mau Nakal Yah Weks";
menjadi
print "<script>";
print " self.location='index.php';";
print "</script>"; |
|
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
Page 1 of 2 Goto page 1, 2 Next |
|
|
|