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. [作业] Python入门基础--猜年龄

    age = 20 while True: try: guess_age = int(input('guess age:')) if guess_age > age: print('Is bigg ...

  2. IOS Core Image之一

    项目中要实现高斯模糊的效果,今天看了下Core Image这块的内容, 主要包括CIImage.CIFilter.CIContext.CIDetector(检测).CIFeature(特征)等类. 今 ...

  3. [学习线路] 零基础学习hadoop到上手工作线路指导(初级篇)

    about云课程最新课程Cloudera课程   零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.在刚接触云计算,曾经想过培训,但是培训机构的选择就让我很纠结.所以索性就自己学习了. ...

  4. yum卸载

    完全卸载依赖 -- 正常安装 yum install sl -- 列出操作 yum history list sl -- 根据显示install操作的id进行删除 yum history undo { ...

  5. [LeetCode]Longest Substring Without Repeating Characters题解

    Longest Substring Without Repeating Characters: Given a string, find the length of the longest subst ...

  6. Spring与MyBatis整合上_Mapper动态代理方式

         将MyBatis与Spring进行整合,主要解决的问题就是将SqlSessionFactory对象交由Spring来管理..所以该整合,只需将SQLSessionFactory的对象生成器S ...

  7. Windows命令行方式执行OracleSQL脚本

    调用格式 sqlplus user/pwd@orcl @F:\DB_BAKFile\createpro.sql>>F:\DB_BAKFile\log\createpro.log SQL脚本 ...

  8. 01.CSS动画-->transform

    transform: translate(参数1,参数2):让元素在X轴与Y轴方向发生偏移-->参数1:X:参数2:Y rotate(参数1):让元素进行旋转:单位(deg) scale(参数1 ...

  9. mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法

    之前项目中需要写一个sql,就是查出某个调研详情中,选A答案,B答案,C答案...F答案的人各有多少人,这个sql也是费了很大的力气才写出来,故记下来,方便以后使用. 其中tbl_research_i ...

  10. mybatis大框架

    MyBatis   开源的数据持久化层框架 实体类与SQL语句之间建立映射关系 一:MyBatis前身是IBatis,本是Apache的一个开源的项目, 基于SQL语法,简单易学 ,是耦合度降低,方便 ...