0%

实战-深度解析逻辑漏洞原理

0x01 登陆处 0x02 密码找回 0x03 支付 0x04 越权

0x01 登陆处(不局限登陆,例如下文的短信轰炸等)

登陆时,是否可以绕过验证码形成撞库

  • 返回包中有验证码
  • 返回页面 hidden中有验证码
  • 有些其他登陆url中不需要验证码 (app 微信 测试url)
  • 验证码不变,验证码没有一个完整的服务请求,只在刷新url时才变(例如,cookie与验证码绑定,不刷新则不变)
  • 第一次请求包验证了验证码是否正确,第二次请求不需要验证
  • 拦截登录时验证码的刷新请求,第一次验证码未失效,可绕过
  • 验证码和用户名、密码是否一次同时提交
  • 万能验证码 如000000
  • 删除验证码参数或者Cookie中的一些值
  • 利用漏洞中验证码绕过的小技巧

简单验证码ocr识别

交给三方打码平台

邮箱轰炸,短信轰炸,burp Repeate,短信轰炸验证码有60秒限制时,有的参数修改后可绕过

isVerfi参数 这里是1 回包 3 手机没收到信息 存在验证码限制

图片

改为0 回显2 绕过了验证码限制

图片

枚举注册用户 输入用户名,发送请求验证用户名是否正确(若返回次数限制,可测试服务端未限制高频访问)

登陆失败有次数限制,若包中有限制参数可更改或删除参数

cookie简单可猜测

cookie一直有效,(修改密码后)

第三方账户登录绕过(拦截微博授权成功的请求地址: https://api.weibo.com/oauth2/sso_authorize?sflag=1 修改response中uid,服务端没有校验客户端提交的uid与授权成功的uid相同)

手势登陆某app,修改登陆参数ID,因为手势密码设置一般为常见密码可参见twitter上常见十种手势密码,组成字典枚举即可登陆大部分设置手势密码登陆账号(后端未正确校验)

0x02 密码找回

  • 验证码回传
  • 验证码时间长,不失效可爆破(字典可去除全1重复数多的)
  • 修改密码,修改发送手机号修改为自己可控,[http://www.freebuf.com/articles/database/161495.html]
  • 验证码未绑定 只验证验证码正确,没判断用户id 或手机号,修改想改的id 正确手机验证码即可
  • 验证码 手机 用户未统一验证
  • 邮箱验证可猜测(https://www.secpulse.com/archives/9608.html)
  • 假如找回需要4部,最后一部有user参数,用自己账号正常到第三部,第四部修改user实现

图片

  • 可以跳步找回(直接访问页面)
  • 本地验证,修改返回值
  • 本地验证,返回未设置cookie,替换成功验证返回包
  • 服务器验证为空,包中直接删除验证码
  • 个别验证码全0可绕过

token生成可控(wooyun两篇实例) http://cb.drops.wiki/bugs/wooyun-2014-058210.html

两个手机号

第一个手机

正常 忘记密码 到第三步

图片

在同一浏览器下 第二手机号 忘记密码 提交到第二部

图片

刷新 第一个手机的第三部时可 发现 用户名变为第二个手机

图片

图片

另一种示例

两种密码重置之综合利用

  • 邮箱同上
  • 各种参数fuzz

0x03 支付

  • 金额运费修改

POST /iflight/submitorder.html HTTP/1.1

Host: wx.17u.cn

Accept: application/json

X-Requested-With: XMLHttpRequest

Accept-Encoding: gzip, deflate

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded

Origin: http://wx.17u.cn

Content-Length: 780

Connetion: keep-alive

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B436 MicroMessenger/6.3.13 NetType/3G+ Language/zh_CN

Referer: http://wx.17u.cn/iflight/book2.html?showwxpaytitle=1&guid=0e1d1663-803f-4f0d-962c-6efdd953bfb0&pname=%E4%BC%98%E9%80%89%E7%BB%8F%E6%B5%8E%E8%88%B1&openId=oOCyauK2742VyO4lLB7MR9KyZ21o

req=%7B%22sg%22%3A%220e1d1663-803f-4f0d-962c-6efdd953bfb0%22%2C

%22opass%22%3A%5B%7B%22ln%22%

修改bxprice,可改成任意负数金额

  • 改id 给自己转账 红包
  • 数量
  • 请求重放,多次下单

mysql多线程并发,条件竞争 (数据库操作加锁)

实例 https://threathunter.org/topic/593ff6bc9c58e020408a79d4

0x04 越权

  • 改识别用户参数
  • 改cookie
  • 越权访问
  • 登陆后,修改密码 未校验id与用户 修改id 即可该其他人密码
  • 修改个人数据时 页面源代码有用户标识符id 抓包修改或添加id
  • 直接访问后台链接禁用js则不会跳转登录界面,直接登陆
  • 登陆分为账号和游客登陆,游客功能有限,app端只前端检测,模拟发包即可

乌云drops – 小川 我的越权之道

http://static.hx99.net/static/drops/tips-727.html

您的支持将鼓励我继续创作

欢迎关注我的其它发布渠道