防止XSS攻击包含在用户提供的链接中的正确方法是什么?

问题描述 投票:0回答:1

我正在尝试修复网站上的XSS问题,在该网站上,用户提供的链接被发送到服务器端,然后呈现回网页。可以在攻击者的链接关闭HTML标记的地方执行XSS攻击,方法是在其末尾附加以下内容:"/><img+src/onerror%3d'alert(document.domain)'><"

我正在尝试OWASP Java HTML Sanitizer Library,但无法使其正常工作。

似乎断开了链接。例如,如果我将此链接输入到LINKS默认策略,则会破坏该链接:

之前:https://www.google.com/search?client=firefox-b-d&q=xss+encoding+url

之后:https://www.google.com/search?client&#61;firefox-b-d&amp;q&#61;xss&#43;encoding&#43;url

如果将编码后的链接粘贴到浏览器中,它将不会直接将我定向到Google搜索。

我感觉我对XSS攻击如何在URL上产生误解,并且希望能帮助您理解为什么消毒剂无法按预期工作。我希望消毒剂对诸如“

java security xss owasp
1个回答
0
投票

顾名思义,HTML Sanitizer旨在对html内容(尤其是生成的主体内容,javascript等)进行清理。也就是说,如果您将经过清理的字符串放入html页面,则将可以正常工作。

只需尝试以下操作:

<html>
<body>
<a href="https://www.google.com/search?client&#61;firefox-b-d&amp;q&#61;xss&#43;encoding&#43;url">Click<a/>
</body>

单击经过常规处理的链接确实会引导您进行所需的Google搜索。

© www.soinside.com 2019 - 2024. All rights reserved.