我使用Burp套件对我的应用程序进行了漏洞扫描。我的一些输入字段可以接受HTML代码(例如<script>alert("exploited")</script>),它将以文本形式显示,但从不以HTML或脚本的形式执行。具体来说,它被存储为一个字符串,并且总是作为字符串来处理。
请看下面的截图:

我认为这不能被视为XSS漏洞,因为脚本从未真正被执行。是这样吗,还是我在这里很脆弱?
发布于 2018-01-25 13:26:12
当攻击者试图注入这段代码时,这就是安全web应用程序的预期行为。应用程序显然正确地转义了javascript代码,并演示了在不执行它的情况下将其输出为文本的能力。注意,<script>alert('you can also "inject" valid JavaScript code into Stackexchange without it getting executed by browsers of any other users')</script>。
另一种解决方案是过滤用户输入,以删除任何“邪恶”字符,如<、>、'或"。但是这样的解决方案仅仅是第二好的,因为它们可能会导致意外的行为,比如屏蔽非恶意输入(您的意思是,我的用户名不能是<'_'>?)或者可能无法捕捉到攻击者可能想出的每一个“邪恶”角色。
https://security.stackexchange.com/questions/178380
复制相似问题