越权与逻辑漏洞

目录

越权漏洞

1、越权原理概述

2、越权分类

2.1、平行越权

2.2、垂直越权

3、越权防范:

逻辑漏洞

1、常见的逻辑漏洞

2、逻辑漏洞概述

3、逻辑漏洞防范:


越权漏洞

1、越权原理概述

      如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的。 一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

2、越权分类

2.1、平行越权

      A用户和B用户属于同一级别用户,但各自不能操作对方个人信息,A用户如果越权操作B用户的个人信息的情况称为平行越权操作。

2.2、垂直越权

     A用户权限高于B用户,B用户越权操作A用户的权限的情况称为垂直越权。

3、越权防范:

用户对权限页面进行操作时,后台需要对当前用户的权限进行校验,查看是否具备操作权限

逻辑漏洞

1、常见的逻辑漏洞

1.1、交易支付(修改金额为负数或为0)、密码修改(是否有原密码)、密码找回(1、改数据包跳过步骤 2、用自己的用户身份找回密码,在最后修改密码的时候抓包修改成其它用户 3、修改返回包,把0改成1或false改成true 4、手机号密码找回看一下返回包里面是否有手机验证码、5、邮箱密码找回的时候,试试修改邮箱,用别人的帐号找回,发邮件填写自己的邮箱、6、验证码长度短,纯数字可以直接burp暴破 7、同一验证码可以登录不同帐号 8、验证码纯数字,无时间限止 9、密码找回答案比较简单 或参数判断不严格)、越权修改、越权查询、突破限制等各类逻辑漏洞

环境准备:虚拟机windows2003   phpstudy2016   webug3.0靶场环境

 访问webug靶场环境:

http://10.0.0.105/

选择第六关:这关需要RMB购买哦

用户名为:tom
密码为:123456

输入购买数量的金额大于余额,无法购买:

 用bp抓包修改单价为0或负数,成功购买:(购买的金额大于余额)

bill1=10&bill2=20&num1=5&num2=6&uid=1

修改为:

bill1=0&bill2=0&num1=5&num2=6&uid=1

 Shop7z

http://10.0.0.101:89/QuicklyCheck.asp

注册个账号:

 找回密码--输入不存在的账号--点确定提醒用户名不存在:

攻击者可以通过此方式猜测存在的用户名

bp抓包发到重发器--重发几次请求测试验证码--发现验证码不过期,因此验证码不需要绕过。

请求包发到测试器--设置用户名变量--添加用户名字典进行爆破用户名:

成功破解存在的用户名:(lan123)

 输入正确的用户名--bp抓包--提交--把请求包保存在bp重发器--然后放包--跳转到第2页(getpassword2.asp)

http://10.0.0.101:89/getpassword2.asp

  输入正确的密码提示答案及邮箱--bp抓包--提交--把请求包保存在bp重发器--然后放包--跳转到第3页(getpassword3.asp)

http://10.0.0.101:89/getpassword3.asp

 此页可尝试绕过:

 再此页面用bp改包--输入错误用户名进行测试此页面对用户名是否做校验

此页面已对用户名做校验无法绕过,跳转到首页(getpassword.asp)

 输入错误密码提示答案、电子邮件跳转到第三页并报错(getpassword3.asp)

http://10.0.0.101:89/getpassword3.asp

 

 填写修改新的密码--bp抓包--提交--把请求包保存在bp重发器--然后放包--跳转到第admin页(changepasswordadmin.asp)

http://10.0.0.101:89/changepasswordadmin.asp?active=findpass

修改成功:

2、逻辑漏洞概述

      我们对常见的漏洞进行过统计,发现其中越权操作和逻辑漏洞占比最高,在我们所测试过的平台中基本都有发现,包括任意查询用户信息、任意删除等行为;最严重的漏洞出现在账号安全,包括重置任意用户密码、验证码暴力破解等。 

       在OWASP Top 10中也有所提及,分别为不安全对象引用和功能级别访问控制缺失。  

       其中不安全对象引用指的是平行权限的访问控制缺失,比方说,A和B两个同为一个网站的普通用户,他们之间的个人资料是相互保密的,A用户的个人资料可以被B用户利用程序访问控制的缺失恶意查看,由于A用户和B用户之间是一个同级的账号,因此称为平行权限的访问控制缺失。功能级别访问控制缺失指的是垂直权限的访问控制缺失,比方说,A账号为普通账号、B账号为管理员账号,B账号的管理页面时必须是以管理员权限登录后方可查看,但A账号可通过直接输入管理页面URL的方式绕过管理员登录限制查看管理页面,由于A用户和B用户的权限是垂直关系,因此称为垂直权限的访问控制缺失。该类型属于业务设计缺陷的安全问题,因此传统的扫描器是无法发现的,只能通过手工的渗透测试去进行检查。在金融平台中以平行权限的访问控制缺失较为常见。

3、逻辑漏洞防范:

  1. 越权操作

    防范措施:实施严格的权限控制,确保每个操作都有对应的权限检查。使用最小权限原则,用户只能访问和操作其权限范围内的资源。
  2. 条件竞争

    防范措施:在并发环境下,使用锁机制或事务来保证数据的一致性,避免多个线程或进程同时修改同一资源。
  3. 参数校验不足

    防范措施:对所有输入参数进行严格的校验,确保其符合预期的格式和范围,防止非法输入导致的逻辑错误。
  4. 业务流程跳转

    防范措施:设计合理的业务流程,确保用户必须按照预定义的顺序完成操作,防止跳过必要的验证步骤。
  5. 状态机管理不当

    防范措施:使用状态机模型来管理业务状态,确保状态转换的合法性,防止非法状态转换。
  6. 异常处理不当

    防范措施:编写健壮的异常处理代码,确保所有可能的异常都被捕获并妥善处理,避免程序崩溃或泄露敏感信息。
  7. 重放攻击

    防范措施:使用一次性令牌、时间戳或序列号等机制,防止攻击者重复提交请求。
  8. 逻辑判断错误

    防范措施:仔细审查和测试逻辑判断语句,确保所有条件都被正确评估,避免因逻辑错误导致的安全漏洞。
  9. 会话管理不当

    防范措施:使用安全的会话管理机制,定期刷新会话ID,防止会话劫持。
  10. 依赖关系管理

    防范措施:定期检查和更新第三方库和框架,避免使用存在已知漏洞的组件。


声明:

  • 此文章只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试留言私信,如有侵权请联系小编处理。
  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xlbb.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值