逻辑漏洞学习

逻辑漏洞(前端验证不可信)
1 越权漏洞
水平(访问同等权限用户)
垂直(低权访问高权用户)
2支付漏洞
修改价格
修改数量(负数或小数)
隐藏优惠券
优惠券叠加
定义变量边界不全,导致数据溢出等
3 重置密码
通过修改手机号更改验证码发送目标修改他人密码

JSON
格式:
数值:格式:{ “key” : value}
字符串:格式:{ “key” : “value”}
数组:格式:{ “key” : [value]}
对象:格式:{ “key” : {value}}
对象数组:格式:{ “key” : [{“key1”: “value1”},{“key2”: “value2”}]}
数组对象:格式:{“key”:{“key1”:[value1,value2]}}

鉴权
通过特定手段确定用户身份
方法:明文传输,变量,后端返回的json串
cookie鉴权
一种存储在用户本地终端上的小型文本文件,用于辨别用户身份和进行会话跟踪。能记录状态,储蓄时间直到会话结束,或用户删除
与http对比,
http无法记录状态,每次请求完成无法记录,需要重新登陆(一次性)
session
与cookie相比不会更新,后端生成,根据时间戳生成,但有概率猜中(如果只是账号密码等有规律数据拼接加密成的)

练习靶场
玄境靶场
越权:
1 仅根据ID直接查看目标信息(水平)
2 通过更改账号相关权限通用名称
3 更改bool值绕过前端验证
登录
1 修改前端BOOL值实现前端绕过
2 进行前端JS逆向查找有无前端验证点
3 抓包可发现password存在前端加密,通过JS逆向可查找加密方式
支付
1 更改金额
2 购买数量和优惠卷数量为负数结果构成0
3 修改优惠券金额
4 修改商品编号
5 存在隐藏优惠券
6 可通过遍历优惠券ID
7 签名由前端加密函数加密,通过JS逆向,找到加密函数,构造正确签名
8 数据变量边界定义不全,可通过数据溢出构造金额加优惠券=0形式

posted @ 2025-05-17 22:21  lihi361  阅读(39)  评论(0)    收藏  举报