2013-11-19 6 views
0

Я тестирую веб-приложение для уязвимостей XSS, и я хочу узнать, возможно ли злоумышленнику закрыть предыдущий тег HTML, не зная или не заботясь о том, что это такое.Есть ли общий способ закрыть тег HTML?

Предположим, что предыдущий тег (неизвестный злоумышленнику) равен <span>. Возможно ли взломщик сделать что-то вроде

</> < - близко предшествующий тега (в данном случае <span>) <insert attack here>

+0

Ответ почти наверняка нет, но, конечно, злоумышленник будет знать, что помечать это? – Polynomial

ответ

3

Нет там нет ... но если вы хотите, чтобы некоторые HTML, защищая от XSS вы не должны использовать какой-либо подход, кроме синтаксического анализа HTML в DOM, передавая каждый элемент и атрибут за белый список, а затем сериализуя его обратно в HTML самостоятельно.

1

Нет, нет универсального способа, чтобы закрыть тег, но злоумышленник может просто сложить несколько общих окончания тегов, например:

</div></span></p></table> 

код не будет действителен в любом случае, но браузер попытается сделать все возможное, проигнорировав теги, которые не применяются (в этом случае теги div и table) или неявно создают соответствующие стартовые теги (для тега p в этом случае).

Конечным результатом будет то, что в большинстве случаев злоумышленник выйдет из одного или нескольких элементов, возможно, добавив несколько пустых элементов на этом пути.

1

Лучшим и легким подходом является просто HTML-кодирование всех ваших данных. Конверсия < на & lt; и> до & gt; эффективно делает введенный html бесполезным.

Кроме того, если вы уже находитесь в ситуации XSS, злоумышленник может понять это с помощью javascript, однако я бы предположил, что этот подход не очень полезен, поскольку вы уже были использованы, если javascript выполняет.

<html> 
<body> 
<div id="the-one-im-looking-for"><span id="my-attack-element" style="display:none;">&nbsp;</span> 
<script type="text/javascript"> 
window.alert(document.getElementById("my-attack-element").parentNode.tagName); 
</script> 
</div> 
</html> 

Мне нравится конец спам теги подход ...

Смежные вопросы