- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
特殊形式的网络协议模糊测试 测试方法 设置目标环境 输入 GET、POST、HEAD 、PUT 、DELETE 、TRACE 、CONNECT 、 OPTIONS 请求URL 异常检测 Web Fuzz测试 拒绝服务(Denial-of-service,DoS) 跨站脚本(Cross-site scripting,XSS) SQL注入(SQL injection) 目录遍历/弱访问控制(Directory traversal/Weak access control) 弱认证(Weak authentication) 弱回话管理(Weak session management) 缓冲区溢出(Buffer overflow) 未恰当支持的HTTP方法(Improperly supported HTTP method) 远程命令执行(Remote command exection) 远程代码注入(Remote code injection) 带有漏洞的库(Vulnerable libraries) HTTP响应分割(HTTP response splitting) 跨站请求伪造(Cross Site Requset Forgery,CSRF) 主要Web漏洞 HTTP 状态码 Web服务器错误消息 中断连接 日志文件 时间日志 调试器 Web Fezz异常检测 三、基于模糊测试的方法 主要内容 模糊(Fuzz、Fuzzing)测试概述 几种常见的Fuzz测试 基于白盒的Fuzz测试 3.1模糊测试概述 是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。 模糊测试(Fuzz testing)是一种发现安全漏洞的有效的测试方法,在安全性测试中越来越受到重视,模糊测试将随机的坏数据插入程序,观察程序是否能容忍杂乱输入,模糊测试是不合逻辑的,只是产生杂乱数据攻击程序,采用模糊测试攻击应用程序可发现其他采用逻辑思维来测试很难发现的安全漏洞。 早期其实是一种基于黑盒的随机测试方法。 Baron Miller等人1989年首先提出。在通过拨号接入远程的工作站时,雷电干扰了电话线传输,导致一些错误的数据,而这些数据使得Unix系统中的某个工具程序崩溃。于是他对各种Unix中的工具程序进行了系统的测试,发现在7个版本的Unix系统中的90个工具程序,24%的工具可以被攻击至崩溃。 Baron Miller的步骤 创建一个产生随机字符的程序,以及一个程序来帮助在测试中与各种工具进行交互。 使用这些程序测试Unix工具是否会在输入随机字符串时崩溃。 发现这些导致Unix工具崩溃的字符串。 分析崩溃的原因,以及对导致崩溃的公共错误进行分类。 Fuzzing测试的用例通常具备某种攻击性的畸形数据。 具备较好的自动化测试能力。 “蛮力”攻击方法。 很少出现误报。 能够快速找到真正的漏洞,操作简单。 通常不是进行功能性测试,而是检查系统处理错误的能力,比如:“入侵”、 “破坏” 、 “崩溃” 不能保证系统中已经没有漏洞。 模糊测试的特点 访问控制漏洞 设计逻辑不良 后门 内存破坏 多阶段安全漏洞 模糊测试的局限性和期望 识别测试目标 识别用户输入 生成Fuzz测试数据 执行Fuzz测试数据 监视异常 确定可利用性 模糊测试的常规步骤 Fuzz测试中的主要方法 术语 定义 傻瓜(Dumb)Fuzz 随机破坏数据包,不考虑数据结构 智能(Smart)Fuzz 破坏数据包,但考虑数据结构,以及编码方法,如BASE-64编码,以及数据块间的关系,如校验值,某些数据域是否存在的标志位,数据位的长度 黑盒Fuzz 发送畸形的数据,没有验证代码路径是否满足 白盒Fuzz 发送畸形的数据,验证了目标代码路径已经满足 生成(Generation) 自动产生Fuzz测试数据,并不基于任何前面的输入 变异(Mutation) 根据缺陷模式,通过破坏有效地数据来产生Fuzz测试数据 变异模板 使用变异模板作为输入,产生Fuzz缓冲池并发送给测试软件 微软的John Neystadt给出 预生成测试用例 随机生成输入 人工协议变异测试 变异或强制性测试 自动协议生成测试 Fuzz测试方法(用例生成) 本地模糊器 命令行模糊测试器 环境变量模糊测试器 文件格式模糊测试器 远程模糊测试器 网络协议模糊测试器(简单协议、复杂协议) Web应用模糊测试器 内存模糊测试器 模糊测试框架 Fuzz测试器类型 文件Fuzz测试 协议Fuzz测试 组件Fuzz测试 Web Fuzz测试 3.2几种常见的Fuzz测试 文件作为程序的主要输入(IE、OFFICE) 按照事先约定好的数据结构对文件中不同的数据域进行解析 文件格式发生改变,攻击者进行修改并注入不
文档评论(0)