![]() |
Чтение файлов => unserialize !
Огненный подгон от тайваньский друзей.
Давеча прошёл HITCON CTF Quals (https://ctf2017.hitcon.org/dashboard/). Там были веб-таски от Orange. Один из них никто не решил: Цитата:
PHP код:
Так вот, внезапно выясняется, что PHP производит десериализацию метаданных при чтении PHAR-архива, и почему-то никто из нас этого не знал. Пруф в сорцах: https://github.com/php/php-src/blob/...ar/phar.c#L609 Пруф вектор: http://view-source:https://raw.githu...017/avatar.gif Почему-то никто про это не знал. Цитата:
PHP код:
Код:
$ php -dphar.readonly=0 proof.php Код:
$ php -dphar.readonly=0 proof.php 1 Обёртка phar:// не работает с удалёнными хостами, поэтому нужно сначала загрузить файл на сервер. Но наличие стаба позволяет сформировать произвольный заголовок (в таске, например, нужно было вставить GIF89a в начало). |
Вроде вот оно, под носом https://bugs.php.net/bug.php?id=69324, ан нет, нужне ещё думалку включать :)
Good news, thanks! |
Цитата:
Кстати, вектор в принципе реален ввиду следующих фактов: 1) Нам не нужен вывод от чтения, достаточно самого вызова file_get_contents или readfile или XXE и т.д. (любой функции с поддержкой обёрток); 2) Залить файл часто можно в /tmp/, дальше лик через phpinfo или брут. |
Цитата:
Код:
file_exists Тут есть ещё на что посмотреть. Функции записи в файл, не юзабельны, по крайней мере у меня не взлетело. Есть загвоздки, как по ограничению в php.ini, так и с обязательным расширением .phar. |
Цитата:
Цитата:
phar/stream.c phar/phar.c Судя по функции phar_detect_phar_fname_ext и её описанию, без расширения, будем получать только FAILURE. В сях не силён и большая часть кода китайская грамота для меня, поэтому прошу компетентных людей дать своё заключение, потеряно ли развитие вектора в этом направлении. |
Вроде никак, phar.c#L2014:
Код:
pos = memchr(filename + 1, '.', filename_len); |
Блин, отстой... Тоже не нашёл байпасса. Ну, значит, нужен нормальный аплоад или ссрф =(
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 11:42. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot