Просмотр полной версии : Уязвимость в уплоадерах
Octavian
10.03.2017, 18:14
Читал книгу наткнулся на это попробовал уязвимость на практике но ничего не вышло
Что имел ввиду автор? Ведь название временного файла генерируется автоматически и даже если мы откроем скрипт словим POST и вместо названия напишем etc/passwd ничего не произойдет! http://uploads.ru/94nJd.jpg
http://s3.uploads.ru/t/94nJd.jpg
Большая часть текста взята из мана PHP. Смею предположить, что имеется в виду какой-то частный случай типа extract, $$val или register_globals=On.
Ведь название временного файла генерируется автоматически
При возможности перезаписи значений переменных возможна атака.
@crlf (https://antichat.live/members/285197/) прав.
Начинка https://github.com/php/php-src/blob/master/ext/standard/basic_functions.c#L5808
Пример:
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
Nginx + PHP 5.6 нормально отрабатывает. В каком окружении проверяешь? Варнинги есть?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot