黑盒自动化安全性测试的实施
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒自动化WEB安全测试的实施
1.什么是安全测试(What)?
安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,应用仍然能够充分的满足它的需求。
a.如何提供证据?我们通过一组失败的安全测试用例执行结果来证明web应用不满足安全需求。
b.如何看待安全测试的需求?与功能测试相比,安全测试更加依赖于需求,因为它有更多可能的输入和输出可供筛选。
真正的软件安全其实际上指的是风险管理,即我们确保软件的安全程度满足业务需要即可。
2. 如何开展(How to)?
基于常见攻击和漏洞并结合实际添加安全测试用例,就是如何将安全测试变为日常功能测试中简单和普通的一部分的方法。
选择具有安全意义的特殊边界值,以及具有安全意义的特殊等价类,并将这些融入到我们的测试规划和测试策略过程中。
但是若在功能测试基础上进行安全测试,则需要增加大量测试用例。这意味着必须做两件事来使其便于管理:
缩小关注的重点和测试自动化。
黑盒安全测试自动化的实施:
使用工具:
1.wapiti
a.简介:wapiti:开源安全测试漏洞检测工具(Web application vulnerability scanner / security auditor)
Wapiti allows you to audit the security of your web applications. It performs "black-box" scans, i.e. it does not study the source code of the application but will scans the web pages of the deployed web applications,
looking for scripts and forms where it can inject data. Once it gets this list, Wapiti acts like a fuzzer,
injecting payloads to see if a script is vulnerable. Wapiti can detect the following vulnerabilities: File Handling Errors (Local and remote include/require, fopen, ...)
Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections)
XSS (Cross Site Scripting) Injection
LDAP Injection
Command Execution detection (eval(), system(), passtru()...)
CRLF Injection (HTTP Response Splitting, session fixation...)
---------------------------------------------------------------------------------------
功能和特点:
文件处理错误(本地和远程打开文件,readfile ... )
数据库注入(PHP/JSP/ASP,SQL和XPath注入)
XSS(跨站点脚本)注入
LDAP注入
命令执行检测(eval(), system(), passtru()...)
CRLF注射入(HTTP响应,session固定... ) ----------------
统计漏洞数量
成功袭击的细节
漏洞详细信息
提供解决漏洞的方法
HTML报告格式
XML报告格式