现代Web应用渗透测试第1部分,XSS和XSRF相结合

Posted F11Team

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了现代Web应用渗透测试第1部分,XSS和XSRF相结合相关的知识,希望对你有一定的参考价值。

现代Web应用渗透测试第1部分,XSSXSRF相结合

https://pen-testing.sans.org/blog/2017/03/02/modern-web-application-penetration-testing-part-1-xss-and-xsrf-together

Posted by jblanchard

By: Adrien de Beaupre

Elaine译


(Elaine注:代码在最后,可以直接去看代码,作者废话挺多的,但是思路很好玩。图片里没什么重要的东西。)



我喜欢进行渗透测试,并且也喜欢教授如何正确地进行渗透测试。我将在今年的许多活动中教授SANS SEC642:高级Web应用渗透测试,道德黑客和开发技术。这篇文章是我在这系列帖子中探讨的技术之一。当我教导我的一个观点时,绝不会孤立地考虑这些漏洞,将它们结合起来才能真正体现风险和影响。我的团队正在进行Web应用程序渗透测试,在测试中有许多令人印象深刻的漏洞。


漏洞列表:

我们确定了主要的威胁之一是入侵者可以提权并从其他账户访问信息。 为了达到入侵的目的,我们选择了XSS和XSRF攻击。我们使用了现存的XSS漏洞去引发XSRF攻击。因为用这种方式我们可以利用所有漏洞。一旦你在程序中发现了XSS漏洞,你所需要的就只有一次或多次点击了。并且我们发现XSS攻击能最好的承载XSRF攻击。


使用现存的XSS漏洞:

创建攻击代码

代码会先被管理员查看

脚本会在管理员的浏览器中执行

管理员使用任何易受XSRF攻击的功能


许多功能容易造成“跨站请求伪造”攻击(CSRF 或 XSRF 攻击)。在最容易受到攻击的部分往往没有反XSRF保护,以及,最有趣的是所有的攻击在网站管理员处进行。

攻击者可以添加新用户,并将用户放入管理员组,更改密码并注销。 而且只有按照正确的顺序执行不同的步骤才能阻止攻击。 往往应用程序所有者和开发团队不理解问题的严重性,并指出他们的自动扫描工具没有发现任何问题,因此XSRF攻击不存在。 即使问题确实存在,它也不严重。 最重要的是,即使攻击者能够进行这种神秘的攻击,但无法一次完成,管理员必须多次点击。 简而言之,管理员完全不理解攻击者可以完全控制应用程序。 为了证明我们是正确的,我们进行了以下工作:


添加一个新用户将用户置于管理员组中锁定超级用户帐户注销超级用户帐户写入不同的功能每个功能都会等待最后一个函数完成后执行这些全都在一个html页面中且都可以作为单个XSS有效载荷提供我们的攻击将强制管理员观看Rick Astley(注:一个歌星)的视频好吧,我们没有做最后一个,那个太过分了

我们发现一个实现的代码

http://www.lanmaster53.com/2013/07/multi-post-csrf/


接下来的问题是,显然我们不能使用自定义应用程序来做验证,但需要具有类似漏洞的其他应用程序来演示此帖。

http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5193.php

Omeka是一个免费的开源Web发布应用程序。 安装快速简单。 也很容易利用。 最后,我们可以下载易受攻击的2.2版本,并立即开始运行。


管理员(受害者)登入应用

现代Web应用渗透测试第1部分,XSS和XSRF相结合


拦截代理(OWASP ZAP)中看到的添加用户功能:

现代Web应用渗透测试第1部分,XSS和XSRF相结合

添加用户功能只是众多易受XSRF影响的功能之一,而且没有反XSRF的保护。 api_key_label POST参数ID未经过清理,它是我们的XSS向量。 管理员必须调用该函数才能运行代码。 使用的代码以PDF格式显示在下面。
代码运行:

现在来讲代码。 重要的是让脚本运行,我们使用了一个主体负载脚本。 该脚本运行每个表单。 每个表格都包含一个XSRF攻击。 每个表单都加载在不同的框架中。 第一个表单运行,然后第二个表单在它触发之前会等待第一个表单触发,等等。 受害者登录后,他们检查队列,XSS运行,XSRF运行,管理员失去对应用程序的控制权,攻击者获胜,也非常有效地证明了漏洞的风险。

参考

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
http://cwe.mitre.org/data/definitions/352.html
http://www.lanmaster53.com/2013/07/multi-post-csrf/
http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5193.php
http://omeka.org/
https://www.youtube.com/watch?v=dQw4w9WgXcQ


代码

pdf形式
https://blogs.sans.org/pen-testing/files/2017/03/modern_webapp_pentesting_blog_03012017_code.docx_.pdf

以上是关于现代Web应用渗透测试第1部分,XSS和XSRF相结合的主要内容,如果未能解决你的问题,请参考以下文章

有哪些好用的渗透测试演练系统

投稿一次不完整的XSS混合渗透测试记录

渗透测试学习笔记

渗透测试学习笔记

《Web安全攻防》配套视频之XSS实验平台搭建

web渗透测试之攻破登录页面