网站地图    收藏   

主页 > 后端 > 网站安全 >

李白白之权限测试案例分析 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 12:00 作者: 阅读:

[导读] 上图是2010年以来网易产品被第三方机构发现的安全测试漏洞统计图,其中离我们最近的季度2012-3季度出现的安全测试漏洞为24个,平均每个月都保持在20个以上。上...


上图是2010年以来网易产品被第三方机构发现的安全测试漏洞统计图,其中离我们最近的季度2012-3季度出现的安全测试漏洞为24个,平均每个月都保持在20个以上。

上图是具体的漏洞种类,其中XSS漏洞占到了所有漏洞的33%,SQL注入漏洞占到了17%。SQL注入和XSS漏洞是最具危害性的web漏洞。之前的博文有对这两种漏洞测试方法有所提及,还是那句话,80%的安全问题来自于用户输入,有表单提交的文本框和带参数传递的url是我们测试这两种漏洞的重点,同时又参数传递的表单和url也是权限容易出问题的地方。上图中有关权限的漏洞的比例也很大,下面将举实例剖析下与权限相关的漏洞。
 案例1:
简要描述:
网易邮箱弱口令手机绑定业务程序设计存在缺陷可导致直接修改密码
我们来看看具体的步骤。

首先注册一个126邮箱测试帐号

然后会跳转到一个手机绑定得安全提示上
 这个链接注意下参数,有个uid,将uid修改为要黑掉的网易邮箱帐户
 

填入一个你可控的手机号码,将确认码发回来

点击确定并进入邮箱,这个时候这个目标网易邮箱已经被越权绑定了密保手机。
然后走正常的密码取回流程,发现这个邮箱多了一个通过手机的取回方式,这个手机尾号就是我刚刚绑定的手机!
 
 

 
 



密码重置成功!!
这个漏洞的危险级别有点高,如果说带有明文参数传递是个错误的话,那后台数据出来的时候没有将刚刚注册的帐号和要绑定手机的帐号进行比对是导致这个漏洞的根本原因。
经验教训:带参数的传递是权限测试的重点。

权限测试没有固定的测试方法,因为每个产品的具体的权限设计理念是不同的。所以测试的方法也不尽相同。下面的一个实例的展示,用接口的测试的方法去测试权限问题。有类似产品的可以去试试。
详细说明:
博客日志模块的AJAX请求接口通过URL参数传递用户等级(访客、好友、博主),并且不会对该参数进行判断,通过伪造请求即刻得到原本只有好友可见或者博主私人可见的日志。而且任何情况下该接口都会返回以草稿保存的日志,仅通过前端判断不予显示。
以博客小管(http://blog.163.com/blog_admin)为例。通过其首页可得其的UID:721279。

向以下地址发起HTTP POST请求:
http://api.blog.163.com/dwr/call/plaincall/BlogBean.getBlogs.dwr

 其中param0和param1分别是数量和起始点(这里只获取第260-280篇日志),param2是UID,param4是权限,10000代表博主(最高级)。
      返回的是JSONP封装的数据,简单解析后可以发现其中有一篇在日志列表中不会出现的标题(title)为《贴出真实,秀出精彩-博客自拍之星》的日志, 它的地址是http://blog.163.com/blog_admin/blog/static /72127920072276191481,allowView:10000表示它是博主私人可见,content即为该日志的内容。
接口测试可以有效的避开前端的一些验证,通过参数的伪造请求,有效的避开权限检查。以上两个案例事故发生的原因都是缺少了对敏感数据保护的漏洞,这些敏感信息也是我们测试的重点

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论