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