文章目录

最近测试支付系统,做了安全测试,使用IBM Security AppScan Standard扫描,并对结果进行分析。

第一部分:扫描步骤

  1. 进入工具,点击左上角扫描-完全扫描

输入要扫描网址

在弹出的对话框中选择“否”-扫描过程中自动保存

开始扫描(未登录情况扫描,也可以进行登录扫描)

第二部分:扫描结果

对网站进行扫描后,查看问题,可以看到扫描出来的漏洞,其中,XSS漏洞需要重点被关注,XSS漏洞存在被钓鱼的风险。

  1. 跨站点脚本编制:

点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示

1
http://testbilling.stnts.com/fulu/gameRecharge.do?gId=161"/><script>alert(10443)</script>

可看到alert信息

  1. 通过框架钓鱼:

点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示

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. 链接注入(便于跨站请求伪造):

点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示

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. 已解密的请求登录:

点击“在浏览器中显示”按钮,查看链接并在自己浏览器中显示

1
2
http://testbilling.stnts.com/api/billing/pay.do?rechargeType=game&uid=&passport=yilewantest&game_code=&server_code=&
productCode=yilewan&sourceCode=&currency=STNTS_CURRENCY%2CE_CURRENCY

效果如下图:

  1. 内部ip泄露

  1. 会话cookie中缺少HttpOnly属性

所有Cookie都设置HttpOnly属性

  1. 针对cookie保护:

cookie的保护:6和7非常有效

第6个,针对https的
第7个针对,XSS攻击cookie

文章目录