• 渗透日常之 花式实战助你理解CSRF


    本文作者:i春秋签约作家——onls辜釉

    最近比较忙,很久没发文章了,Onls本就只是一个安全爱好者,工作也不是安全相关。以往的文章也更像是利用简单漏洞的“即兴把玩”,更多的是偏向趣味性,给大家增加点学习的乐趣,看完文章即使仅有一个人觉得“哦?原来还能这样玩!”那我认为也是有价值的。话不多说,咱们开始。

    写本文是看到@MAX丶 表哥的这篇 [原创] 各大SRC中的CSRF技巧 ,我觉得对于CSRF,表哥这篇文章讲得很明白了,包括原理和防御,还有一个自己验证苏宁易购订单处CSRF漏洞的例子,但是对于"真·小白" 来说或许不是特别友好。在感同身受这一点上,Onls作为一个技术渣或许更懂你们(白:好,我已经明白什么是CSRF了,但是到底实际渗透中我该怎么用呢?),所以我顺手找了个网站当素材来完成这篇文章。(关于原理我就不复述了,建议白白们先去看看表哥那篇文章,再把我的当作一次详细的实战过程分享)

    这是个P2P投资借贷网站,我们注册帐号登录观察一下:

    1.jpg

    2.jpg

    3.jpg

    对于CSRF的实际利用我还是得先做个简单的说明,从它的名字“跨站请求伪造”不难理解,在大多数情况下的利用无外乎两点:“跨站”和“伪造”,其实“站”你们可以简单理解为“域”或“域名”的意思,通俗来说就是“访问某一域名(网站)却被该域名下的恶意代码利用你的身份cookie,让另一个域名的服务器执行操作”,正常情况下,让目标用户访问一个陌生站点就必不可少的要涉及到一点“社工”。所以实际利用中要成功必不可少的两个点我总结为:

    ———————————————————————————-

    1.被伪造身份的目标曾在该浏览器上访问过存在CSRF站点,且Cookie尚未过期 

    2.目标被诱使在该浏览器上访问了我们放置了恶意代码的域名(网站)

    ——————-分割线——-以上两点为下面实战的基础———————–

    我们发现新帐号默认会关注一个叫“XX二郎的帐号”,圈子里能看到这个名为“XX二郎”的用户的公告动态,并且在网站答疑区能发现他的回答,ID后面还加了V,发布的信息也都是员工角度。看来身份不“普通”。我们就以他为实战“受害”对象,开始制定我们在该站点测试CSRF所要达成的目标:在“XX二郎”不知情的情况下,利用CSRF漏洞伪造他的请求发送一条公告动态。

    那么经过观察网站后,我的思路是:在网站咨询答疑区发布一条咨询问题,将我构造了恶意代码的域名贴上去,附上“我在你们网站注册的隐私信息,为什么被公布在了这个网站上?http://xxxx.xx,你们这样对待用户隐私?”(回顾我之前说的实战要成功的两个基本点,1.对方工作人员在看到,并准备回答我这条“疑问”的时候,必定是已经登录了这个网站了(满足基础1),2.看到我这具有欺骗性的文字时,很容易会点进去一探究竟(满足2))

    说干就干,我们在发布动态的地方用burp suite进行抓包:

    4.jpg

    对于CSRF,burp suite有个小功能:我们对这个包“右键”->"Engagement tools"->"Generate CSRF PoC" :

    5.jpg

    这里会直接构造一个PoC,但是在实际渗透中肯定是不能直接使用这个的,我们得稍加改造,由于这里是POST传输,我们构造的代码为:

    6.jpg

    当然这只是CSRF利用代码,实际前端页面你可以自己按需要写,或者直接在body里写一句“系统升级中,暂无法访问..”来不引起怀疑。

    然后为了能在目标访问我们的恶意链接之后第一时间得到消息,我将CSRF中的JS代码放进XSS平台中建成一个项目,为了简便直接将代码加到打Cookie的代码后面(这里只是为了利用XSS平台的邮件、短信提醒功能,顺带还能获得目标的IP、定位):

    7.jpg

    这样就只需要把js外链加到前端源码里就行了,测试一波,成功收件:

    8.jpg

    好了,别忘了正题,准备战斗:

    9.jpg

    卧槽,18点了..下班下班..,本来想把包括抓包在内的整个过程和一些工具、插件做个详细介绍的,来不及拉..直接看结果吧..表哥要赶去召唤师峡谷过周五了,要详细的可留言下次有时间再给你们更新文章..这次的前端文件在:http://0bug.cf/CSRF/onls.html,对了,顺便提一句,最近很多XSS平台都访问不了了,原因可能很复杂吧,最烦这种情况了,很多以前的项目都没做保存,坑爹…所以今天也顺便自己搭了个XSS平台,地址http://0bug.cf,本来是想自用的,我比较懒对自己的平台没做邮件提醒功能,但是能保证稳定可靠,放几个邀请码出去吧,有表弟想要的可以在下面留言,我私发给你,Onls给你担保3年内平台都是稳定存在,出于这个考虑所以不会放出多少邀请码,请理解。

    10.jpg

    虎头蛇尾了哈哈哈…不好意思哈大家将就看

  • 相关阅读:
    Swift入坑系列—集合类型
    Java正则表达式入门
    Swift基础--手势识别(双击、捏、旋转、拖动、划动、长按)
    Swift之手势总结
    Matlab图像彩色转灰色
    HDU1754_I Hate It(线段树/单点更新)
    Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02
    freemarker自己定义标签(二)
    hibernate 在tomcat7.X 下配置mysql数据源
    WinCE隐藏显示任务栏,当任务栏隐藏时将其显示,当任务栏显示时将其隐藏(FindWindow,ShowWindow,IsWindowVisible),
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/7874738.html
Copyright © 2020-2023  润新知