Patching Sql Injection

Patching Sql Injection

Oke bre selamat datang di hacktivist.me
Kalau sebelumnya kalian sudah inject websitenya sekarang yuk kita belajar bagaimana cara ngepatch bug nya
Langsung saja :
- disini Saya mempunyai database bernama Perusahaan dan memiliki tabel yang saya beri nama Hacktivist.me,
-Yang pertama kita akan membuat file koneksi yang saya beri nama config.php, berikut isi dari file
config.php
<?php
mysql_connect('localhost','root','')or die('gagal koneksi');
mysql_select_db('perusahaan')or die('gagal select db');
?>
- Lalu buat file bernama data.php, nah berikut isi dari file data.php :
<table border cellpadding='4' cellspacing='0'>
<tr><td>ID</td><td>Nama</td><td>Product</td></tr>
<?php
require_once("config.php");
$query = mysql_query("select * from hacktivist.me");
while($data = mysql_fetch_assoc($query)){
$id = $data['id'];
$nama = $data['nama'];
echo "
<tr>
<td>$id</td>
<td>$nama</td>
<td><a href='product.php?id=$id'>lihat</a></td>
</tr>
";
}
?>
</table>
- jangan lupa kita buat file dengan nama product.php yang nantinya file ini memiliki Bug SQL Injection, isi
dari file product.php :
<table border cellpadding='4' cellspacing='0'>
<tr><td>ID</td><td>NAMA DEPAN</td><td>NAMA BELAKANG</td><td>PASSWORD</td>
<td>Product</td></tr>
<?php
require_once("config.php");
if(isset($_GET['id'])){
$id = $_GET['id'];
$query = mysql_query("select * from hacktivist.me where id='$id'");
while($data = mysql_fetch_assoc($query)){
$id = $data['id'];
$nama_depan = $data['nama_depan'];
$nama_belakang = $data['nama_belakang'];
$password = $data['password'];
$product = $data['product'];
echo "
<tr>
<td>$id</td>
<td>$nama_depan</td>
<td>$nama_belakang</td>
<td>$password</td>
<td>$product</td>
</tr>
";
}
}
?>
</table>

- coba kalian buka file data.php
nanti akan terlihat seperti ini :

ID | NAMA DEPAN | Product |
admin | admin | lihat |
hacktivist.me | hacktivist.me | lihat |

- nah sekarang kita coba buka file bug sql injection nya:
localhost/hacktivist.me/product.php?id=hacktivist.me
- Lalu kita beri tanda petik 1
localhost/hacktivist.me/product.php?id=hacktivist.me'

And bum akan terlihat seperti ini :
Warning: mysql_fetch_assoc() blablalba

- Nah bagaimana cara memperbaiki nya ?
Sekarang kita coba masukan kode di bawah ini ke dalam fiel product.php :
error_reporting(0);
$patch = array("'", "%27", "union", "select", "from",  "0x", "information_schema", "table", "tables", "column", "columns");
if(preg_match('/' . implode('|', $patch) . '/i', $_GET['id'])) {
 echo "Patched By Hacktivist.me";
 exit;
}
Letakkan script diatas di bawah <?php
- example :
<table border cellpadding='4' cellspacing='0'>
<tr><td>ID</td><td>NAMA DEPAN</td><td>NAMA BELAKANG</td><td>PASSWORD</td>
<td>Product</td></tr>
<?php
error_reporting(0);
$patch = array("'", "%27", "union", "select", "from",  "0x", "information_schema", "table", "tables", "column", "columns");
if(preg_match('/' . implode('|', $patch) . '/i', $_GET['id'])) {
 echo "Patched By Hacktivist.me";
 exit;
}
require_once("config.php");
if(isset($_GET['id'])){
$id = $_GET['id'];
$query = mysql_query("select * from hacktivist.me where id='$id'");
while($data = mysql_fetch_assoc($query)){
$id = $data['id'];
$nama_depan = $data['nama_depan'];
$nama_belakang = $data['nama_belakang'];
$password = $data['password'];
$product = $data['product'];
echo "
<tr>
<td>$id</td>
<td>$nama_depan</td>
<td>$nama_belakang</td>
<td>$password</td>
<td>$product</td>
</tr>
";
}
}
?>
</table>

dan coba kalian buka lg :
localhost/hacktivist.me/product.php?id=hacktivist.me'

akan muncul output di bawah ini :
Patched By Hacktivist.me

And bum sql injection telah ter patch

-sekian dan terima kasih
-Thanks to mr.cakil and Androsec1337 Cyber Team
 

0 comments:

Post a Comment

loading...