Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   eval и GET параметр (https://forum.antichat.xyz/showthread.php?t=473180)

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]
PHP:
[COLOR="#000000"]$file=$_GET['file'];

echo eval('?>join("",file("dir/'.$file.'"))[COLOR="#0000BB"]

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

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

PHP код:

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

Сделать это можно разными способами, используя встроенный функционал скриптов, загрузка картинок как пример. Взломать сайт по соседству и разместить свой файл во временной директории. Если же такой возможности нет, можно использовать файлы сессий PHP, временные файлы, лог файлы и procfs.

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

Код:

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


GTAlex 26.09.2019 06:47

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


Время: 21:55