我正在测试一个具有反射 XSS 或至少一个反射向量的网站,但问题如下:
- 它转义
<,>,"到它们的 HTML 实体,但不是&,)或(. - 您不在标签中,因此您必须创建自己的标签。
这不是我第一次看到这种实现。例如,Express.js 默认具有此功能。像这样的实现对 XSS 安全吗?
我正在测试一个具有反射 XSS 或至少一个反射向量的网站,但问题如下:
<, >,"到它们的 HTML 实体,但不是&,)或(.这不是我第一次看到这种实现。例如,Express.js 默认具有此功能。像这样的实现对 XSS 安全吗?
不,这不一定足够。有许多XSS 向量可能仍然可以应用,具体取决于注入点的位置。
一些例子:
注入未引用的属性值
注入用单引号('而不是")引用的属性值
注入 CSS
注入Javascript
注入评论
……还有更多。您需要进行上下文相关的转义,并且您肯定需要在某些情况下至少转义<, >, ", ', 以及更多。在 OWASP 网站上花点时间;那里写了很多,对此进行了非常详细的解释。
有时它们也会转义“alert”参数,然后您可以使用“onMouseOver”等内容,您可以在此处找到完整链接。https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet (尝试xss定位器)
此外,您可以使用 %3C insead of < 等等...尝试 url 编码等。
如果文本在后台编码,你的 xss 可能无法工作......