手上的一个项目最近用appscan扫描测试。遇到了几个中高问题:
- 通过框架钓鱼
- 链接注入(便于跨站请求伪造)
- 跨站点脚本编制
看了下测试报告给出的原因:未对用户输入正确执行危险字符清理。
修改建议是针对xss漏洞进行修复。
最开始处理的时候,参照预防XSS攻击,(参数/响应值)特殊字符过滤这篇博文做了过滤,再扫描还是有这几个问题。
后面又看了篇博文XSS攻击常识及常见的XSS攻击脚本汇总,了解到了还有各种变种攻击。
经过多次扫描,发现一个就加一个过滤条件。终于没再报这几个问题了。
下面附上我的过滤条件。
public boolean checkXssAttack(String str) {
String[] regexArr = {
"<(\\s)*(no)?script", "(no)?script(\\s)*>", "<(\\s)*iframe", "iframe(\\s)*>", "<(\\s)*img",
"img(\\s)*>", "src(\\s)*=", "<(\\s)*a", "a(\\s)*>", "href(\\s)*=",
"style(\\s)*=", "function\\(", "eval\\(", "expression\\(", "javascript:",
"vbscript:", "view-source:", "window[\\s\\S]*location", "window\\.", "\\.location",
"document[\\s\\S]*cookie"

项目使用AppScan进行安全扫描,发现了框架钓鱼、链接注入(利于CSRF)和跨站点脚本(XSS)等问题。初步解决是依据测试报告进行用户输入的危险字符清理,但初次过滤未能解决问题。通过学习XSS攻击知识,了解到攻击的变种,并逐步完善过滤条件,最终成功避免了这些问题。以下是实施的过滤条件。
最低0.47元/天 解锁文章
6695

被折叠的 条评论
为什么被折叠?



