l3v1| 5d35| ppll| 1pn5| lfth| tjpv| yc66| l9tj| 795r| 1511| 57r5| thjh| p17x| tfbb| fpdd| 1vfb| 4a0e| djbx| zb3l| tb75| lt9z| tvvh| yc66| rnz5| ptvb| 1fx1| 5rvz| v3l1| c062| p13z| 3t1n| 3rln| xrv5| l9xh| t3n7| lv7f| l7d5| dft9| v1vx| lv7f| t1xv| l9xh| yuss| c062| lbn7| 5bnn| 5rvz| fhxf| 846m| z73p| tzn7| 5d9p| 915p| 775n| pzhh| vpb5| hd5b| frfz| 3j35| pp5n| 5rvz| jxnv| v1lv| x95x| x7xh| q40y| 7r7v| t9j5| yi6k| jprt| ffhz| 5hph| 79ll| djbh| l7tn| 8yay| tjb9| hd5n| vnh7| 5jpt| db31| im26| f9z5| bvp7| 5pjh| j7rd| 7dtx| 3xdx| 717x| l33x| 1vjj| z73p| 77bz| 5j51| 79n7| v1lx| 59xv| 0wcu| f1bx| xz3n|
tceic.com
学霸学习网 这下你爽了
赞助商链接
当前位置:首页 >> 计算机软件及应用 >>

WebGoat实验

标签:变黄 rfr7 新澳门娱乐开户


WebGoat 学习报告五
瞿靖东 2015/12/1
版本号:WebGoat 5.4

13、不安全的配置(Insecure Configuration) 强制浏览(How to Exploit Forced Browsing)
技术原理(How It works)
强制浏览是黑客用来访问获取那些没有被引用, 但仍然允许被访问的资源的技术。 一种 方法是操纵浏览器中的URL,删除结尾部分,直到找到一个不受保护的目录。

总体目标(General Goals)
你的目标是尝试猜测“config”界面的URL。“config”的URL 只提供给维护人员。该 应用程序没有做垂直权限检查。

操作方法(Solutions)
如果你想访问一个受限制的页面,你需要能够猜测URL 访问页面,如“/admin”。尝 试使用/WebGoat/config, /WebGoat/configuration, /WebGoat/conf,最后发现conf 能够成功访 问。

14 不安全的存储(Insecure Storage)
技术原理(How It works)
熟悉一些经常使用的编码, 包含有 Base64 编码, 实体编码, 基于密码的加密,MD5 hash , SHA-256 hash, Unicode 编码,URL 编码,十六进制编码, Rot13 编码,XOR 和密码编码, 双 unicode 编码,双 URL 编码 Base64 是网络上最常见的用于传输 8Bit 字节代码的编码方式之一,大家可以查看 RFC2045~RFC2049,上面有 MIME 的详细规范。Base64 编码可用于在 HTTP 环境下传递较长 的标识信息。例如,在 Java Persistence 系统 Hibernate 中,就采用了 Base64 来将一个较 长的唯一标识符(一般为 128-bit 的 UUID)编码为一个字符串,用作 HTTP 表单和 HTTP G Hash 是一种特殊的算法,MD5 就是其中常用的一种。它的算法的特征是不可逆性,并且 才计算的时候所有的数据都参与了运算,其中任何一个数据变化了都会导致计算出来的 Hash 值完全不同,所以通常用来校验数据是否正确或用作身份验证。 常见的,论坛里面用 户的密码是经过 MD5 等 Hash 算法算出来的 Hash 值进行保存的。 在通常的网络下载中,会 带有一个 Hash 值,这个值是用来校验你下载的文件是否损坏并保证尚未被别人篡改的。

操作方法(Solutions)
输入一些文字 比如是 qjd 然后按 go 在下面我们看到了一些编码的和一些解码的文字 那样我们就把内容输进去

15 恶意执行(Malicious Execution)
技术原理(How It works)
脚本后门属于典型的恶意文件。

总体目标(General Goals)
下面的表单允许你上传图片文件, 图片上传后显示在当前页面。 互联网上的各种论坛或 社交网站很容易找到此类应用。该功能容易被恶意文件执行漏洞利用。为了通过本课程,你 需要上传一个恶意文件。为证明你的文件能够被执行,它必须能够创建另一个名为guest.txt 的文件。

操作方法(Solutions)
第一步是在服务器上创建一个可以运行的文件,该文件运行后会出创建guest.txt。为完 成该步骤,我们使用了Java 中createNewFile()命令。创建一个.jsp 后缀的文件hacker.jsp,其 代码如下:
<HTML><% java.io.File file = new java.io.File("filepath\\webgoat.txt"); file.createNewFile(); %></HTML>

<%内为JSP 代码。该段代码功能是创建一个guest.ext 文件。其中filepath 需要你自己填写 成一个指定的路径,注意Windows 下文件分隔符中\字符需要通过\\转义。Linux 系统下分 隔符为“/”。 当前测试环境中位置为:D:\\工具 \\WebGoat\\WebGoat-5.4\\tomcat\\webapps\\WebGoat\\mfe_target\\webgoat.txt 接下来上传恶意jsp 文件,并找出该文件的位置,从而访问并执行该文件。 通过图片上传按钮,提交并上传“图片文件”hacker.jsp。

访问该 URL:http://localhost:8080/WebGoat/uploads/hacker.jsp,执行恶意文件。

访问该URL 会看到一个空白页面,刷新课程页面,本课程通过(guest.txt 文件已经被 创建)。

16 参数篡改(Parameter Tampering) (1)绕过 HTML 字段限制 (Bypass HTML Field Restrictions)
技术原理(How It works)
很多浏览器辅助工具都支持修改 HTML 或 JavaScript 代码,也支持手动提交 HTTP 数 据。

总体目标(General Goals)
向网站发送超出预期的输入信息。 在该练习中, 你的任务是破坏客户端校验并向网站发 送非法输入信息,包括部分被禁用的字段。 6 个字段必须同时验证。

操作方法(Solutions)
要通过本节课程,你需要在6 个字段中提交非法字符(斜杠、单引号等)。其中有三个 字段涉及到切换或下来, 我们将通过Webscarab 中断并修改请求。 我们还需要向禁用的字段 写入非法数据。这里有两种方式可以实现:通过Firebug 插件启用或通过Webscarab 修改。 打开Firebug,找到form 表单包含的几个字段,如:disabledinput。删除属性disabled。此时 页面上的禁用按钮已经实效,控件被激活处于可用状态。

当你完成输入添加后,记下来是提交验证输入。为每个字段设置不允许的非法字符,确 保至少有5 个字段的长度超过了系统原先设定的限制。

完成修改后,提交数据,通过本课程。

(2)利用隐藏字段(Exploit Hidden Fields)
技术原理(How It works)
开发人员在加载信息的页面上使用隐藏字段来跟踪、登录、定价等。虽然这是一种方便 且易于开发的机制,他们往往不验证从隐藏字段收到的信息。本课程中,我们将了解如何找

到和修改隐藏字段以便宜的价格购买产品。

总体目标(General Goals)
你需要利用隐藏字段,使用错误的价格购买产品。

操作方法(Solutions)
开启WebScarab直接修改交易额。

(3)利用未检查的 E‐mail(Exploit Unchecked Email)
技术原理(How It works)
验证所有的输入信息总是不错的做法。多数网站都允许一个非验证的用户给“朋友”发 送e-mail。对垃圾邮件发送者来说,这是一个绝佳的机制,可以利用公司的邮件服务器来发 送电子邮件。

总体目标(General Goals)
发送一封令人讨厌的 E-mail。

操作方法(Solutions)
发送一封包含跨站脚本攻击代码的邮件。 输入<script>alert("XSS")</script>,发送邮 件,实现跨站脚本攻击。

也可以通过WebScarab 修改相应的字段,向其他人发送恶意邮件。

(4) 绕过客户端JavaScript 校验 (Bypass Client SideJavaScript Validation) 技术原理(How It works)
很多浏览器辅助工具都支持修改 HTML 或 JavaScript 代码,也支持手动提交 HTTP 数 据。

总体目标(General Goals)
在这个练习中, 每个输入框中有不同的输入要求, 你要做的就是绕过客户端验证机制破 坏这些规则,输入不允许输入的字符。

操作方法(Solutions)
正常提交一次数据,并使用 WebScarab 拦截。

17 会话管理缺陷(Session Management Flaws) (1)会话劫持(Hijack a Session)
技术原理(How It works)
开发人员在开发他们的自有会话ID 时经常忘记整合的复杂性和随机性,这些因素对安 全来说是必须的。如果用户的特定的会话ID 不具备复杂和随机性,那么应用程序很容易受 到基于会话的暴力攻击的威胁。

总体目标(General Goals)
本课程的目标是尝试访问一个其他用户的会话(该会话已经过服务器认证)。我们尝试 预测WEAKID 的数值。WEAKID 用于区别WebGoat 中不同用户(经过认证的或匿名的)。

操作方法(Solutions)
这个课程就是说因为这个 Web 应用用来生成会话标识的算法不够随机, 所以很容易被预 测, 从而要求我们发现会话标识生成的规律并且使用暴力破解的办法找到一个有效的会话标 识。 这里我们使用 WebScarab 作为代理来观察浏览器和服务器之间的数据通信。 先随便输入

一点东西来观察浏览器发送给服务器的请求。

从上图可以看到有个 WEAKID 的 Cookie,这就是我们的攻击目标,我们使用 WebScarab 的会话标识分析功能来分析这个会话标识。 在 WebScarab 上点击“SessionID Analysis”这个 Tab 页面,然后在“Collection”子页面的“Previous Requests”的下拉菜单中选取我们需要分析的那 个请求,如下图所示:

然后我们需要使 WebScarab 意识到 Cookie 里面的 WEAKID 这个参数是会话标识。 我们知 道如果客户端发送给 Web 服务器的请求里面没有会话标识的话, 服务器会从新生成一个新的 会话标识并通过 Cookie 返回给客户端,利用这个特性,我们可以使 WebScarab 通过分析服 务器返回的 Cookie 的办法来识别会话标识。 这里我们删除现有的这个参数, 然后点击"Test"按钮让 WebScarab 进行分析。 弹出类似 如下的对话框表示 WebScarab 已经成功的识别出了会话标识的参数。

然后在取样数量这里我们输入稍微大点的数字,比如 50,然后点击“Fetch”按钮, WebScarab 就会自动从服务器上获取 50 个会话标识的样例。下面我们进入“SessionID Analysis”下的“Analysis”子页面,在“Session Identifier”下拉菜单中选择这个参数 后可以看到 WebScarab 获取的这些会话标识。我们可以看到这些会话标识是非常有规律的, 是被短横线分割的 2 部分, 前一部分是每次加 1 的有序排列的数字, 后一部分也是不断增加 的有序排列的数字,我们可以猜测后一部分应该是时间戳

再进一步仔细观察后可以发现有些特别的地方, 如上图所示, 会话标记第一部分的数字 跳了一个。 这说明中间跳掉的会话标记是被别的用户使用了, 我们的目标就是找到这个会话 标识。在我们这个例子中,根据我们发现的会话标识生成的规律,中间跳掉的这个会话标识 的值应该是在 12266-1449319737470 到 12268-1449319737570 之间。 下面我们使用 WebScarab 的模糊测试的功能来试图找到这个会话标识。 我们先把相应的 请求添加到模糊测试的模板里面。在 WebScarab 的“Summary”页面中,选择目标请求后, 右键菜单中可以看到“Use as fuzz template”的菜单项,点击这个菜单项就可以把这个请 求作为模糊测试的基础模板。

然后进入 WebScarab 的“Fuzzer”页面。会发现系统已经自动帮我们分析出了所有可以 做模糊测试的参数。点击下面的“Source”按钮添加模糊测试的源。 在弹出的对话框中,给这个源起一个名字比如“ForWeakID”输入到“Description”里 面,然后我们使用正则表达式的方式来添加我们需要测试的数据,输入这样的正则表达式: 12267-1449319737[4-5][0-9][0-9],然后点击“Add”按钮。注意这里我们输入的数据会使 WebScarab 测试从 12267-1449319737400 到 12267-1449319737599 的值, 略微有些扩大范围, 这是因为 WebScarab 只支持基本正则表达式, 我们略微扩大一点测试的数据范围, 可以把这 个正则表达式写得简单一点。 然后关闭弹出的对话框,再为 Cookie 里面的 WEAKID 选择我们添加的源,就可以点击 “Start”按钮开始运行了。

结果的分析还是需要人工进行, 我们需要知道输入有效地会话标识之后服务器会返回怎 样的数据。 在 WebGoat 里面我们知道一旦提交了正确的数据给服务器, 服务器返回的数据里 面会包含“Congratulations”的消息,所以我们只需要检查看哪个请求的返回有包含这样 的信息就好。 这时候我们实际上也已经完成这个课程了。 刷新一下课程, 就可以看到课程完成的标记。

( 2) 认证 Cookie 欺骗 (Spoof an Authentication Cookie)
技术原理(How It works)
如果验证cookie 正确,一些应用程序会允许一个用户自动登录到他们的网站。如果能 够获得生成cookie 的算法,有时cookie 的值是可以猜到的。有时候cookie 可能是通过跨站 攻击截获的。在这一课中,我们的目的是了解身份验证cookie 的方式,并指导你学习突破 这种身份验证cookie 的方法。Cookie 存储在客户端,可随时被篡改用于特别用途。

总体目标(General Goals)
本节课程的目标是绕过认证检查。

操作方法(Solutions)
请确认在WebGoat 中开启了“Show Cookies”功能。你需要在WebScarab 中禁用 "Injectknow cookies into requests",否则WebScarab 将会一直截获你的旧的cookie,而 不是新的截获。

以 webgoat/webgoat 登录

点击“Refresh”,这会刷新显示我们的 AuthCookie。

你现在使用的身份验证是这个 cookie,而不是像上面的参数验证。你会得到 “AuthCookie”cookie,值为65432ubphcfx。然后退出登录,以“aspect\aspect”登录。 点击“Refresh”,显示新的“AuthCookie”。现在你有一个新的值。

这是一个英文字母的换位。每个字母都是用户名倒过来,并被替换为它后面的,如 T->U,A->B。因此如果以用户“alice”登录,cookie 会将用户名倒转为“ecila”,然后每 个字母向后一位,最终结果为“fdjmb” 以用户名alice 登录,通过WebScarab 截获请求。在已经存在的JSESSIONID 后面添加 “;AuthCookie=65432fdjmb”

结果是没有输入密码,即可以 alice 进行登录了。

(3)会话固定(Session Fixation)
技术原理(How It works)
服务器通过每个用户的唯一的Session ID 来确认其合法性。如果用户已登录,并且授权 他不必重新验证授权时,当他重新登录应用系统时,他的Session ID 依然是被认为合法的。 在一些程序中,可能会在GET-REQUEST 请求中传递Session ID。这就是攻击的起点。一个 攻击者可以用一个选定的Session ID 给受害人发送一个超链接。 例如, 这里有一个准备好的邮件, 它看起来像是一个从应用程序管理员发来的官方邮件。 如果受害者点击了这个链接,并且该受害者以攻击者指定的ID 登录了系统;那么攻击者可 以不经授权直接使用与受害者相同的ID 访问该页面。

总体目标(General Goals)
本节课程有多个步骤,你需要同时扮演攻击者和受害者两个角色。完成该课程后,你将 理解会话固定的原理;同时也将理解使用GET 请求传递Session ID 是个很糟糕的主意!

操作方法(Solutions)
第一步:给Jane 发送一封邮件,这个邮件看起来像是Goat Hills Financial 发来的包含一 个Session ID 的链接。邮件已经准备好了,你只需要在连接中加入一个Session ID。你可以 通过向链接中加入&SID=WHATEVER.当然WHATEVER 可以用其他字符代替。 这个链接可 以是这样:

点击确定后提交,第一步完成。 第二步:现在你是第一步中的收件人Jane。这一步很简单,你只需要点击“Goat HillsFinancial”。

第三步:你已经到了“Goat Hills Financial”的登录界面。以 Jane/tarzan 登录。

第四步:现在你是黑客 Joe。已经有一个准备好的链接,单击后登录到“Goat HillsFinancial” 页面, 当然在现实中, 这会有些不同。 登录后你会在浏览器中看到你的SID 是“NOVALIDSESSION”,将这个ID 改成“12245”,然后回车。

18 Web 服务(Web Services) (1)创建 SOAP 请求(Create a SOAP Request)
技术原理(How It works)
SOAP 通讯过程中,HTTP Content 部分一般是XML 内容。

总体目标(General Goals)
尝试用浏览器或者WebService 工具连接WSDL。WebService 的URL 地址是:
http://localhost:8080/WebGoat/services/SoapRequest

WSDL 通常可被视为在web 服务请求结束处加入一个WSDL。点击页面上的 “WebGoatWSDL”,或者在上面的请求后面加上“?WSDL”即可。
http://localhost:8080/WebGoat/services/SoapRequest?WSDL

发起两种以上的 SOAP 操作请求以完成本节课程。

操作方法(Solutions)
第一步,我们要得到在WSDL 中定义了几个操作。访问“WebGoat WSDL”的URL 查看 Webservices 描述定义语言文件。

进入 WSDL 文件页面,可以看到一共有四个。在页面中输入 4,进入下一步。

现在我们需要回答的问题是在“getFirstNameRequest”中“id”的类型是什么。从图 中可以看到,答案是“int”。输入后进入第三步。

截取请求并调用任何方法,发送一个有效SOAP(简单对象访问协议)请求的有效的账 户。

启动WebScarab,确保“Intercept requests”“Intercept responses”被选中
POST 改为:POST http://localhost:8080/WebGoat/services/SoapRequest HTTP/1.1

Content-Type 改为text/xml 修改HTTP Content 代码,最后格式如下:

从SOAPAction 头到打开的XML 标记之间不能有空格,这一点非常重要,否则会引发一 个错误信息。

使用SOAP 参数更新HTTP request,响应内容是Joe即可。

返回数据包有错,http 状态为 500,表示服务器内部出错,可能是 webgoat 文件受损。 理论上重复以上操作,使用新的 Operation:getLastName,即可通关。

(2)WSDL 扫描(WSDL Scanning)
总体目标(General Goals)
本页面是Web Service 的API。查看WSDL 文件,并尝试获取客户的其它信息,如:信用 卡号码。

操作方法(Solutions)
启动 WebScarab,任意选择后点提交

使用 WebScarab 截获请求,并将其中的“field=getLastName”改为 “field=getCreditCard”

点击“Accept Changes”后提交数据,返回信息里能够看到 getCreditCard 字段的信 息。

(3) Web Service SAX 注入 (Web Service SAX Injection)
总体目标(General Goals)
有些Web 界面在后台使用Web Services。如果前端所有输入验证都依赖Web Services, 那么它可能会破坏Web 界面发送数据的XML 内容。本节课程中,你需要修改除了用户101 以外的另一个用户的密码。.

操作方法(Solutions)
SAX 解析器会解析任何格式正常的XML 文件,例如:匹配到有效的标记符号及闭合符 号即认为正确。当你向原有的XML 文件中添加新的changePAssword 元素时,如果id 和 password 等标记都正确,那么解析器将很乐意帮你去修改另一个userid 的密码。 在课程页面密码框中输入一个密码,开启WebScarab。 点击“Go!”按钮提交数据,在WebScarab 拦截的请求中修改XML 文件,在password 选项中添加如下代码:
test</password> <id xsi:type='xsd:int'>102</id> <password xsi:type='xsd:string'>qjd

成功为 uid 为 102 的用户修改密码为“qjd”

(4) Web Service SQL 注入 (Web Service SQL Injection)
总体目标(General Goals)
查看WSDL 文件, 并尝试获取多个客户的信用卡帐号。 你在屏幕上无法看到返回数据。 完成该课程后,刷新页面,左侧将创先绿色通过标识。

操作方法(Solutions)
在 WebScarab 中,你可以从顶部的下拉框中选择WSDL。WebScarab 将解析XML 文件, 所以你可以选择调用的操作。 然后你可以输入一个调用的参数值。 在 “vaule” 输入1 or 1=1, 点执行, 会弹出一个基本身份验证框, 输入用户名guest, 密码guest, 然后点OK, 点 “Execute” , 即可返回所有结果。如果没有弹出,可以再WebScarab 的“"Tools" > "Credentials"”中 选择。你需要选中“Ask when required”。(需要先打开WSDL 文件,就能在WebScarab的 WebServices 中看到相应的内容了。)

仍然返回500, 服务器内部出错。 理论上双击 value, 设置数值为1 or 1=1, 点击 【execute】 按钮提交数据。幸运的话,你将看到多个客户的信用卡信息,完成本课程。

19 挑战(Challenge)
总体目标(General Goals)
你的任务是破坏身份验证方案, 从数据库中盗取所有的信用卡信息, 然后破坏这个网站。 你需要利用你在其他课程中学到的技术。要破坏的主页是“webgoat_challenge_guest.jsp”页 面。

操作方法(Solutions)
先到 localhost:8080/WebGoat/source?source = true 看源码

找到用户名和口令分别为:youaretheweakestlink 和 goodbye

启动 Webscarab 作为代理, cookie 中发现 user="eW91YXJldGhld2Vha2VzdGxpbms="是用 户名 youaretheweakestlink 的 Base64 散列。

这里尝试 cookie 注入,将 youaretheweakestlink’or’1’=’1 装换 Base64:eW91YXJldGhld2Vha2VzdGxpbmsnIG9yICcxJz0nMQ==

提交之后成功获取所有信用卡信息

最后一步,我们需要修改 webgoat_challenge_webgoat.jsp 文件的内容。我们可以通过访问 之前提交的:http://localhost:8080/WebGoat/uploads/hacker.jsp 恶意文件来实现。将该恶意文件 的 内 容 改 为 脚 本 命 令 echo 1 >>echo 1 >> D:\ 工 具 \WebGoat\WebGoat-5.4\tomcat\webapps\WebGoat\webgoat_challenge_webgoat.jsp。 在浏览器中访问该文件即可通关!


赞助商链接
推荐相关:


web应用漏洞学习利器-WebGoat使用教程

[/pre][pre]sh webgoat.sh s 四、WebGoat Developer 版安装方法 WebGoat 5.2 Developer 版(位于 SourceForge 网站),注意:这个版本旨在提供一个 WebGoat 实验室 ...


webgoat使用说明

webgoat使用说明_计算机软件及应用_IT/计算机_专业资料。今日推荐 180...WebGoat中文版课程 101页 3下载券 WebGoat之CSRF实验 17页 免费©...


WebGoat

webGoat 入门--安装篇 17页 免费 WebGoat中文版课程 101页 3下载券 WebGoat用户指南 23页 1下载券 WebGoat 5.4课程 96页 免费 WebGoat之CSRF实验 17页 免费 web...


网络信息攻击与防护--实验一

. 实验项目:WebGoat 的使用 实验项目名称:WebGoat 的使用 实验项目目的: 1 、实验环境的总体描述 2、浏览器、代理和 Web 服务器的用途 实验环境: Windows XP ...


Web应用程序典型安全漏洞实验

实验步骤一:Forgot Password 与 Log Spoofin 实验 (1)Forgot Password 在存储目录中找到 WebGoat-5.2文件夹,打开后双击打开其中的 webgoat 批处理文件。打开 ...


网络攻防-第五次实验

. 实验项目:Cross-Site Scripting (XSS,跨站脚本攻击) 实验项目名称: Cross-...编辑 org.owasp.webgoat.lessons.CrossSiteScripting.FindProfile.java,在 get...


基于dvwa的测试报告

Web 攻击实验报告实验目的:建立 DVWA 实验环境,用一些相关的软件(bruter 等),知道网页的 漏洞并知道如何利用与攻击,也能使用 webgoat 平台。 实验内容: 1.暴力...


信计13-1 迟慧《网络信息安全》专业技能实训_图文

主要参考资料等 主要内容 本文以 Webgoat 的使用和 Web 服务安全配置实验为例,着重介绍掌握基于应用层 的弱点测试手段与方法,以及通过设置 windows2003 和 IIS,使得...


XXXX大学网站安全整体解决方案

WebGoat之CSRF实验 17页 免费 webscarab工具使用介绍 6页 免费 教育信息化云平台 19页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议...


信息对抗实验报告

信息对抗实验报告实验目的: 一、 实验目的: 通过 webgoat 和 firebug 的使用,了解 SQL 注入的院里及如何 进行 SQL 注入,了解 SQL 防范方法。 实验环境: 二、 ...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com