公司的一个客户让我对他的一个网站进行安全性测试。该网站刚刚完成一期开发。从他给我的别的网站的测试报告中,我发现了IBM AppScan,后安装了8.0版并成功破解。
  What's IBM AppScan? It's a famous test tool for security test.
  Wha's security test? Security Test focuses on security issues of a web site/web service.
  我想学英语,想在实际工作中尽可能的使用英语,但我发现大的问题还是词汇量不够啊----像汉语一样。不仅仅是普通词汇,更重要的是词组,专业词汇等等。当然,语言/句型/时态等还得靠平时多听多说,但这不够。
  发音是基础,语法是框架,词汇是砖头/装饰。三者必不可少。不过,无论那个方面,都要多练习。发音靠多说,语法靠多说和多写,词汇,还得多说和多写....
  跑题了,我是要说IBM AppScan的。这个工具很棒,真的很棒。当然我遇到很多问题,毕竟我从来没有用过。回头我得好好总结一下。总结如下:
  首先是一些网站的调整:
  1. 将Session过期时间设置为非常长,这样页面不会退出了。(Web.config: stateNetworkTimeout="14400")
  2. 将页面返回错误详细异常信息的选项关闭,这样Appscan不会总说返回调试信息不安全了。(Web.config:<customErrors mode="Off"/>)
  3. 将允许调试的选项关闭,同样是为了让Appscan不要抱怨。(Web.Config:compilation debug="false")
  4. 将登录页面的验证码功能暂时关闭,这样Appscan方便登录。(修改Logon页面的后台代码)
  5. 将登录页面暂时修改为直接点击“登录”按钮可以登录。(修改Logon页面的后台代码)
  6. 将登录用户的 Session["userName"] = "admin";这样总是以管理员登录,能够访问所有页面和功能。
  然后是一些AppScan的使用:
  7. 登录录像过程,点击“登录”按钮可以进入UI,然后关闭浏览器。
  8. 分模块测试,因为系统页面较多,放在一起测试的话,AppScan会报错。
  9. 保存报告时,不要选择太多,这样报告的页数才能控制在30页以内。一般只在摘要报告模版上增加“安全性问题(不带任何子选项)”和“修复任务”。
  10. 由于开发上采用了iFrame技术,所以AppScan不会自己找到所有的页面,所以需要进行“手动探索”,将想要测试的页面打开过一次,AppScan记住了。
  11. 每次测试前,把已经测试过的页面排除在扫描外,这样可以进行精确的测试控制。
  12. 扫描时,选择“仅测试”速度快一些,测试出来的问题似乎不比full scan少。
  以上仅仅是个人摸索,希望我以后不要再去进行这样的测试工作了:)