Есть форум с IPB 3.3.0 , всё у этого форма прекрасно, даже CVE-2012-2226 не пропатчена, PHP версии 5.2.17 , который позволяет null-byte poisoning, и даже в корне сайта лежит волшебный файл /phpinfo.php
Уязвимость позволяет сделать require_once произольного .php файла в системе, и эта часть работает.
Но в описании уязвимости основной акцент делается на то, что её можно использовать совместно с null-byte poisoning для того чтобы сделать инклюд не .php файла, а файла с любым расширением, например закачанный в uploads джипег. И эта часть у меня не получается.
Более того, мне кажется автор эксплоита чего-то напутал и она в принципе не должна получаться.
В эксплоите даны куски кода, где анализируется как работает баг. Параметр key распаковывают base64:
Чтобы заюзать null-byte poisoning надо чтобы $area было равно target_file_name.txt , но $key, из которого получается $area проходит через trim() который NULL оттуда вырезает.
Таким образом, в $area ну никак не может оказаться NULL.
Вопросы:
1. Что имел ввиду автор эксплоита?
2. Как раскрутить LFI во что-то полезное, когда он инклудит только .php ?