当前位置:网站首页>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) - 水平权限漏洞以及解决办法
- 细说验证码安全
边栏推荐
猜你喜欢
嵌入式系统驱动初级【6】——内核定时器
开源一夏 | 请你谈谈网站是如何进行访问的?【web领域面试题】
NFT盲盒挖矿系统dapp开发NFT链游搭建
测试开发必备技能-Jmeter二次开发
移动海信IP102H_905L3-B_线刷固件包
Mobile magic box CM201-1_CW_S905L2_MT7668_wire brush firmware package
会话劫持安全攻击
Hubei Mobile HG680-LV_S905L3B_wire brush firmware package
移动中兴ZXV10 B860AV2.1-A_S905L2_MT7668_线刷固件包
Go语言gin框架返回json格式里,怎么把某个int属性转成string返回?
随机推荐
美容院管理系统有哪些促销方式?
会话劫持安全攻击
代码重构:面向单元测试
Steady Development | Data and Insights on Mobile Game Players in Western Europe
显示和设置系统日期时间的date命令示例
Mobile zte ZXV10 B860AV2. 1 - A_S905L2_MT7668_ wire brush the firmware package
湖北移动HG680-LV_S905L3B_线刷固件包
gcc7.5.0编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
CSDN21天学习挑战赛——程序流程控制(02)
备战9月,美团50道软件测试经典面试题及答案汇总
饿了么智能头盔专利获授权 进一步提升骑手安全保障
EMQ云端与局域网实现桥接功能
《分布式云最佳实践》分论坛,8月11日深圳见
ES中同时使用should和must导致只有must生效解决方案
SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
Mobile BesTV_R3300-L_S905L_8189_wire brush firmware package
移动CM101s_MV100_EMMC_M8233_强刷后全分区线刷固件包
No server is required, teach you to get real-time health code recognition with only 30 lines of code
不需要服务器,教你仅用30行代码搞定实时健康码识别
MetaAI科学家解读最新模型:200+语言互译,扩充千倍翻译数据,全球元宇宙用户自由交流