PDA

Просмотр полной версии : eval и GET параметр


GTAlex
25.09.2019, 14:42
В скрипте есть такой код

[CODE]
Code:
$file=$_GET['file'];

echo eval('?>'.join("",file("dir/$file")).''.join("",file("see/$file")).''.join("",file("see/")).print(1).(("")).'

crlf
25.09.2019, 16:09
Имея нечто подобное:


PHP:
$file=$_GET['file'];

echo eval('?>join("",file("dir/'.$file.'"))

В вашем же примере, данные для обработки в eval, это строка получаемая в результате склейки содержимого файла. Пользовательский ввод из $_GET['file'], сначала обрабатывается функцией file, далее строки склеиваются и только этот результат попадает в конечную строку обрабатываемую eval.

Для успешной атаки, вам нужно загрузить свой файл на сервер. Примерно с таким содержимым:

[PHP]
PHP:
[COLOR="#000000"][COLOR="#0000BB"]


Сделать это можно разными способами, используя встроенный функционал скриптов, загрузка картинок как пример. Взломать сайт по соседству и разместить свой файл во временной директории. Если же такой возможности нет, можно использовать файлы сессий PHP (https://antichat.live/threads/471183/), временные (https://rdot.org/forum/showthread.php?p=43632) файлы (https://rdot.org/forum/showthread.php?t=1134), лог файлы и procfs (https://rdot.org/forum/showthread.php?t=343).

После успешной отправки и определения точного местоположения вашей нагрузки, ипользовать найденную вами уязвимость, примерно в таком виде:


Code:
http://your-site.com/vulnerable-script.php?file=/tmp/sess_db459ddca34fd63261084684bed71f7c&code=phpinfo();

GTAlex
26.09.2019, 06:47
Спасибо большое, очень развёрнуто! За ссылочки отдельное спасибо!