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