当前位置:网站首页>WEB 渗透之逻辑漏洞
WEB 渗透之逻辑漏洞
2022-08-04 16:39:00 【weixin_53150482】
逻辑漏洞
文章目录
一、简介
逻辑漏洞是指由于程序逻辑不严导致一些逻辑分支处理错误造成的漏洞。
在实际开发中,因为开发者水平不一没有安全意识,而且业务发展迅速内部测试没有及时到位,所以常常会出现类似的漏洞。
二、漏洞存在点
1. 安装逻辑
- 查看能否绕过判定重新安装
- 查看能否利用安装文件获取信息
- 看能否利用更新功能获取信息
2. 交易
1. 购买
- 修改支付的价格
- 修改支付的状态
- 修改购买数量为负数
- 修改金额为负数
- 重放成功的请求
- 并发数据库锁处理不当
2. 业务风控
- 刷优惠券
- 套现
3. 账户
1. 注册
- 覆盖注册
- 尝试重复用户名
- 注册遍历猜解已有账号
2. 密码
- 密码未使用哈希算法保存
- 没有验证用户设置密码的强度
3. 邮箱用户名
- 前后空格
- 大小写变换
4. Cookie
- 包含敏感信息
- 未验证合法性可伪造
5. 手机号用户名
- 前后空格
- +86
6. 登录
- 撞库
- 设置异地登录检查等机制
- 账号劫持
- 恶意尝试帐号密码锁死账户
- 需要设置锁定机制与解锁机制
- 不安全的传输信道
- 登录凭证存储在不安全的位置
7. 找回密码
- 重置任意用户密码
- 密码重置后新密码在返回包中
- Token验证逻辑在前端
- X-Forwarded-Host处理不正确
- 找回密码功能泄露用户敏感信息
8. 修改密码
- 越权修改密码
- 修改密码没有旧密码验证
9. 申诉
- 身份伪造
- 逻辑绕过
10. 更新
- ORM更新操作不当可更新任意字段
- 权限限制不当可以越权修改
11. 信息查询
- 权限限制不当可以越权查询
- 用户信息ID可以猜测导致遍历
4. 2FA
- 重置密码后自动登录没有2FA
- OAuth登录没有启用2FA
- 2FA可爆破
- 2FA有条件竞争
- 修改返回值绕过
- 激活链接没有启用2FA
- 可通过CSRF禁用2FA
5. 验证码
- 验证码可重用
- 验证码可预测
- 验证码强度不够
- 验证码无时间限制或者失效时间长
- 验证码无猜测次数限制
- 验证码传递特殊的参数或不传递参数绕过
- 验证码可从返回包中直接获取
- 验证码不刷新或无效
- 验证码数量有限
- 验证码在数据包中返回
- 修改Cookie绕过
- 修改返回包绕过
- 验证码在客户端生成或校验
- 验证码可OCR或使用机器学习识别
- 验证码用于手机短信/邮箱轰炸
6. Session
- Session机制
- Session猜测 / 爆破
- Session伪造
- Session泄漏
- Session Fixation
7. 越权
- 未授权访问
- 静态文件通过特定url来防止被访问
- 水平越权
- 攻击者可以访问与他拥有相同权限的用户的资源权限类型不变,ID改变
- 垂直越权
- 低级别攻击者可以访问高级别用户的资源
- 权限ID不变,类型改变
- 交叉越权
- 权限ID改变,类型改变
8. 随机数安全
- 使用不安全的随机数发生器
- 使用时间等易猜解的因素作为随机数种子
9. 其他
- 用户/订单/优惠券等ID生成有规律,可枚举
- 接口无权限、次数限制
- 加密算法实现误用
- 执行顺序
- 敏感信息泄露
三、参考博客
- 逻辑漏洞/业务漏洞
- 水平权限漏洞以及解决办法
ocs.io/zh/latest/vuln/logic.html) - 水平权限漏洞以及解决办法
- 细说验证码安全
边栏推荐
- Does DMS have an interface to get the list of databases under each instance?
- 查看每个数据库分配给了哪些用户权限,这个有接口吗
- 湖北移动中兴B860AV2.1_S905L_线刷固件包
- Win10 无线网卡驱动感叹号,显示错误代码56
- 如何提高员工积极性?
- 开源一夏 | 请你谈谈网站是如何进行访问的?【web领域面试题】
- Jenkins 如何玩转接口自动化测试?
- Check which user permissions are assigned to each database, is there an interface for this?
- No server is required, teach you to get real-time health code recognition with only 30 lines of code
- Analysis of Http-Sumggling Cache Vulnerability
猜你喜欢
8月5日,麒麟信安邀您相约鲲鹏开发者创享日·长沙站!
浙江数码代工M301H 免拆通刷_卡刷固件包(语音OK)
JVM Tuning-GC Fundamentals and Tuning Key Analysis
会话劫持安全攻击
寻找消失的类名
leetcode:743. 网络延迟时间【单源最短路 + dijkstra模板】
Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package
Minecraft 我的世界 .minecraft下的各个文件夹的用处
开源一夏 | 请你谈谈网站是如何进行访问的?【web领域面试题】
\/ PN的综合实验
随机推荐
在VMD上可视化hdf5格式的分子轨迹文件
博云入选Gartner中国云原生领域代表性厂商
JVM调优-GC基本原理和调优关键分析
九联_UNT400G_S905L2_(联通)_线刷固件包
湖北移动中兴B860AV2.1_S905L_线刷固件包
NFT盲盒挖矿系统dapp开发NFT链游搭建
如何提高员工积极性?
不需要服务器,教你仅用30行代码搞定实时健康码识别
开源一夏 | 请你谈谈网站是如何进行访问的?【web领域面试题】
Tomato assistant downloading tomatoes
把boot和APP一起烧录进MCU
redis
【TA-霜狼_may-《百人计划》】美术2.7 Metallic 与 Speculer流程
DMS 有接口获取每个实例下的数据库列表吗
codeforces:808D. Array Division【二分 + 找规律】
移动魔百盒CM211-1_YS代工_S905L3B_RTL8822C_线刷固件包
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
flink cdc怎么指定位点,从某个位点开始消费mysql的Binlog?
查看每个数据库分配给了哪些用户权限,这个有接口吗
饿了么智能头盔专利获授权 进一步提升骑手安全保障