@psiklop

Где тут уязвимость в скрипте PHP?

Сканер битрикса пишет, что тут есть уязвимость, в чем заключается уязвимость?

$page = basename($_GET['page']);
if (file_exists("pages/$page.php")) include("pages/$page.php");
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
rpsv
@rpsv
делай либо хорошо, либо никак
Вы абсолютно не проверяете данные пришедшие от юзера. У вас наверняка не произвольный список возможных страниц, можно сделать scandir и проверять существует ли запрашиваемая страницы.

Абсолютно не проверяются относительные пути, то есть технически можно запросить файл "pages/../../../../upload/word.php', а в папку upload положить можно файл множеством путей (причем не все из них из админки).
Ответ написан
@pythonist1234
Уязвимость в том, что на странице, которую вы include'ите может быть вредосносный код.
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Через это все равно можно покопаться в файлах, как минимум узнать какие существуют в той же директории.
А можно и подключить что-то интересное получится.

Самый норм вариант проверять по белому списку допустимые значения, а не подключать что угодно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы