逻辑漏洞挖掘—Hack之路

介绍逻辑漏洞

逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性。一般出现在密码修改、 越权访问、密码找回、交易支付金额等功能处。其中越权访问又有水平越权和垂直越权两种,如下所示。

  • 水平越权:相同级别(权限)的用户或者同一角色中不同的用户之间,可以越权访问、修改或者删除其他用户信息的非法操作。如果出现此漏洞,可能会造成大批量数据的泄露,严重的甚至会造成用户信息被恶意篡改。
  • 垂直越权:就是不同级别之间的用户或不同角色之间用户的越权,比如普通用户可以执行管理员才能执行的功能。

逻辑缺陷表现为设计者或开发者在思考过程中做出的特殊假设存在明显或隐含的错误

精明的攻击者会特别注意目标应用程序采用的逻辑方式,并设法了解设计者与开发者可能做处的假设,然后考虑如何攻破这些假设,黑客在挖掘逻辑漏洞时有两个重点:业务流程和HTTP/HTTPS请求篡改,常见的逻辑漏洞有以下几类。

  • 支付订单:在支付订单时,可以篡改价格为任意金额;或者可以篡改运费或其他费用为负数,导致总金额降低
  • 越权访问:通过越权漏洞访问他人信息或者操纵他人账号
  • 重置密码:在重置密码时,存在多种逻辑漏洞,比如利用session覆盖重置密码,短信验证码直接返回的数据包中等
  • 竞争条件:竞争条件常见于多种攻击场景中,比如前面介绍的文件上传漏洞。还有一个常见场景就算购物,例如用户A的余额为10元,商品B的价格为6元,商品C的价格为5元,如果用户A分别购买商品B和商品C,那余额肯定是不够的。但是如果用户A利用竞争条件,使用多线程同时发送购买商品B和商品C的请求可能会出现以下几种结果
  1. 有一种商品购买失败
  2. 商品都购买成功,但是只扣了6元
  3. 商品都购买成功,但是余额变成了-1元

 

网站地址:https://www.hackzl.cn;发布者:hack之路,转转请注明出处:https://www.hackzl.cn/index.php/2021/01/10/%e9%80%bb%e8%be%91%e6%bc%8f%e6%b4%9e%e6%8c%96%e6%8e%98-hack%e4%b9%8b%e8%b7%af/

发表评论

邮箱地址不会被公开。 必填项已用*标注