从黑客角度深入剖析跨站请求伪造

从黑客角度深入剖析跨站请求伪造

ID:41540010

大小:114.77 KB

页数:6页

时间:2019-08-27

从黑客角度深入剖析跨站请求伪造_第1页
从黑客角度深入剖析跨站请求伪造_第2页
从黑客角度深入剖析跨站请求伪造_第3页
从黑客角度深入剖析跨站请求伪造_第4页
从黑客角度深入剖析跨站请求伪造_第5页
资源描述:

《从黑客角度深入剖析跨站请求伪造》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、从黑客角度深入剖析跨站请求伪造在对Web应用程序进行测试的过程中,我们使用的自动化工具有时候会漏掉一些非常严重的安全漏洞。跨站请求伪造便是其中之一。因此,对于Web应用测试来说,通过人工方式分析代码是非常重要的一种测试手段。在近期的Web应用测试过程中,我利用手工方式发现了若干个CSRF漏洞,如果将其串联使用,就能演变成更加严重的安全漏洞。下而,木文将详细介绍这些漏洞的发现过程,并演示如何利用它们来控制受害者的账户。需要注意的是,为了保护客户信息,部分内容已经做了模糊处理。0X01艰难的发现之旅为了展开跨站请求伪造攻击,首先要进行一些侦查工作。为此,我根据客户提供的低权限账户登录了需

2、要测试的Web应用。在这个网站上,大部分页面都要求预先知道帐户名、产品序列号等信息。由于我对这些一无所知,所以只好转而考察账户简介页面。这个页而允许用户更新他们的帐号信息,例如姓名、电子邮件地址、城市、省份,等等。対于浏览器,我通常选择Firefox,这是因为可以使用TamperData插件來方便地操作表单的字段,来观察是否发生有趣的事情。比如,我经常在引号或星号之间插入一些奇怪的数据,来探索各种注入攻击。就本例而言,我发现了一个会随其他账户信息一同传输的隐藏表单字段,这个字段的名称为-RequestVerificationTokeno我不断摆弄这个字段,但是就我观察而言,并没有找到

3、注入漏洞。但是,我却注意到了一个重要的事情,那就是这个站点好像并不在意我对这个字段所做的各种修改。TamperPopupco/201=0.9,7ProfileficatioiPostParameterNameRequestVerificationTokenPasswordChgRequiredUsersNameFirstNameLastNamePhonePhonePhoneExtPhoneExtCityStateEmailAddressJobFunctionJobFunctionPasswordNewPasswordConfirmPasswordAnitianAmtianAmtian

4、2♦♦♦♦♦WintervilleALrick%40example.comAccountingAccounting这对我来说是非常奇怪的。根据这个字段的名称来看,它好像是用来验证每个提交的请求是否來自该网站实际用户的一项安全措施。这通常是用来防止跨站请求伪造(CSRF)攻击的,但是,这个页而看上去并没有验证这个令牌,这就意味着这个信息更新表单容易受到CSRF的影响。在默默记住这一点之后,我开始继续测试该网站的其他部分。我想,如果一个页面有这种漏洞,那么英他页面也很可能有这种漏洞。不幸的是,事实并非如此。对于所有其他页面,只要修改这个令牌就会导致服务器错误,并且表单也无法进行处理。也就

5、是说,除了个人信息页面之外,其他地方的大门都被堵上了。接下来,我们就要想办法利用它来进行更加邪恶的事情。0X02忘记密码就像某些网站一样,这个站点也提供了一个“忘记密码”功能。这个功能的初衷,当然是为哪些忘掉密码的用户提供帮助的。这个自动化系统非常简单,用户将其用户名输入到相应的表单字段,然后点击提交按钮即可。如果用户名是有效的,系统就会给该用户的账户生成一个新的随机密码,并将其发送至该用户账户绑定的电子邮箱中。这个功能不仅对于用户来说非常简单,同吋,也为黑客提供了极大的方便。我意识到,如果我可以利用CSRF漏洞把用户的电子邮件地址更新为自己的邮箱地址,那么,我就能够利用忘记密码功能

6、令系统把用户的密码发给我,而不是用户。不幸的是,我很快就遇到了一个难题。客户(这里指example.com)提供给我的测试帐户所绑定的电子邮件地址中含有客户的域名,如bob@example.com0虽然系统允许将这个电子邮件地址改为我想要的地址,但是这里有一个问题,当让系统向我的电子邮箱发送新密码时,实际收到的却是一个服务器错误。不知道什么原因,它似乎只喜欢类似bob@example.com这样的邮箱。经过进一步的手工测试后,我发现它可以接受任何用户名,只要是以example.com结尾即可。我不知道到底为何会发生这种情况,因为在系统中的其他帐户包含了来自不同域的电子邮件地址。我觉得

7、,这背后肯定还进行了某些额外的安全验证,比如根据白名单对比电子邮件地址的域名等。但是,我的个人电子邮件地址或域名肯定是不在这个表中的。因此,我们需要借助于下面介绍的技巧。0X03Gmail来解围我有一种预感,即电子邮件地址的白名单匹配过程是可以破解的,后来事实证明,我的感觉还是很准的:我发现,任何电子邮件地址都是可以绕过白名单的,只要该地址的邮箱名称部分含有“example.com”字样即可。举例来说,example.com@otherdomain.com

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。