MS10-070 ASP.NET Padding Oracle信息泄露漏洞项目测试
MS10-070 ASP.NET Padding Oracle信息泄露漏洞
1 漏洞描述:
ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞。成功利用此漏洞的攻击者可以读取服务器加密的数据,例如视图状态。 此漏洞还可以用于数据篡改,如果成功利用,可用于解密和篡改服务器加密的数据。 虽然攻击者无法利用此漏洞来执行代码或直接提升他们的用户权限,但此漏洞可用于产生信息,这些信息可用于试图进一步危及受影响系统的安全。
2 漏洞标识符:
Bugtraq ID: 43316
CVE: CVE-2010-3332
3 受影响系统
Microsoft .NET Framework 4.0
Microsoft .NET Framework 3.5 SP1
Microsoft .NET Framework 3.5
Microsoft .NET Framework 2.0 SP2
Microsoft .NET Framework 1.0 SP3
4 漏洞解决办法:
4.1 临时解决办法:
* 启用ASP.NET自定义错误并将所有的错误代码都映射到相同的出错页面。
* 创建包含有通用出错消息的error.html文件并保存到根目录。
4.2 微软补丁:
微软已经为此发布了一个安全公告(MS10-070)以及相应补丁:
http://www.microsoft.com/technet ... 10-070.mspx?pf=true
信息收集
目标:www.XXX.biz
Ip:180.23x.6x.21x
环境:用扫描工具发现 是个 iis7.5 表示解析漏洞byebye了,整个网站后缀是SHTML,查看源码得知是ASPX 网站,猜想权限应该很大!
思路:1、SQL注入 放弃(有可能存在POST 注入 但是我不会,)
2、找上传地址 查看源码发现有kindeditor的路径(但是后面发现用的是FCK)
3、找后台尝试弱口令 表示没有成功
4、旁站 旁站都是用的同一个程序,放弃!
漏洞扫描
直接上WVS 扫一个高危漏洞没有,今天的主角
这个漏洞利用的最关键的一点就是寻找WebResource.axd,说实话这个看人品的,有时候很好找,右击查看源码在查找一下就可以找到,但有时候你怎么找都找不到,在这里我分享一下我找 WebResource.axd的经验。
1、 一般我查看首页的源码,能有话 你赶快去买彩票,这么好的事都能有,不合理啊!!!
2、 查看后台源码,或者会员登录的网页,查看源码或许有惊喜哦!
3、 上面2个方法都找不到,只能靠工具了,WVS对网站做一个深度全方位的扫描,或许可以找到这个文件的位置,扫描结果中的文件列表显示栏也是可以直接看到WebResource.axd和它的参数和值的,如下:
看到
<script src="/WebResource.axd?d=VXKB3fkqegYIJXaI5b_q_A2&t=633802945995006876" type="text/javascript"></script>
我们要找的就是参数d的值,如果在源码中看到有其他的参数,不需要理会。复制&前面的一串WebResource.axd?d=VXKB3fkqegYIJXaI5b_q_A2
第二个高危漏洞我们可以忽视它,这个网站目录做的很死,属于误报,压根不存在列目录。
漏洞利用
下载 padBuster.pl Webconfig Bruter.pl(注意把Webconfig Bruter.pl 中间的空格去掉不然你死也不会成功)
padBuster.pl.txt (29.43 KB, 下载次数: 10)
Webconfig Bruter.pl.txt (4.18 KB, 下载次数: 9)
找到WebResource.axd参数的值之后,就可以开始利用了。
安装好perl环境,执行:
perl.exe e:\padBuster.pl http://www.xxxx.biz/cms/WebResource.axd?d=aLjVFOUQacvgdyNFUithWQ2 aLjVFOUQacvgdyNFUithWQ2 8 -encoding 3 -plaintext "|||~/web.config"
参数说明:
这里的16为每个数据块的字节数,分为8和16,目前还没有什么好的方法判断这个字节数,所以需要大家可以两种都试一下(大多数为16)。
encoding参数有4种,分别是0=Base64, 1=Lower HEX, 2=Upper HEX 3=.NET UrlToken, 4=WebSafe Base64,由于本次测试为asp.net,所以这里我们选择3。
plaintext为想读取内容的文件,本次测试以web.config为例
这里是让我们选择一个相应模式,并且**表示程序推荐的,那么这里就选择程序推荐的2号模式,等几分钟,(有些人或许只出现1没有出现有**的2,这样的话把第一个参数16改成8试试,或者8改成16)
到这里,就拿到了web.config的URL的加密地址。
下面就该上Webconfig Bruter.pl获取完整的访问地址了
执行:
perl.exe e:\Webconfig_Bruter.pl http://www.xxx.biz/ScriptResource.axd p_klglqaE5B_ouCiPQTQYgAAAAAAAAAA0 8
还记得前面说的Webconfig Bruter.pl 要去掉空格吗? 不去空格就一直报错!!!!!!
等几分钟,就得到了最终的加密字符串:
OK,记好这个加密字符串,使用浏览器访问
http://www.xxx.biz/ScriptResourc ... KI9BNBiAAAAAAAAAAA1
成功了,如预想的一样权限SA 可惜是内网,到这里我就没办法继续了
如果是外网服务器 直接3389连接就OK 了 不用我多说了吧
MS10-070 ASP.NET Padding Oracle信息泄露漏洞项目测试的更多相关文章
- [实战]ASP.NET Padding Oracle信息泄露漏洞
前言 这个漏洞是很多年前的了,刚好碰到网站有这个漏洞,利用一下也记录一下.具体原理请搜索学习,反正我不会. 推荐看这里,写得很清楚:http://www.91ri.org/6715.html 工具 p ...
- WordPress Backdoor未授权访问漏洞和信息泄露漏洞
漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...
- Linux kernel 内存泄露本地信息泄露漏洞
漏洞名称: Linux kernel 内存泄露本地信息泄露漏洞 CNNVD编号: CNNVD-201311-467 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级: ...
- Linux Kernel ‘/net/socket.c’本地信息泄露漏洞
漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...
- Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...
- Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞
漏洞名称: Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201311-053 发布时间: 2013-11-06 更新时间: 2013-11 ...
- PuTTY 信息泄露漏洞
漏洞名称: PuTTY 信息泄露漏洞 CNNVD编号: CNNVD-201308-380 发布时间: 2013-08-27 更新时间: 2013-08-27 危害等级: 低危 漏洞类型: 信息泄露 ...
- Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞
漏洞名称: Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞 CNNVD编号: CNNVD-201307-072 发布时间: 2013-07-05 更新时间 ...
- Linux kernel ‘net/key/af_key.c’信息泄露漏洞
漏洞名称: Linux kernel ‘net/key/af_key.c’信息泄露漏洞 CNNVD编号: CNNVD-201307-071 发布时间: 2013-07-05 更新时间: 2013-07 ...
随机推荐
- *2.2.4 加入virtual interface
在前几节的例子中,driver中等待时钟事件(@posedge top.clk).给DUT中输入端口赋值(top.rx_dv <= 1' b1)都是使用绝对路径,绝对路径的使用大大减弱了验证平台 ...
- CC2530串口工作
前言 嘿嘿,我只是写给我自己的一篇博客,今天研究了一天的CC2530,感觉好累,虽然是已经落伍的技术了,但是我觉得不要小看它,还是能够学到点东西的,随着学习的深入,渐渐感觉有点突破的苗头了!哈哈 CC ...
- C/C++编码规范
C/C++编码规范 今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术.由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解 ...
- [转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
本文转自:http://www.cnblogs.com/fzrain/p/3923727.html 前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然 ...
- GraphQL介绍&使用nestjs构建GraphQL查询服务
GraphQL介绍&使用nestjs构建GraphQL查询服务(文章底部附demo地址) GraphQL一种用为你 API 而生的查询语言.出自于Facebook,GraphQL非常易懂,直接 ...
- js复选框全选反选
本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...
- spss C# 二次开发 学习笔记(四)——Spss授权
Spss的授权方式有两种,单机版和网络版. Spss的激活,在联网的情况下,通过20位的激活码激活,在未联网的情况下,Spss根据机器获取一个类似4-XXXX的锁定码,然后由激活码和锁定码算出一个授权 ...
- C#3.0匿名类和Lanmda表达式
1.初始化器:className variableName = new className(property1=value1…); 2.var可以声明一个没有类型的变量,根据赋值的不同改变数据类型 3 ...
- python_tensorflow_Django实现逻辑回归
1.工程概要 2.data文件以及input_data文件准备 链接:https://pan.baidu.com/s/1EBNyNurBXWeJVyhNeVnmnA 提取码:4nnl 3.logiss ...
- [POI2005]AUT-The Bus
树状数组维护前缀最大值+扫描线DP #include"cstdio" #include"cstring" #include"iostream" ...