查看: 10950|回复: 0

浅谈CSRF挖掘与利用

[复制链接]
  • TA的每日心情
    难过
    2016-10-25 18:06
  • 签到天数: 54 天

    [LV.5]常住居民I

    发表于 2015-11-13 22:37:44 来自手机 | 显示全部楼层 |阅读模式
    关于CSRF漏洞,我想不需要太多的介绍了,大家可以在网上翻翻相关资料,最近也挖了几个CSRF就给大家介绍一下吧。



    当然我这里主要是实站,所以没有那么多冠冕堂皇的语言,本人文笔不好,大家且慢慢体会吧。

    这里我要引用一篇文章的几句话了:

    一.CSRF是什么?

    CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

    二.CSRF可以做什么?

    你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。

    三.CSRF漏洞现状

    CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到06年才开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的BLOG网站),YouTube和百度HI……而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”。

    原文地址:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

    我当时就是看着这篇文章学会的CSRF,大家也有必要看看 写得非常的赞,再我们了解了原理跟过程之后我们是不是该找几个CMS练练手了?那么我们开始吧!

    这里我找了一个cms,espcms, 后台多处CSRF,今天就用他来练练手吧。

    那么我们先说说一般什么地方容易产生CSRF了? 一般情况后台有会员管理的地方就要注意一下,应该会很容易没验证好就产生了CSRF,以及新建目录,新建文件都有可能产生CSFR。

    “通常情况下,有三种方法被广泛用来防御CSRF攻击:验证token,验证HTTP请求的Referer,还有验证XMLHttpRequests里的自定义header。”

    详细文章:http://www.ihonker.org/Article/201210/161805.html

    那么我们看看这个cms添加会员的地方吧,抓个图吧



    从肉眼看是没有验证的 直接就添加管理员了,那么我们抓包看看是不是真的没有做任何验证了?



    看样子是没有做任何验证了,那么我们接下来开始构造CSRF攻击了。

    这里就会有各种想象了,会不会像XSS钓鱼那样做一个一模一样的页面了?恭喜你对了一半, 为什么说对了一半了 且慢慢看来。

    首先我们需要把添加管理员这个form表单复制下来,然后提交过去,成功添加管理员,那么我们应该怎么做了?

    我们先复制form表单吧。




    审查元素大家都会用吧? 不会用也没关系打开源代码直接复制下来也行,不管你用什么方式把这个form表单的代码复制下来,




    这里我们需要去掉一些不需要的东西,尽量让html代码简洁,当然同时也要添加上value值,不然提交过去什么了?如果html都不会改的话,我建议你还是先去补习一下html的东西,再来看这篇文章就会轻松多了。



    我这里修改了一下也添加上了value值,记得别忘记修改form表单提交地址,我相信大家也不会忘记的,这里需要注意一下的就是选择男女那里,大家可以注意看一下他这里默认选择的是男,这个倒是不重要,有时候可能会选择系统管理员,普通会员,这样的话大家就要添加上默认选择了。那么基本就修改完了我们是不是可以访问一下测试一下了?OKEY!我们试试吧!




    OK,默认值都有了,点一下确定添加试试。






    返回ture ,真就说明我们添加成功了,如果返回的是false大家可以看看是不是用户名啊什么的不符合规格或者重复了,我们看看后台是否添加上csrftest这么一个系统管理员了。





    OK,我们成功了。但是这么一个form表单一个简陋的页面,一个不同的url地址,你以为管理员都是猪嘛?他们都会去点击确定添加吗?答案只有一个,肯定不会。

    我们上面的一切一切都白做了吗?都是理想化状态,都是扯淡的吗? 当然不是,接下来我们要做的就是完善这个form表单,这里我们需要用到javascript把form表单修改成自动提交的。只要一访问就会自动点击提交,这个不难吧,具体怎么实现了?

    我们可以先想象一下,我们肯定要获取到确定添加这个元素,然后点击让form表单提交过去才能成功添加上管理员啊,那么我们先看看他这个确定添加。




    他这里有一个ID,我们可以获取这个ID然后自动点击提交过去,说到这里我想大家都已经知道了吧






    就是为这个网页添加一个点击事件,当页面加载完后立即发生.

    那么这样子的话,只要管理员上钩了,就不需要他点击了只要我们坐等鱼儿上钩了,文章基本就完结了.

    接下来需要说的就是大家可以继续完善比如隐藏表单啊,以及各种忽悠管理员啊,就靠大家了,对了顺便提一下这个cms后台CSRF可以关闭这个站点,大家可以尝试着去练练手。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-22 09:27 , Processed in 0.024521 second(s), 12 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部