Я изучал уязвимость в системе безопасности phpMyAdmin (CVE-2018–12613), и лучшая статья о ней не объясняет очень важную техническую деталь.
Он просто говорит: «Запуски index.php включают« sql.php?/../../etc/passwd », и PHP имеет эту магию для преобразования пути в ../etc/passwd, не проверяя, является ли каталог sql .php? существует или нет."
Может ли кто-нибудь помочь мне понять это? https://medium.com/@happyholic1203/phpmyadmin-4-8-0-4-8-1-remote-code-execution-257bcc146f8e
В руководстве по php есть некоторая информация об этом, например, Джон Карти написал, как вы можете внедрить некоторый код, используя свой собственный веб-сайт, но это не объясняет мой случай. https://www.php.net/manual/en/function.include.php
Когда я написал следующую строку в свой собственный php-сервер apache2 laravel:
include('../../../etc/passwd');
Затем я получил содержимое etc/passwd на своей странице, но написав
include('sql.php?../../../etc/passwd');
или
include('index.php?../../../etc/passwd');
ничего не делать. Что мне не хватает?
В результате команда include:
include 'sql.php?/../../etc/passwd'
включает только '../../../etc/passwd'
Перечитав это, попробуйте include('sql.php?../../../../etc/passwd');. sql.php? отображается как каталог, поэтому вам нужен дополнительный ../, чтобы подняться.
@AdraCadaver Количество (3) ../ правильно для моей установки. И предлагаемый include('sql.php?../../../../etc/passwd'); тоже не работал
@AdraCadaver Вы абсолютно правы! 'включить('sql.php?/../../../../etc/passwd');' работал! Мне нужен дополнительный /../, чтобы sql.php? считать каталогом.






include('sql.php?/../../../../etc/passwd');
работал! Мне нужен был дополнительный /../, чтобы sql.php? считался каталогом. «Магия» команды include заключается в том, что она позволяет вам войти в несуществующие каталоги, а затем выйти из них.
@ miken32 Следующая лучшая запись на китайском языке: D blog.vulnspy.com/2018/06/21/phpMyAdmin-4-8-x-LFI-Эксплойт Конечно, эта строка взята из URL-адреса, но почему она не должна работать так же, когда жестко закодирована в php?