逻辑漏洞挖掘

逻辑漏洞介绍

逻辑漏洞就是指攻击者利用业务的设计缺陷、获取敏感信息或者破坏业务的完整性。一般出现在密码修改、越权访问、密码找回、

支付交易金额、退款金额等功能

其中越权访问又分为水平越权和垂直越权,如下所示

水平越权:相同级别(权限)的用户或者同一角色中不同的用户之间,可以越权访问,修改或者删除其他用户信息的非法操作。如果出现此类

漏洞,可能会造成大批量数据的泄露,严重的甚至会造成用户信息被恶意篡改。

垂直越权:就是不同级别或者不同角色之间用户越权,比如普通用户可以执行管理员才能执行的功能

常见的逻辑漏洞

1)支付订单:在支付订单式,可以修改价格为任意金额;或者可以篡改运费或者其他费用为负数,导致总金额降低

2)越权访问:通过越权漏洞访问他人信息或者操作他人账号

3)重置密码:在重置密码时存在多种逻辑漏洞,比如利用session覆盖重置密码,短信验证直接返回在数据包中

4)竞争条件:竞争条件常见于多种攻击场景钟,比如前面介绍的文件上传漏洞。还有一个就是常见购物场景,例如A用户有10元

B产品6元,C产品5元,利用资源竞争同时快速购买产品,可能出现以下场景

有一件商品失败,剩余金额正确

商品都购买成功,扣除了一件产品的金额

商品都购买成功,余额变为-1元

越权访问测试

水平越权

1)利用用户信息生成token,利用该token操作自己信息

2)利用用户信息生成token,利用该token操作相同角色他人信息

横向越权

1)利用管理员账号生成token,利用该token操作自己信息

2)利用管理员信息生成token,利用该token操作相同角色他人信息

越权访问修复建议

越权访问漏洞产生的主要原因没有对用户的身份做判断和控制,防护这种漏洞时,可以通过session来控制。例如在用户钟登录成功后,将username或者uid写入到session钟,当用户查看个人信息时,从session中获取信息,而不是通过GET或者POST获取username。

你可能感兴趣的:(逻辑漏洞挖掘)