一.本文介绍
1、本文介绍平行越权、垂直越权;登录、注册、修改密码、密码找回、支付等地方是否存在逻辑漏洞。
二.学习步骤
1、越权
原理:
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的。一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。
直接修改唯一值,如用户名1. 平行越权:
A用户和B用户属于同一级别用户,但各自不能操作对方个人信息,A用户如果越权操作B用户的个人信息的情况称为平行越权操作。
将信息中POST地址改为管理员添加用户的URL、Referer、cookie、请求包的内容。2. 垂直越权:
A用户权限高于B用户,B用户越权操作A用户的权限的情况称为垂直越权。
3. 越权漏洞可能发生的地方
所有用户信息查询,修改,等页面.
如网上银行的余额信息,普通网站的个人资料查询修改等页面.
只要涉及到要从数据库中查询或提交数据的地方,都有可能存在越权漏洞的产生.
案例:
http://www.wooyun.org/bugs/wooyun-2010-020651
http://www.wooyun.org/bugs/wooyun-2010-021150
2、逻辑漏洞
1. 常见的逻辑漏洞:
交易支付、密码修改、密码找回、越权修改、越权查询、突破限制等各类逻辑漏洞。下图是密码找回逻辑示意图:
2. 如何挖:
确定业务流程--->寻找流程中可以被操控的环节--->分析可被操控环节中可能产生的逻辑问题--->尝试修改参数触发逻辑问题
1.)交易支付中的逻辑问题
加入购物车时是否可以修改购买数量为负数,商品价格是否可以修改.
确认购物车信息时是否可以修改商品数量为负数,是否存在折扣限制突破问题,是否可以修改商品总金额.
输入物流信息时是否可以控制运费,如果可以,尝试修改为负数.
确认订单后跳转支付接口时是否可以修改支付金额,可否不支付直接跳转到交易成功环节.
3. 案例:
1、任意修改用户资料
http://www.wooyun.org/bugs/wooyun-2010-070940
http://www.wooyun.org/bugs/wooyun-2010-059453
2、任意查询用户信息
http://www.wooyun.org/bugs/wooyun-2010-061274
http://www.wooyun.org/bugs/wooyun-2010-039797
3、任意重置用户密码
http://www.wooyun.org/bugs/wooyun-2010-068091
http://www.wooyun.org/bugs/wooyun-2010-021686
首先走一遍正常的密码修改流程,把过程中所有环节的数据包全部保存.
分析流程中哪些步骤使用了哪些身份认证信息,使用了哪些认证方法.
分析哪个步骤是可以跳过,或者可以直接访问某个步骤.
分析每个认证方法是否存在缺陷,可否越权
首先尝试正常密码找回流程,选择不同找回方式,如邮箱,手机,密码提示问题等.
分析各种找回机制所采用的验证手段,如验证码的有效期,有效次数,生成规律,是否与用户信息相关联等.
抓取修改密码步骤的所有数据包,尝试修改关键信息,如用户名,用户ID,邮箱地址,手机号码等。详细看以下案例:
4、恶意注册
http://www.wooyun.org/bugs/wooyun-2010-08966
http://www.wooyun.org/bugs/wooyun-2010-069402
5、恶意短信
http://www.wooyun.org/bugs/wooyun-2010-077349
6、其它逻辑漏洞
http://www.wooyun.org/bugs/wooyun-2010-020783
http://www.wooyun.org/bugs/wooyun-2010-020763
网友评论