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信息泄露漏洞项目测试的更多相关文章

  1. [实战]ASP.NET Padding Oracle信息泄露漏洞

    前言 这个漏洞是很多年前的了,刚好碰到网站有这个漏洞,利用一下也记录一下.具体原理请搜索学习,反正我不会. 推荐看这里,写得很清楚:http://www.91ri.org/6715.html 工具 p ...

  2. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  3. Linux kernel 内存泄露本地信息泄露漏洞

    漏洞名称: Linux kernel 内存泄露本地信息泄露漏洞 CNNVD编号: CNNVD-201311-467 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级:    ...

  4. Linux Kernel ‘/net/socket.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...

  5. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...

  6. Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201311-053 发布时间: 2013-11-06 更新时间: 2013-11 ...

  7. PuTTY 信息泄露漏洞

    漏洞名称: PuTTY 信息泄露漏洞 CNNVD编号: CNNVD-201308-380 发布时间: 2013-08-27 更新时间: 2013-08-27 危害等级: 低危   漏洞类型: 信息泄露 ...

  8. Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞

    漏洞名称: Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞 CNNVD编号: CNNVD-201307-072 发布时间: 2013-07-05 更新时间 ...

  9. Linux kernel ‘net/key/af_key.c’信息泄露漏洞

    漏洞名称: Linux kernel ‘net/key/af_key.c’信息泄露漏洞 CNNVD编号: CNNVD-201307-071 发布时间: 2013-07-05 更新时间: 2013-07 ...

随机推荐

  1. MyBatis Generator 详解(转)

    MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...

  2. OpenStack概述

    OpenStack OpenStack is a cloud operating system that controls large pools of compute, storage, and n ...

  3. iOS开源项目周报0223

    由OpenDigg 出品的iOS开源项目周报第九期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等.panelkit ...

  4. 第6天:数据Array

    数组Array every() 方法测试数组的所有元素是否都通过了指定函数的测试. array.every callback[, thisArg] callback 被调用时传入三个参数:元素值,元素 ...

  5. 【转载】SQL Server 2012将数据导出为脚本详细图解

    前记: 从SQL SERVER 2008开始,我们就可以很方便的导出数据脚本,而无需再借助存储过程,但是SQL Server 2012和SQL Server 2008的导出脚本的过程还有一点细微的差别 ...

  6. 用JavaScript将数字转换为大写金额(收藏)

    (非原创, 来自网络,仅作收藏) var digitUppercase = function(n) { var fraction = ['角', '分']; var digit = [ '零', '壹 ...

  7. HDU 1874(简单最短路) (大优化)

    优先队列那里用greater会报错 http://acm.hdu.edu.cn/showproblem.php?pid=1874 /* 使用pair代替结构 */ #include <iostr ...

  8. C#学习笔记(基础知识回顾)之值类型和引用类型

    一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...

  9. CSS(一)sytle

    一:CSS语法组成:  选择符 和声明(声明和声明之间用分号隔开)  声明部分:属性和属性值(用冒号链接)  语法:选择符{   属性1:属性值:   属性2:属性值:  } 所有的CSS语句都要放到 ...

  10. JavaScript访问对象的属性和方法

    对象的属性和方法统称为对象的成员. 访问对象的属性 在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性. 二者区别:“ . ”表示法一般作为静态对象使用时来存取属性.而“[ ...