目录导航
逻辑漏洞小结 常见的逻辑漏洞
总结一下常见逻辑漏洞
常见点
个人信息
密码修改
密码忘记
支付区域
手机号
地址
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
http://cb.drops.wiki/bugs/wooyun-2015-094242.html https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=31203&ctid=48 - cookie覆盖
两个手机号
第一个手机
正常 忘记密码 到第三步

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

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


另一种示例
- 两种密码重置之综合利用
- 邮箱同上
- 各种参数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
Cookie: Hm_lpvt_ce483b7c47bdfff963bf969de6b20019=1455694949; Hm_lpvt_f124dc8d3ca8e5fe66210d2c8c4c9c73=1455694949; Hm_lvt_ce483b7c47bdfff963bf969de6b20019=1455693089; Hm_lvt_dac6eb9775cdf535d3f23bd7df437024=1455530510; Hm_lvt_f124dc8d3ca8e5fe66210d2c8c4c9c73=1455693079; ASP.NET_SessionId=ynx5tnjn35tycx4ed1njfv51; RedEnvelope=mobile=*&proid=1&sign=e657fb8e47cb54685a9dc8ba1c2ef71a; route=04c7e27d7ac260044207170d0d0c2dcc; __tctma=217272534.1455530050464768.1455530050361.1455530050361.1455692231159.2; __tctmb=217272534.2336832102596608.1455694516121.1455694520499.39; __tctmc=217272534.255680334; __tctmd=217272534.49516128; __tctmu=217272534.0.0; __tctmz=217272534.1455692231159.2.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __tctrack=0; cookieOpenSource=openid=oOCyauK2742VyO4lLB7MR9KyZ21o&token=OezXcEiiBSKSxW0eoylIeGWrGa1k0ZhUFKJ2Kjd4-zx3QnTOZ8dZFNps3K1OWCRUlPHVgWxoAKNpZkdnWqlPK4-rFsO78vhV_f3g5ssJfbvO-sxvyvNd1ejJdQzrafo37eJPpoRbmC4oEv-F13n28g; CooperateUser=CooperateUserId=oOCyauK2742VyO4lLB7MR9KyZ21o&openid=oOCyauK2742VyO4lLB7MR9KyZ21o&MemberId=KJ1N9y9uWzKeAIYNlnf7IQ%3d%3d; CooperateWxUser=CooperateUserId=oOCyauK2742VyO4lLB7MR9KyZ21o&openid=oOCyauK2742VyO4lLB7MR9KyZ21o&MemberId=KJ1N9y9uWzKeAIYNlnf7IQ%3d%3d&token=OezXcEiiBSKSxW0eoylIeGWrGa1k0ZhUFKJ2Kjd4-zx3QnTOZ8dZFNps3K1OWCRU457vrjrGm572APrLXimER80jQ-aUtGsJG2gofngMvkfOIsX5HHbL8R8vXcvyBn3l6c2rjQeO9pAbvQqg3UYPVA&MemberSysId=33; longKey=1455530050464768; selectIFlightTip=true; WxUser=openid=oOCyauK2742VyO4lLB7MR9KyZ21o&token=OezXcEiiBSKSxW0eoylIeGWrGa1k0ZhUFKJ2Kjd4-zx3QnTOZ8dZFNps3K1OWCRU457vrjrGm572APrLXimER80jQ-aUtGsJG2gofngMvkfOIsX5HHbL8R8vXcvyBn3l6c2rjQeO9pAbvQqg3UYPVA&refreshtoken=OezXcEiiBSKSxW0eoylIeGWrGa1k0ZhUFKJ2Kjd4-zx3QnTOZ8dZFNps3K1OWCRUPl81zJaYBlhJ559aXBeMJxcXQjdSymG3BlcYQapjwxGizgjMMomJlQRrag5UzFSLvQeUmKHWQMxUUkKgTLhGww&userid=KJ1N9y9uWzKeAIYNlnf7IQ==
req=%7B%22sg%22%3A%220e1d1663-803f-4f0d-962c-6efdd953bfb0%22%2C%22opass%22%3A%5B%7B%22ln%22%3A%22CE%22%2C%22fn%22%3A%22SHI%22%2C%22sex%22%3A1%2C%22nat%22%3A%22%E4%B8%AD%E5%9B%BD%22%2C%22bir%22%3A%221989-01-01%22%2C%22ctype%22%3A%221%22%2C%22no%22%3A%2215262727%22%2C%22pt%22%3A%221%22%2C%22lid%22%3A%2297789585%22%2C%22bx%22%3A%5B%7B%22bxtype%22%3A391%2C%22bxprice%22%3A80%2C%22bxcutprofit%22%3A0%2C%22reentryAmount%22%3A65%2C%22bxqz%22%3Afalse%7D%2C%7B%22bxtype%22%3A331%2C%22bxprice%22%3A20%7D%5D%7D%5D%2C%22contact%22%3A%7B%22mo%22%3A%2213111111111%22%2C%22email%22%3A%22%22%7D%2C%22mtype%22%3A0%2C%22account%22%3A%22%22%2C%22memid%22%3A139978118%2C%22Plat%22%3A10%2C%22pubplat%22%3A501%2C%22inf%22%3A0%2C%22cnn%22%3A0%2C%22adt%22%3A1%2C%22total%22%3A1462%7D&moblie=13111111111
修改bxprice,可改成任意负数金额
- 改id 给自己转账 红包 作者Onls辜釉
- 数量
- 请求重放,多次下单
- mysql多线程并发,条件竞争 (数据库操作加锁)
https://threathunter.org/topic/5942363d44a81b6215130e29 http://60.205.228.7/?p=278 - 参数污染 请求没该参数,却返回该参数,可请求该参数污染返回值
实例 https://threathunter.org/topic/593ff6bc9c58e020408a79d4
0x04 越权
- 改识别用户参数
- 改cookie
- 越权访问
- 登陆后,修改密码 未校验id与用户 修改id 即可该其他人密码
- 修改个人数据时 页面源代码有用户标识符id 抓包修改或添加id
- 直接访问后台链接禁用js则不会跳转登录界面,直接登陆
- 登陆分为账号和游客登陆,游客功能有限,app端只前端检测,模拟发包即可
乌云drops – 小川 我的越权之道
http://static.hx99.net/static/drops/tips-727.html
注册
恶意注册
短信轰炸一个实例如下:
0x05 总结
认真加耐心,谦虚学习
此文章来源于
http://www.ddosi.org/2017/09/30/bug/
2018年以前网站服务器的备份,当时决定不要了,删了所有东西,现在还原一下(有些图片挂了,永远找不回来了,sorry) from