干货|业务逻辑漏洞挖掘笔记

  • A+
所属分类:安全文章

一. 信息搜集

1. 子域名信息搜集
2. 网站后台管理页面
3. 未授权访问
4. indexinfo目录信息泄露
5. 报错
6. 前段敏感信息搜集(userpasswdipidphonemailurl...)
7. 网站业务流程与基本功能

二. 挖掘技巧

1. 信息搜集时注意接口的爆破与爬虫,注意不断试错关注其报错信息
2. 注意所搜集信息之间的规律(进行关键参数查找、敏感信息猜解、字典制作)
3. 随时注意响应包内容,对其请求包对应的变量进行修改
4. 随时注意响应包内容,对响应包中的验证信息进行修改
5. 可以使用变量覆盖、并发等方式达到对请求包中关键变量修改的目的
6. 注意业务流程前后反复,缓存利用与流程跳跃的漏洞
7. -134526546-1\00.14134544352346141546546346576534试探
8. 炸弹攻击时可以同时对X-Forwarded-ForUser-Agent等请求方身份验证信息进遍历
9. 一些验证信息可以先使用正确认证信息进行认证,然后越权操作
10. 注意请求包中onoff或者其他设置相关参数
11. 所有已挖掘的逻辑漏洞请求包注意保留,很多时候开发整改时并不会去除这些接口

三. 逻辑漏洞解析

1.不安全的信息返回

不安全提示

1. 用户名遍历
提示注册用户名已存在(如果提示了那我们是不是就知道了该证号为有效证号;如果没提示我们就试探道他提示已存在为止)
2. 弱口令
注册是没有密码复杂度要求或者密码复杂度要求过低,就会产生弱口令的存在
3. 多余的提示信息
提示密码格式,那岂不是为我们暴力破解缩小了字典范围?...

不安全报错

1. 用户敏感信息泄露
对已注册用户进行注册时,响应包中出现该用户的敏感信息
对已注册用户进行错误密码登录时,返回该用户的敏感信息
2. 应用敏感信息泄露

不安全的响应信息

1. 验证码或者token返回至响应包或者前端
2. 前端验证机制

2.有效身份认证缺陷

没有密码验证机制

可以修改cookie或者用户身份信息对其他用户密码进行修改

1. 修改密码或安全手机号时,密码验证机制缺失
2. 一些重要的操作,例如付款、查看账户余额时密码验证机制缺陷

没有验证码或者token验证机制

1. 用户名密码暴力破解
2. 炸弹攻击

密码缺陷

1. 弱口令
注意注册或者登录流程中的提示
注册时使用弱口令注册
2. 万能密码登录
admin'and 1=1#
3. 空密码

验证码缺陷

1. 验证码前端绕过(跳过前段验证或者修改响应包bool)
2. 验证码返回到响应包(头或者前段代码)
3.验证码长时间不过期(分段爆破)
4.一个验证码,多个账号可使用(逻辑漏洞)
5.验证码没有做非空判断
6.验证码设计太过简单,token值可被猜解
7.验证码可被识别
8.token值或验证码返回在前段

短信或者邮箱验证码缺陷

1. 验证码暴力破解
2. 验证码返回在响应包
3. 修改接受验证码账号,验证码截取
4. 验证码覆盖
5. 验证码重用

cookie缺陷

1. 固定会话
2. 会话失效
管理员登录,更换普通用户cookie
普通用户登录更换其他用户cookie
3. 添加cookie
4. 删除cookie

验证流程可被绕过

1.修改请求包相关参数
2.前段验证,修改响应包参数
3.管理员用户对用户登录机制的不安全设置与管理

Oauth认证缺陷

将接受的Oauth连接发送给已登录用户,诱导其点击

3.锁定机制缺陷

没有锁定机制

1. 没有ip地址锁定机制
2. 没有user-agent 锁定机制
2. 没有用户名锁定机制

锁定机制绕过

1. 随机x-forward-for头绕过
2. 随机user-agent头绕过
3. 随机用户名绕过
4. 修改请求包相关参数的值

4.暴力破解

绕过验证码与锁定机制
以弱口令为定量,对用户名进行爆破
以已知用户名,对用户密码进行爆破

5.炸弹攻击

炸弹攻击的前提是验证码缺陷,与锁定缺陷的存在

恶意注册

1. 无限次注册,对ID资源与服务端资源造成浪费
2. 对已注册用户进行二次注册,造成越权或挤兑与混乱

短信炸弹

1. 遍历手机号,对企业进行短信炸弹攻击
2. 重放,对单个手机号进行炸弹攻击

邮箱炸弹

1. 遍历邮箱,对企业进行短信炸弹攻击
2. 重放,对单个邮箱进行炸弹攻击

购物车炸弹

1.无限加入购物车,占取厂家资源
2.无限预约,浪费厂家资源
3.无限获取优惠券

购物炸弹

1. 无限购物,黄牛行为
2. 无限购物,无限退款,浪费社会资源
3. 无限购物,无限差评,恶意竞争
4. 无限购物,无限领取优惠券

评论与提问炸弹

1. 无限发言,浪费商家资源
2. 无限恶意差评
3. 垃圾信息攻击

6.权限访问控制缺陷

未授权访问

1.目录扫描
2.普通用户登录,对管理员页面进行未授权访问

登出失效

1. 用户登出后,进行回退或者url直接访问等操作,直接进入已登录页面
2. 关闭浏览器,访问历史记录,直接进入已登录页面

普通用户直接登录管理员系统

普通用户直接拥有不合理权限

7.参数控制缺陷

请求参数修改

1. 普通用户登录更换后台系统登录参数

响应参数修改

1. 前端验证绕过

bool参数值修改

ID参数值遍历

身份认证信息参数修改

1. user
2. admin,root,system
3. guster,test

num型参数值修改

-134526546-1\00.14134544352346141546546346576534试探

权限认证参数修改

管理员与普通用户请求包之间的对比

参数删除

参数添加

8.业务流程缺陷

并发测试

缓存利用

流程跳跃

四. 逻辑漏洞挖掘过程

1.身份认证类:

注册页面

1. 不安全的提示
2. 不安全的报错
3. 恶意注册
4. 账号,电话或者邮箱炸弹
5. 弱口令

登录页面

1. 万能密码登录
2. xss/xxe...
输入的用户名密码等信息输出到前段时,可以进行xss测试
抓取请求包,查看是否支持.xml文件,可以进行xxe测试
...注入测试
3. 不安全的登录提示
4. 暴力破解
5. Oauth认证缺陷
6. 电话或者邮箱炸弹攻击
7. 普通用户登录后台管理系统
8. 未授权访问
9. 普通用户登录,对管理源页面进行未授权访问

忘记密码页面

1. 用户名遍历
2. 不安全的报错
3. 不安全信息返回
4. 验证码缺陷利用
5. 短信或者邮箱验证码缺陷利用
6. 短信或者邮箱验证码爆破
7. 弱锁定机制利用
8. 电话或者邮箱炸弹

登录过程

1. 失效的会话
2. 固定会话
3. 更改权限或者身份控制等参数

增删改查

1. 修改或替换cookie
2. 添加cookie
3. 去除cookie
4. 遍历关键参数
5. 权限控制参数修改为高权限用户值
6. 管理员不安全的用户操作
7. 普通用户过高的权限

修改密码

1. 没有有效的身份认证
2. 身份认证流程绕过
3. 弱口令

登出

1. 登出失效
2. 无法登出

2.业务逻辑类:

查看商品信息

1.修改商品属性
2.修改商品价格

加入购物车

1. 无限加入购物车
2. 购物数量修改
3. 修改商品属性
4. 修改商品价格
5. 修改用户信息(越权)

支付

1. 支付金额修改
2. 修改商品数量
3. 跳过支付交易流程
4. 修改用户信息(越权)
5. 商品信息修改
6. 并发测试
7. 缓存利用 
8. 购物炸弹

领取优惠券

1. 并发测试
2. 结合支付漏洞测试
3. 修改优惠券金额
4. 修改优惠券数量
5. 修改优惠券属性(时间,条件等)
6. 修改领取人

评论客服邮件电话

1. 炸弹攻击
2. xss 盲打
3. 越权操作

作者:子墨.咖啡,原创投稿

本文始发于微信公众号(乌雲安全):干货|业务逻辑漏洞挖掘笔记

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: