logo资料库

Webgoat中文使用手册v2.2.pdf

第1页 / 共177页
第2页 / 共177页
第3页 / 共177页
第4页 / 共177页
第5页 / 共177页
第6页 / 共177页
第7页 / 共177页
第8页 / 共177页
资料共177页,剩余部分请下载后查看
    WebGoat 中文手册 版本:5.4     webgoat 团队      2013年1月 
                                                                              http://www.owasp.org.cn  Revision record 修订记录 项目任务 参与人员 项目人员协调 Rip,袁明坤,Ivy 翻译及整核以往版本 袁明坤,傅奎,beer,南国利剑,lion Webgoat5.4 版本测试 袁明坤,傅奎,beer,南国利剑,lion Webgoat5.4 中文手册 傅奎 审核发布 阿保,王颉, 王侯宝 完成时间 2012 年 7 月 2012 年 8 月 2012 年 8 月 2012 年 9 月 2013 年 1 月 前期参与人员 蒋根伟,宋飞,蒋增,贺新朋,吴明,akast, 杨天识,Snake,孟祥坤,tony,范俊,胡晓斌, 袁明坤         [感谢所有关注并参与过 OWASP 项目的成员,感谢你们的分享和付出,webgoat 和大家一 起成长!如有修改建议,请发送至 webgoat@owasp.org.cn 我们一起改进,谢谢!      2 / 177 
                                                                              http://www.owasp.org.cn  目录 2.3  1.5  2.1  2.2  1.1  1.2  1.3  1.4  1  WebGoat 简介 .......................................................................................................................... 6  什么是 WebGoat ...................................................................................................... 6  什么是 OWASP.......................................................................................................... 6  WebGoat 部署 .......................................................................................................... 6  用到的工具 ............................................................................................................... 7  1.4.1  WebScarab ............................................................................................................ 7  1.4.2  Firebug 和 IEwatch ................................................................................................ 8  其他说明 ................................................................................................................... 8  2  WebGoat 教程 .......................................................................................................................... 9  综合(General) ...................................................................................................... 9  2.1.1  HTTP 基础知识(Http Basics) ........................................................................... 9  2.1.2  HTTP 拆分(HTTP Splitting) ............................................................................. 11  访问控制缺陷(Access Control Flaws) ............................................................... 19  2.2.1  使用访问控制模型(Using an Access Control Matrix) ................................... 19  2.2.2  绕过基于路径的访问控制方案(Bypass a Path Based Access Control Scheme)    ............................................................................................................................. 22  2.2.3  基于角色的访问控制(LAB: Role Based Access Control) ............................... 25  2.2.4  远程管理访问(Remote Admin Access) ......................................................... 36  Ajax 安全(Ajax Security) .................................................................................... 38  2.3.1  同源策略保护(Same Origin Policy Protection) ............................................. 38  2.3.2  基于 DOM 的跨站点访问(LAB: DOM‐Based cross‐site scripting) ................ 39  2.3.3  小实验:客户端过滤(LAB: Client Side Filtering) .......................................... 43  2.3.4  DOM 注入(DOM Injection) ............................................................................ 46  2.3.5  XML 注入(XML Injection) .............................................................................. 49  2.3.6  JSON 注入(JSON Injection) ............................................................................ 52  2.3.7  静默交易攻击(Silent Transactions Attacks) .................................................. 54  2.3.8  危险指令使用(Dangerous Use of Eval) ......................................................... 57  2.3.9  不安全的客户端存储(Insecure Client Storage) ............................................ 59  认证缺陷(Authentication Flaws) ....................................................................... 62  2.4.1  密码强度(Password Strength) ....................................................................... 62  2.4.2  忘记密码(Forgot Password) .......................................................................... 64  2.4.3  基本认证(Basic Authentication) .................................................................... 66  2.4.4  多级登录 1(Multi Level Login 1) ................................................................... 71  2.4.5  多级登录 2(Multi Level Login 2) ................................................................... 73  缓冲区溢出(Buffer Overflows) .......................................................................... 74  2.5.1  Off‐by‐One  缓冲区溢出(Off‐by‐One Overflows) ......................................... 74  代码质量(Code Quality) .................................................................................... 78  2.6.1  在 HTML 中找线索(Discover Clues in the HTML) ......................................... 78  并发(Concurrency) ............................................................................................ 79  2.7.1  线程安全问题(Thread Safety Problems) ....................................................... 79  2.7.2  购物车并发缺陷(Shopping Cart Concurrency Flaw) .................................... 80  跨站脚本攻击(Cross‐Site Scripting (XSS)) ......................................................... 82  2.4  2.5  2.6  2.7  2.8      3 / 177 
                                                                              http://www.owasp.org.cn  2.8.1  使用 XSS 钓鱼(Phishing with XSS) ................................................................. 82  2.8.2  小实验:跨站脚本攻击(LAB: Cross Site Scripting) ...................................... 84  2.8.3  存储型 XSS 攻击(Stored XSS Attacks) ........................................................... 90  2.8.4  跨站请求伪造(Cross Site Request Forgery (CSRF)) ....................................... 91  2.8.5  绕过 CSRF 确认(  CSRF Prompt By‐Pass) ....................................................... 93  2.8.6  绕过 CSRF Token(CSRF Token By‐Pass) .......................................................... 98  2.8.7  HTTPOnly 测试(HTTPOnly Test) ................................................................... 102  2.8.8  跨站跟踪攻击(Cross Site Tracing (XST) Attacks) ......................................... 103  不当的错误处理(Improper Error Handling) ................................................... 105  2.9.1  打开认证失败方案(Fail Open Authentication Scheme) ............................. 105  注入缺陷(Injection Flaws) ............................................................................... 107  2.10.1  命令注入(Command Injection) ................................................................... 107  2.10.2  数字型 SQL 注入(Numeric SQL Injection) ................................................... 109  2.10.3  日志欺骗(Log Spoofing) .............................................................................. 110  2.10.4  XPATH 型注入(XPATH Injection) .................................................................. 112  2.10.5  字符串型注入(String SQL Injection) ........................................................... 113  2.10.6  小实验:SQL 注入(LAB: SQL Injection) ...................................................... 115  2.10.7  通过 SQL 注入修改数据(Modify Data with SQL Injection) ......................... 119  2.10.8  通过 SQL 注入添加数据(Add Data with SQL Injection) .............................. 120  2.10.9  数据库后门(Database Backdoors) .............................................................. 121  数字型盲注入(Blind Numeric SQL Injection) .................................. 123  2.10.10  字符串型盲注入(Blind String SQL Injection) .................................. 124  2.10.11  拒绝服务(Denial of Service) ............................................................................ 126  2.11.1  多个登录引起的拒绝服务(Denial of Service from Multiple Logins) .......... 126  不安全的通信(Insecure Communication)....................................................... 127  2.12.1  不安全的登录(Insecure Login).................................................................... 127  不安全的配置(Insecure Configuration) .......................................................... 130  2.13.1  强制浏览(How to Exploit Forced Browsing) ................................................ 130  不安全的存储(Insecure Storage) .................................................................... 131  2.14.1  强制浏览(How to Exploit Forced Browsing) ................................................ 131  恶意执行(Malicious Execution) ....................................................................... 132  2.15.1  恶意文件执行(Malicious File Execution) .................................................... 132  参数篡改(Parameter Tampering) .................................................................... 134  2.16.1  绕过 HTML 字段限制(Bypass HTML Field Restrictions) ............................. 134  2.16.2  利用隐藏字段(Exploit Hidden Fields) ......................................................... 136  2.16.3  利用未检查的 E‐mail(Exploit Unchecked Email) ........................................ 138  2.16.4  绕过客户端 JavaScript 校验(Bypass Client Side JavaScript Validation) ...... 142  会话管理缺陷(Session Management Flaws) .................................................. 148  2.17.1  会话劫持(Hijack a Session) ......................................................................... 148  2.17.2  认证 Cookie 欺骗(Spoof an Authentication Cookie) ................................... 154  2.17.3  会话固定(Session Fixation) ......................................................................... 158  Web 服务(Web Services) ................................................................................. 162  2.18.1  创建 SOAP 请求(Create a SOAP Request) ................................................... 162  2.18.2  WSDL 扫描(WSDL Scanning) ....................................................................... 168  2.9  2.10  2.11  2.12  2.13  2.14  2.15  2.16  2.17  2.18      4 / 177 
                                                                              http://www.owasp.org.cn  2.18.3  Web Service SAX 注入(Web Service SAX Injection) ..................................... 170  2.18.4  Web Service SQL 注入(Web Service SQL Injection) ..................................... 172  管理功能(Admin Functions) ............................................................................ 175  2.19.1  报告卡(Report Card) ................................................................................... 175  挑战(Challenge) ............................................................................................... 176  2.20.1  挑战(The CHALLENGE!) ............................................................................... 176  2.19  2.20          5 / 177 
                                                                              http://www.owasp.org.cn  1 WebGoat 简介 1.1 什么是 WebGoat WebGoat 是 OWASP 组织研制出的用于进行 web 漏洞实验的应用平台,用来说明 web 应用中存在的安全漏洞。WebGoat 运行在带有 java 虚拟机的平台之上,当前提供的训练课 程有 30 多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、 操纵参数、弱会话 cookie、SQL 盲注、数字型 SQL 注入、字符串型 SQL 注入、web 服务、Open  Authentication 失效、危险的 HTML 注释等等。WebGoat 提供了一系列 web 安全学习的教程, 某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。    1.2 什么是 OWASP OWASP 是一个开放式 Web 应用程序安全项目(OWASP,Open Web Application Security  Project)组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其 目的是协助个人、企业和机构来发现和使用可信赖的软件。开放式 Web 应用程序安全项目 (OWASP)是一个非营利组织,不附属于任何企业或财团。因此,由 OWASP 提供和开发的 所有设施和文件都不受商业因素的影响。  美国联邦贸易委员会(FTC)强烈建议所有企业需遵循 OWASP 所发布的《十大 Web 弱点防 护》守则。  OWASP 官方地址:http://www.owasp.org        OWASP 中文官方:http://www.owasp.org.cn      1.3 WebGoat 部署 WebGoat 可以在网上下载到,运行其中的“webgoat_8080.bat”即可。在运行前,需要 将代理设置为 localhost,端口 8080。  在浏览器中输入 http://localhost:8080/WebGoat/attack 登录,如果启动了 WebScarab, 则在浏览器输入 http://localhost.:8080/WebGoat/attack。初始用户名密码是 guest。  可以在\WebGoat‐5.2\tomcat\conf\tomcat‐users.xml 文件中修改用户名与密码。  也可以在\WebGoat‐5.2\tomcat\conf\server_80.xml 文件中修改端口号。  注意:具体文件路径可能因 WebGoat 版本不同而有所区别。      6 / 177 
                                                                              http://www.owasp.org.cn  1.4 用到的工具 1.4.1 WebScarab  1.4.1.1 介绍 WebScarab 是一个用来分析由浏览器提交到服务器请求,以及服务器对浏览器做出的响 应的应用服务框架,也可以当做一个代理工具,或者说就是一个代理。使用者可以利用 WebScarab 查看、分析、修改、创建所截取的浏览器与服务器之间的请求与响应,也可以用 来分析 HTTP 与 HTTPS 协议。  网页的对话输入框中可能存在某些限制,比如长度,格式等等。现在使用者可以在 WebScarab 截获请求对话框中对其进行修改;还可以利用 WebScarab 对网站进行注入型攻击, 以测试网站的安全性。  WebScarab 也是 WebGoat 的一个辅助工具,在 WebGoat 进行某些漏洞攻击时,可以利 用 WebScarab 分析,修改所提交的请求,以及返回的响应。    1.4.1.2 安装与配置 1. 安装和运行的前提是 JRE 环境的支持,如果双击.jar 文件不能运行,可以右击选 择打开程序为 Java 安装路径下的 jre(C:\ProgramFiles\Java\jre1.6.0_02\bin)。 2. 安装:双击 webscarab-installer-20070504-1631.jar 文件,按照安装向导进行相 应的安装。 3. 运行:安装完成后可以通过桌面快捷方式或者安装目录下的 webscarab.jar 文件进 行运行,运行后如下图:     7 / 177 
                                                                              http://www.owasp.org.cn  4. WebScarab 的安装比较简单,但是需要 JRE 环境。WebScarab 配置,主要是浏览器 网络链接的设置。 5. 测试:勾选 WebScarab 的拦截选项,打开一个页面时 WebScarab 可以截获到请求,   说明配置正确。   1.4.2 Firebug 和 IEwatch  Firebug 是 Firefox 下的一个插件,能够调试所有网站语言,如 HTML,CSS 等,但 FireBug 最吸引人的就是 JavaScript 调试功能,使用起来非常方便,而且在各种浏览器下都能使用 (IE,Firefox,Opera, Safari)。除此之外,还有其他强大的功能,比如 HTML,CSS,DOM 的 察看与调试,网站整体分析等等。总之,就是一套完整而强大的 WEB 开发工具。再有就是 其为开源的软件。 IEWatch 是一个微软 IE 的内置插件,可以查看和分析 HTTP/HTTPS 头信息,cookies 以及通 过 GET 和 POST 提交的数据。 1.5 其他说明 由于 WebGoat 项目(包括中文)本身为 OWASP 多名成员共同参与完成,因此可能出现 部分截图中 IP 或主机名不一致的情况。建议使用时结合您的安装环境的具体情况做必要的 调整。      8 / 177 
分享到:
收藏