12-逻辑漏洞
逻辑漏洞,指开发人员设计程序时逻辑不严密,导致攻击者可以修改、绕过或中断整个程序,让程序按开发者预料之外的方式执行。
身份验证漏洞
验证码爆破:pkav
暴力破解漏洞:bp intruder
限制 IP 爆破:代理池
限制密码错误次数:弱密码爆破账户
多字段爆破:bp grep 或自己写脚本
Authorization 爆破:编码后的用户名与密码爆破
未授权漏洞:
session:
利用服务器的 session 不变机制,借他人之手获得认证和授权并冒充他人
漏洞原理:请求登录过程中 URL 带有 session,发送带有 session 的 URL 给相关人员诱导其登录获取身份信息
cookie:
cookie 中有明文或只是简单编码,伪造 cookie 信息
未进行登录凭证验证:直接访问后台
验证码安全
验证码复用
验证码绕过:服务端返回状态值或验证码
客户端验证码:改包,或删除相关 js 代码
登录前端验证漏洞
验证码爆破
前端验证:客户端验证是不安全的
越权
平行越权:权限类型不变,ID 改变
垂直越权:权限类型改变,ID 不变
交叉越权:都改变
总结
注册:
- 短信/邮箱轰炸
- 验证码安全
- 密码爆破
- 用户任意注册,批量注册
- 用户名枚举
- 有框就可以尝试插 XSS
登录:
- 短信轰炸,验证码安全,密码爆破,邮箱轰炸
- SQL 注入
- 撞库
- 抓包把 password 字段修改为空值发送
- 认证凭证替换,如替换返回数据包中的账号
- Cookie 仿冒
- 修改返回包的相关数据,可能会登录到其他用户
找回密码:
- 短信邮箱轰炸,短信邮箱劫持
- 重置任意用户账户密码,验证码手机用户未统一验证
- 直接跳过验证步骤
- 购买支付、充值,抓包查看可用参数
- 交易金额、数量修改、更换支付模块
- 交易信息订单编码/导致信息泄露
- 整数溢出,2147483647
- 修改充值帐户
- 支付绕过
- 抽奖活动
- 刷奖品、积分
- 并发
- 优惠券,代金券
- 并发逻辑漏洞(Burp 批量获取优惠券)
- 修改优惠券金额、数量
- 订单信息
- 订单信息遍历、泄露
- 订单信息泄露导致用户信息泄露
- 删除他人订单
会员系统:
- 修改个人信息上传文件,上传带弹窗的 html
- 如有 xlsx,docx,可能存在 XXE,上传恶意的文档盲测
- 图片上传可能存在 imagereagick 命令执行,上传恶意图片
- 视频上传如果使用 ffmpeg<3.2.4,上传恶意 avi 盲测 ssrf
- 用户横向越权访问、遍历、导致用户信息泄露
- SQL 注入、个人简历处存储 XSS,个人信息注册名称也可以插入 XSS
传输过程:
- 明文传输账户密码
- 修改信息处无 session/token 导致 csrf
- POST/COOKIE 注入
评论:
- POST 注入
- 存储型 XSS
- 无 session/token 导致 csrf
验证码:
- 万能验证码
- 返回包中存在验证码
- 删除验证码或 cookie 中的值可以爆破账号密码
短信轰炸:
- 重放
- 删除修改 cookie,重放数据包
- 遍历参数发送数据包
- 手机号加空格,+86,逗号分号等重发数据包
- 请求参数修改大小写或添加参数,如&id=1
- 多测试接口,如注册,找回密码
- 如限制手机号一天次数,可以再发一次短信,DQ intercept 之后修改为成功回显
水平越权:
- 登陆后修改参数,找到多个接口不断测试
- 关注网页源代码,隐藏标签 (hidden) 隐藏的表单,修改返回包后尝试获取数据检测
- 多个账号,主要分析请求参数
数据泄露:
- 在找回密码处填写数据后抓包查看返回信息,删除修改 cookie 重放数据包
任意用户密码重置:
- 修改密码处参数修改
- 前端验证
支付逻辑漏洞:
- 金额直接传输导致篡改
- 确定支付后还可以加入购物车
- 请求重放
- 请求参数干扰
- 订单替换
- 用户替换
登录绕过:
- 部分网站身份验证在前端
水平越权:
- 遍历 ID
- 注册两个账号,替换两个账号加密后的 ID,判断是否存在权限验证
垂直越权:
- 观察 cookie 中的 session 字段,可能某些字段或参数代表身份,尝试修改 v