Вы абсолютно не проверяете данные пришедшие от юзера. У вас наверняка не произвольный список возможных страниц, можно сделать scandir и проверять существует ли запрашиваемая страницы.
Абсолютно не проверяются относительные пути, то есть технически можно запросить файл "pages/../../../../upload/word.php', а в папку upload положить можно файл множеством путей (причем не все из них из админки).
Чтобы ему там быть, ему надо как-то туда попасть.
По такой логике вредоносный код может быть, где угодно, в том числе и на странице которая уже "инклудит"
Так в чем решение, не "инклудить" страницы по мнению битрикса?
psiklop, любая автоматическая проверка - это рекомендация "как правильно" делать. Приведенный пример без фильтрации поступающих от пользователя данных "неправильный", только и всего. Начать стоит хотя-бы с проверки поступающего имени страницы на наличие допустимых символов, если уж так хочется инклюдить файлы динамически, в обход общепризнанной практики MVC.
zorca, что за фильтрация, как ее сделать, чтобы bitrix не ругался? Я отфильтровал basename, здесь достаточно, ниже по коду, где запрос к mysql есть еще addslashes.
psiklop, проверка же не отвечает вам да/нет, наверное приведена конкретная уязвимость и направление решения? Мы же не будем вас пытать, чтобы вытянуть всю необходимую для ответа информацию.
zorca, полезно, но там другая уязвимость "Cross Site Scripting", вряд ли мне поможет :(
А в другом месте еще и навредит, так как заменит кавычки на HTML мнемоники и поиск по базе MYSQL пройдет неверно
pythonist1234, эт я понял, или не пользоваться Bitrix или не 'инклудить' файлы
Скрипт-то вообще к Bitrix не имеет отношения, он просто в каталоге сайта залит :)
Через это все равно можно покопаться в файлах, как минимум узнать какие существуют в той же директории.
А можно и подключить что-то интересное получится.
Самый норм вариант проверять по белому списку допустимые значения, а не подключать что угодно.
Пример практический как подключить что-то интересное в студию, плиз?
Пусть копаются, это не суть, там только те файлы, что есть страницы, суть вопроса как успокоить сканер.
Александр Аксентьев, это мой скрипт, просто его залили в папку с сайтом и там теперь сканер ругается, причина как я понял в этих 2 строчках и она называется "File Inclusion"