安全测试-使用IBM Security AppScan Standard扫描及结果分析
文章目录
最近测试支付系统,做了安全测试,使用IBM Security AppScan Standard扫描,并对结果进行分析。
第一部分:扫描步骤
- 进入工具,点击左上角扫描-完全扫描
输入要扫描网址
在弹出的对话框中选择“否”-扫描过程中自动保存
开始扫描(未登录情况扫描,也可以进行登录扫描)
第二部分:扫描结果
对网站进行扫描后,查看问题,可以看到扫描出来的漏洞,其中,XSS漏洞需要重点被关注,XSS漏洞存在被钓鱼的风险。
- 跨站点脚本编制:
点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示
1 | http://testbilling.stnts.com/fulu/gameRecharge.do?gId=161"/><script>alert(10443)</script> |
可看到alert信息
- 通过框架钓鱼:
点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示
1 | http://testbilling.stnts.com/fulu/gameRecharge.do?gId=161%27%22%3E%3Ciframe+id%3D10438+src%3Dhttp%3A%2F%2Fdemo.testfire.net%2Fphishing.html%3E |
效果如下图
- 链接注入(便于跨站请求伪造):
点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示
1 | http://testbilling.stnts.com/fulu/gameRecharge.do?gId=%22%27%3E%3CIMG+SRC%3D%22%2FWF_XSRF10439.html%22%3E |
对于以上,建议解决方案:
a.输入进行过滤或转义:输入检查一般是检查用户输入的数据中是否包含一些特殊字符,如<、>、’、”等,如果发现存在特殊字符,则将这些字符过滤或者编码;
b.使用函数:使用一个更加严格的JavascriptEncode函数来保证安全——除数字、字母外的所有字符,都使用十六进制”\xHH”的方式进行编码。
- 已解密的请求登录:
点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示
1 | http://testbilling.stnts.com/api/billing/pay.do?rechargeType=game&uid=&passport=yilewantest&game_code=&server_code=& |
效果如下图:
- 内部ip泄露
- 会话cookie中缺少HttpOnly属性
所有Cookie都设置HttpOnly属性
- 针对cookie保护:
cookie的保护:6和7非常有效
第6个,针对https的
第7个针对,XSS攻击cookie