!!有没有简单方法修改一下,总不能整个网站所有输入框都校验把?
问题描述
测试人员发现,网站会将用户输入内容中包含的JavaScript代码呈现到页面上。如果攻击者能够设法诱骗合法用户访问其构造的链接或表单,攻击者就能以目标网站的身份在合法用户的浏览器上执行任意JS代码,从而窃取Cookie、执行CSRF、甚至借助浏览器漏洞完全控制用户主机。
测试过程
在系统管理—角色管理—添加角色,在角色名称处添加测试xss代码,如下:
抓包访问此url:http://55.98.1.21:8809/fcpms/...,发现xss代码执行成功:
测试结果
高风险
安全建议
建议验证所有输入数据,有效检测攻击,对所有输出的数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
如果你可以确认你不会返回任何 html 标签, 那么你可以加个钩子,把所有 html 标签都转义一下,这样就可以防护了。比如说小写换成大写这种破坏性的改动。