若是使用A用户的权限去操做B用户的数据,A的权限小于B的权限,若是可以成功操做,则称之为越权操做。 越权漏洞造成的缘由是后台使用了不合理的权限校验规则致使的。前端
通常越权漏洞容易出如今权限页面(须要登陆的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操做时,后台须要对当前用户的权限进行校验,看其是否具有操做的权限,从而给出响应,而若是校验的规则过于简单则容易出现越权漏洞。数据库
全部用户信息查询,修改,等页面.cookie
如网上银行的余额信息,普通网站的我的资料查询修改等页面.session
只要涉及到要从数据库中查询或提交数据的地方,都有可能存在越权漏洞的产生.post
A用户和B用户属于同一级别用户,但各自不能操做对方我的信息,A用户若是越权操做B用户的我的信息的状况称为平行越权操做。网站
即:不一样帐号之间是同一权限,但抓包该用户可以直接换号访问3d
注:两个帐号之间是相同的普通权限blog
A用户权限高于B用户,B用户越权操做A用户的权限的状况称为垂直越权。接口
即:不一样帐号名之间是不一样权限,但抓包该用户名可以直接执行不一样权限的命令图片
首先以root用户登陆建立用户同时抓取数据包:
抓取普通用户登陆的cookie信息
将管理员页面的cookie信息替换为普通用户的cookie,查看有没有建立用户(实现的是普通用户越权进行了管理员建立用户的操做)
当攻击者知道建立post的地址以及referer信息就能直接构造数据传递。
源码示例:
注意看源代码处:源代码处可能在登录处作了校验,可是登陆后的各类操做时并无对session、id参数等进行校验,致使越权。
(尝试遍历id使用)
逻辑漏洞以思惟的方式进行探测,即发现开发中可能忽略的细枝末节或者说是考虑不周全的问题,经过这些问题达到利用漏洞的方式进行突破。
通常来讲,逻辑漏洞都是在前端校验,而未在服务端作校验,才会形成逻辑漏洞;同时逻辑漏洞并非泛指某一类的漏洞,而是指全部可能被忽视的地方都会产生逻辑漏洞。
肯定业务流程--->寻找流程中能够被操控的环节--->分析可被操控环节中可能产生的逻辑问题--->尝试修改参数触发逻辑问题
通常来讲,对重要的地方,如交易支付、密码修改、密码找回、越权修改、越权查询、突破限制等各种重要的地方去探测逻辑漏洞。
一、交易支付中的逻辑问题:
• 加入购物车时是否能够修改购买数量为负数,商品价格是否能够修改.
• 确认购物车信息时是否能够修改商品数量为负数,是否存在折扣限制突破问题,是否能够修改商品总金额.
• 输入物流信息时是否能够控制运费,若是能够,尝试修改成负数.
• 确认订单后跳转支付接口时是否能够修改支付金额,能否不支付直接跳转到交易成功环节.
示例:
二、密码修改逻辑漏洞
• 首先走一遍正常的密码修改流程,把过程当中全部环节的数据包所有保存.
• 分析流程中哪些步骤使用了哪些身份认证信息,使用了哪些认证方法.
• 分析哪一个步骤是能够跳过,或者能够直接访问某个步骤.
• 分析每一个认证方法是否存在缺陷,能否越权
• 首先尝试正常密码找回流程,选择不一样找回方式,如邮箱,手机,密码提示问题等.
• 分析各类找回机制所采用的验证手段,如验证码的有效期,有效次数,生成规律,是否与用户信息相关联等.
• 抓取修改密码步骤的全部数据包,尝试修改关键信息,如用户名,用户ID,邮箱地址,手机号码等。
交易支付(修改金额为负数或为o)、密码修改(是否有原密码)、密码找回
(
一、改数据包跳过步骤
二、用本身的用户身份找回密码,在最后修改密码的时候抓包修改为其它用户
三、修改返回包,把0改为1或false改为true
四、手机号密码找回看一下返回包里面是否有手机验证码、
五、邮箱密码找回的时候,试试修改邮箱,用别人的账号找回,发邮件填写本身的邮箱、
六、验证码长度短,纯数字能够直接burp暴破
七、同一验证码能够登陆不一样账号
八、验证码纯数字,无时间限制
九、密码找回答案比较简单 或参数判断不严格
)
、越权修改、越权查询、突破限制等各种逻辑漏洞
一、任意修改用户资料
二、任意查询用户信息
三、任意重置用户密码
四、恶意注册
五、恶意短信
六、占用资源(时间)
七、其余逻辑漏洞