安全测试Web精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
SQL注入
原URL: 攻击SQL注入: ‘’ or 1=1
11
XML注入
和SQL注入原理一样,XML是存储数据的 地方,如果在查询或修改时,如果没有做 转义,直接输入或输出数据,都将导致 XML注入漏洞。攻击者可以修改XML数据 格式,增加新的XML节点,对数据处理流 程产生影响。
12
Web
1
什么是Web安全测试
Web安全测试定义
Web安全测试就是要提供证据表明,在 面对敌意和恶意输入的时候,web系统应用 仍然能够充分地满足它的需求。
-----《web安全测试》
2
为什么进行Web安全测试
为什么进行Web安全测试
➢ Web攻击主要类型介绍
如何进行Web安全测试
➢ Web安全测试方法介绍 ➢ Web安全测试工具介绍
盗取Cookie 钓鱼 操纵受害者的浏览器 蠕虫攻击
5
反射型跨站(Reflected XSS)
• 服务端获取HTTP请求中的参数,未经过滤直接 输出到客户端。如果这些参数是脚本,它将在 客户端执行。(钓鱼常见)
存储型跨站(Stored XSS)
用户输入的数据存放在服务端(一般放数 据库里),其他用户访问某个页面时,这 些数据未经过滤直接输出。这些数据可能 是恶意脚本,对其他用户造成危害。(挂 马常见)
</USER> <USER role=admin>
<name>test</name> <email></email> </USER>
14
目录遍历
目录遍历攻击指的是:恶意用户找到受限文件的位置 并且浏览或者执行它们。
攻击者浏览受限文件,比如读取配置文件、密码文件 等,就会破坏隐私,甚至引发安全问题。而如执行了 受限的文件,攻击者就可以根据自己的意愿来控制和 修改web站点。
23
安全体系架构
异常管理 系统在抛出异常的时候是否泄漏一些敏感
的信息 审核和日志记录
是否有审计和日志记录 加密
敏感数据或者重要数据传输过程中和存储 中是否加密
24
应用与传输安全
注册与登录、退出 用户在注册和登录时是否有验证码功能、
登录是否有次数限制、退出时是否session 是否也断开。 在线超时
3
Web攻击主要类型
跨站脚本(XSS)攻击 SQL注入 XML注入 目录遍历 上传下载漏洞攻击 信息泄露 访问控制错误
4
跨站脚本(XSS)
XSS又叫CSS (Cross Site Script) ,跨站脚本攻 击。它指的是恶意攻击者往Web页面里插入 恶意html代码,当用户浏览该页之时,嵌入 其中Web里面的html代码会被执行,从而达 到恶意用户的特殊目的。
会话管理 会话是否有超时、数据加密等设置
配置管理 配置信息的管理(配置文件的权限等)
参数操作 是否使用参数操作,如sql语句中
22
安全体系架构
输入验证 输入数据是否经过三重验证(客户端、服
务端、数据库) 身份验证
系统是否有用户身份验证 授权管理
是否使用权限控制管理(水平和垂直、 URL级别和菜单级别)
未限制扩展名 未检查文件内容 病毒文件
17
任意文件下载
下载附件等功能
Apache虚拟目录指向 Java/PHP读取文件
下载数据库配置文件等 目录浏览
18
消息泄露
Web应用程序在处理用户错误请求时,程序在抛出异 常的时候给出了比较详细的内部错误信息,而暴露了 不应该显示的执行细节,如文件路径、数据库信息、 中间件信息、IP地址等
用户在线是否有超时限制功能 操作留痕
用户执行重要操作是否有记录或者“确 定”提示。
25
应用与传输安全
服务端的脚本漏洞检测 防火墙测试 HTTPS和SSL测试 备份与恢复
7
DOM跨站(DOM-Based XSS)
用户输入的数据存放在服务端(一般放数 据库里),其他用户访问某个页面时,这 些数据未经过滤直接输出。这些数据可能 是恶意脚本,对其他用户造成危害。(挂 马常见)
8
跨站请求伪造(CSRF)
强迫受害者的浏览器向一个易受攻击的 Web应用程序发送请求,最后达到攻击者所 需要的操作行为。
恶意请求会带上浏览器的Cookie。 受攻击的Web应用信任浏览器的Cookie。
9
SQL注入
将SQL命令人为的输入到URL、表格域、或 者其他动态生成的SQL查询语句的输入参 数中,完成SQL攻击。
查询数据库中的敏感内容 绕过认证 添加、删除、修改数据 拒绝服务
?id=(BENCHMARK(100000000, MD5(RAND()));
19
如何进行Web安全测试
手动测试 自动测试 混合测试
20
手动测试
手动(人工)测试就是在系统测试过程中 对系统的安全漏洞方面进行人为针对性的 测试。
主要从安全体系架构、应用与传输、其他 配置类安全(中间件等)等几个方面进行 安全测试。
21
安全体系架构
敏感数据 在传输过程中和存储中是否加密
<name>user1</name> <email></email>
</USER>
13
XML注入
如果用户输入email的内容是这样:</email></USER><USER
role=admin><name>test</name><email>
最终结果将是这样:
<USER role=guest> <name>user1</name> <email></email>
15
目录遍历
请看以下一个URL: 我们可以尝试进行攻击: 或者尝试访问应用服务器的系统目录:
16
文件上传
Web应用程序在处理用户上传的文件时,没有判断文 件的扩展名是否在允许的范围内,或者没检测文件内 容的合法性,就把文件保存在服务器上,甚至上传脚 本木马到web服务器上,直接控制web服务器。
XML注入
$xml = "<USER role=guest><name>“ . $_GET[‘name’] . "</name><email>“ . $_GET[‘email’] . "</email></USER>";
原本应该产生一条这样的记录: <?xml version="1.0" encoding="UTF-8"?> <USER role=guest>
SQL注入
原URL: 攻击SQL注入: ‘’ or 1=1
11
XML注入
和SQL注入原理一样,XML是存储数据的 地方,如果在查询或修改时,如果没有做 转义,直接输入或输出数据,都将导致 XML注入漏洞。攻击者可以修改XML数据 格式,增加新的XML节点,对数据处理流 程产生影响。
12
Web
1
什么是Web安全测试
Web安全测试定义
Web安全测试就是要提供证据表明,在 面对敌意和恶意输入的时候,web系统应用 仍然能够充分地满足它的需求。
-----《web安全测试》
2
为什么进行Web安全测试
为什么进行Web安全测试
➢ Web攻击主要类型介绍
如何进行Web安全测试
➢ Web安全测试方法介绍 ➢ Web安全测试工具介绍
盗取Cookie 钓鱼 操纵受害者的浏览器 蠕虫攻击
5
反射型跨站(Reflected XSS)
• 服务端获取HTTP请求中的参数,未经过滤直接 输出到客户端。如果这些参数是脚本,它将在 客户端执行。(钓鱼常见)
存储型跨站(Stored XSS)
用户输入的数据存放在服务端(一般放数 据库里),其他用户访问某个页面时,这 些数据未经过滤直接输出。这些数据可能 是恶意脚本,对其他用户造成危害。(挂 马常见)
</USER> <USER role=admin>
<name>test</name> <email></email> </USER>
14
目录遍历
目录遍历攻击指的是:恶意用户找到受限文件的位置 并且浏览或者执行它们。
攻击者浏览受限文件,比如读取配置文件、密码文件 等,就会破坏隐私,甚至引发安全问题。而如执行了 受限的文件,攻击者就可以根据自己的意愿来控制和 修改web站点。
23
安全体系架构
异常管理 系统在抛出异常的时候是否泄漏一些敏感
的信息 审核和日志记录
是否有审计和日志记录 加密
敏感数据或者重要数据传输过程中和存储 中是否加密
24
应用与传输安全
注册与登录、退出 用户在注册和登录时是否有验证码功能、
登录是否有次数限制、退出时是否session 是否也断开。 在线超时
3
Web攻击主要类型
跨站脚本(XSS)攻击 SQL注入 XML注入 目录遍历 上传下载漏洞攻击 信息泄露 访问控制错误
4
跨站脚本(XSS)
XSS又叫CSS (Cross Site Script) ,跨站脚本攻 击。它指的是恶意攻击者往Web页面里插入 恶意html代码,当用户浏览该页之时,嵌入 其中Web里面的html代码会被执行,从而达 到恶意用户的特殊目的。
会话管理 会话是否有超时、数据加密等设置
配置管理 配置信息的管理(配置文件的权限等)
参数操作 是否使用参数操作,如sql语句中
22
安全体系架构
输入验证 输入数据是否经过三重验证(客户端、服
务端、数据库) 身份验证
系统是否有用户身份验证 授权管理
是否使用权限控制管理(水平和垂直、 URL级别和菜单级别)
未限制扩展名 未检查文件内容 病毒文件
17
任意文件下载
下载附件等功能
Apache虚拟目录指向 Java/PHP读取文件
下载数据库配置文件等 目录浏览
18
消息泄露
Web应用程序在处理用户错误请求时,程序在抛出异 常的时候给出了比较详细的内部错误信息,而暴露了 不应该显示的执行细节,如文件路径、数据库信息、 中间件信息、IP地址等
用户在线是否有超时限制功能 操作留痕
用户执行重要操作是否有记录或者“确 定”提示。
25
应用与传输安全
服务端的脚本漏洞检测 防火墙测试 HTTPS和SSL测试 备份与恢复
7
DOM跨站(DOM-Based XSS)
用户输入的数据存放在服务端(一般放数 据库里),其他用户访问某个页面时,这 些数据未经过滤直接输出。这些数据可能 是恶意脚本,对其他用户造成危害。(挂 马常见)
8
跨站请求伪造(CSRF)
强迫受害者的浏览器向一个易受攻击的 Web应用程序发送请求,最后达到攻击者所 需要的操作行为。
恶意请求会带上浏览器的Cookie。 受攻击的Web应用信任浏览器的Cookie。
9
SQL注入
将SQL命令人为的输入到URL、表格域、或 者其他动态生成的SQL查询语句的输入参 数中,完成SQL攻击。
查询数据库中的敏感内容 绕过认证 添加、删除、修改数据 拒绝服务
?id=(BENCHMARK(100000000, MD5(RAND()));
19
如何进行Web安全测试
手动测试 自动测试 混合测试
20
手动测试
手动(人工)测试就是在系统测试过程中 对系统的安全漏洞方面进行人为针对性的 测试。
主要从安全体系架构、应用与传输、其他 配置类安全(中间件等)等几个方面进行 安全测试。
21
安全体系架构
敏感数据 在传输过程中和存储中是否加密
<name>user1</name> <email></email>
</USER>
13
XML注入
如果用户输入email的内容是这样:</email></USER><USER
role=admin><name>test</name><email>
最终结果将是这样:
<USER role=guest> <name>user1</name> <email></email>
15
目录遍历
请看以下一个URL: 我们可以尝试进行攻击: 或者尝试访问应用服务器的系统目录:
16
文件上传
Web应用程序在处理用户上传的文件时,没有判断文 件的扩展名是否在允许的范围内,或者没检测文件内 容的合法性,就把文件保存在服务器上,甚至上传脚 本木马到web服务器上,直接控制web服务器。
XML注入
$xml = "<USER role=guest><name>“ . $_GET[‘name’] . "</name><email>“ . $_GET[‘email’] . "</email></USER>";
原本应该产生一条这样的记录: <?xml version="1.0" encoding="UTF-8"?> <USER role=guest>