Разрыв HTML в iframe src
У нас есть приложение ColdFusion с большим количеством устаревшего кода и большим количеством нового кода. При рендеринге устаревшего кода, который еще не был обновлен, мы отображаем его в iframe. Однако проверка безопасности нашего программного обеспечения выявила проблемы с разрывом некоторых страниц при включении html в URL.
Пример взлома URL: https://mySite.com/coldfusionPage.cfm?layout=true&67c26"><a>bb6cb=1
Когда iframe отображает это, он ломается, потому что кавычки и скобки в URL заканчивают тег iframe, а остальная часть тега url и iframe просто отображается на странице как html.
2 ответа
Если вы включаете этот параметр, не удаляя его на предмет вредоносного контента, тогда ваша сканирующая компания права. Вы открыты для кого-то, кто передает ссылку, которая размещает контент на вашей странице (никогда не бывает хорошей вещью). Вы не хотите передавать вещи через URL, которые затем вставляются в URL-адрес iFrame. Думаю об этом. Если у вас была следующая ссылка, подобная этой:
href="https://mySite.com/myPage.cfm?Include=someIframPage.cfm
и затем вы вставили "someIframePage.cfm" в целевой URL вашего iframe, кто-то может прийти и просто вставить туда другую страницу - и отправить электронные письма на фишинг вашего сайта.
Вы должны убедиться, что ЛЮБОЙ переданный URL-адрес назван правильно и включает только те вещи, которые, как вы знаете, должны быть там, и очищен от HTML, прежде чем использовать его где-либо.
РЕДАКТИРОВАТЬ ПРИМЕЧАНИЕ:
Я заметил, что вы ответили, что не передаете страницу iframe в качестве параметра - но вы помещаете незащищенный HTML-код на страницу через отсутствующий обработчик шаблонов или что-то еще. В вашем примере кода сканирования компании они прошли true&67c26"><a>bb6cb=1
, поскольку доброкачественный HTML затем подтолкнул вас к тому, чтобы разрешить незащищенный HTML на странице - как они должны. Что делать, если я выбрал:
https://mySite.com/coldfusionPage.cfm?layout=true&67c26"><iframe src="http://www.mysiteurl.com/somemaliciouscode.php">bb6cb=1
... как мой "специально закодированный" параметр url? Могу ли я добавить на вашу страницу iframe? Все, что позволяет пользователям вводить html на страницу, фактически является угрозой безопасности. Пользовательский ввод (параметры URL, параметры формы, файлы cookie) должен быть очищен и проверен перед использованием. Это простая лучшая практика для безопасности вашей страницы. Извините, но я думаю, что ваша компания по сканированию сделала это правильно, и я просмотрел тонну отчетов о сканировании:)
Мы сами ответили на это, добавив правило IIS для фильтра запросов, которое блокировало определенные символы, которые могли нарушить iframe, в который была добавлена страница. У нас было несколько проверок, и эти проверки часто решали проблему, но эту особенную страница как-то обошла эти проверки. Правило IIS исправило это.