WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞

目录

水平垂直越权

水平越权

垂直越权

访问控制原理

漏洞判别

防护

购买逻辑漏洞

知识点

详细介绍

防护

案例演示-优惠券

案例演示-CMS-订单修改


水平垂直越权

水平越权

同级用户权限共享---当用户访问数据时未对用户和id值进行有效的查询和验证,导致可以访问其他同等级用户的信息。

垂直越权

低高用户权限共享---数据库中用户类型编号被篡改成更高权限时未进行验证,导致用户可以访问更高权限的信息。

访问控制原理

1、验证丢失---未包含或未引用验证代码和文件。

2、取消验证---白名单、匿名访问、没有验证。

3、脆弱验证---虽然有验证,但是逻辑性不高,从而可以很轻松的进行绕过。

        Cookie&Token&Jwt:存在cookie等验证,如果只是判断cookie是否存在,那么只要在数据包中添加cookie的值即可绕过。

        逻辑性:当以普通用户执行管理员操作时,如果源码中是先执行再判断用户权限,那么就没有任何意义。

漏洞判别

黑盒:修改所有可能和权限相关的参数值,来判定存不存在越权漏洞。

白盒:代码审计,找到验证的文件或者发现逻辑错误

防护

在登陆后,将用户名或是条件固定,那么所有的操作都会在这个用户名下。

购买逻辑漏洞

知识点

1、商品购买-数量&价格&编号等

        数量:通过修改商品数量实现低价购买

        价格:通过修改商品价格实现低价购买

        编号:修改商品的指定编号实现低价购买

2、支付模式-状态&接口&负数等

        状态:判断是否支付成功的状态

        接口:支付接口,篡改支付接口

        负数:正常够买商品数量,付钱为正数,那么可以考虑购买负的数量

3、折扣处理-优惠券&积分等

        优惠券&积分:是否可以重复使用,限制是否严格

详细介绍

1、熟悉常见支付流程

        选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付

2、熟悉那些数据篡改

        商品编号ID,购买价格,购买数量,支付方式,订单号,支付状态等

3、熟悉那些修改方式

        替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等

防护

1、金额以数据库定义为准

2、购买数量限制为正整数

3、优惠券固定使用后删除

4、订单生成后检测对应值

案例演示-优惠券

1、利用优惠券的索引规律

2、优惠卷的重复使用--使用完后,还可以利用索引号继续使用

成功领取优惠券

WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第1张图片

 

 

记录带有优惠券的数据包,获取没有优惠券的数据包进行比较,发现了use_coupon的值不一样

 

WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第2张图片 

通过发现优惠卷的规律进行使用,使用新的优惠卷就为107,那么这个优惠卷的规律就是不断上升1,那么正常购买商品并不断向后推写优惠券的编号,实现优惠券的使用

 WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第3张图片

 

 

案例演示-CMS-订单修改

通常在块结账时会自动生成订单编号(以一串数字和字母组成)

WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第4张图片

尝试购买更多的商品,目前存在两个订单信息,一千和一万。

WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第5张图片 

WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第6张图片 

 WEB攻防-通用漏洞&水平垂直越权&购买逻辑漏洞_第7张图片

在支付页面抓包,购买十万的订单并修改其中的订单编号,直接获取付款一千即可。

 

 

虽然是源码,但是后续操作较敏感,不在演示,理解原理即可。 

 

你可能感兴趣的:(安全)