Loading

逻辑漏洞

0x01 楼兰案例总结

1.任意密码重置——效验码

  • 漏洞: 效验码不过期机制 可重复使用

  • POC: 在修改密码界面点击修改密码 --抓包
    发现一个参数 passcode (姑且理解为效验码)
    删除这个参数后 修改用户ID 修改成功

  • 测试结果: passcode默认为空
    提交了找回密码的申请 passcode数值存在
    未提交找回密码 passcode数值不存在

拓展: 任意用户--注册

未注册手机号 and 未点击发送验证码 -->验证码参数默认为空
验证码参数 修改为空 --> 注册成功

see also:http://www.teagle.top/index.php/archives/64/

2.任意密码重置——重新绑定

  • 知识点:逻辑漏洞+csrf+社工

  • 目的:重置密码的新姿势-->修改账户绑定的邮箱为自己的邮箱

  • 漏洞:注册邮箱时链接额并没有用户信息,
    只是单纯的将我的邮箱绑定,
    点击这链接的用户便会绑定为我的邮箱
    如果用户非登陆状态,那么会提示用户登陆,然后再绑定

  • POC: 向用户发送一个邮件:包含绑定邮箱的url
    通过访问用户首页来获得用户昵称,利用userid来遍历
    遍历出用户邮箱,手机号然后以站点的名义发送csrf链接
    凭借已掌握的用户信息。向客服小姐姐社工出绑定咱们邮箱的用户名

案例:http://www.teagle.top/index.php/archives/51/

3.任意密码重置——设置新密码处替换用户id

  • 目的:修改密码
  • 漏洞:在最后设置新密码处,尽管检验了用户名、
    手机号、验证码等诸多参数此时便可以其他信息
    都是自己用户正确的,但是id却是受害者的id
  • POC: ID没有做效验

see also:http://www.teagle.top/index.php/archives/40/

4.任意密码重置——session覆盖

sesion机制

  • 同一台终端不同浏览器表示不同会话

  • 而相同浏览器是同一个会话

  • 目的:找回密码时可修改要找回手机号

  • 漏洞:同一浏览器下的sessionid可以重复提交使用

  • POC: 在找回密码界面,先使用自己的用户并点击下一步->重置密码界面 (session)为以通过校验的状态
    重新打开一个找回密码界面,输入目标手机号,不点发送验证码,随便输入验证码后,点击下一步时抓包
    在抓到的包里修改已通过效验状态的session

拓展: 两种姿势

  1. 自己的邮箱收到重置链接后;
    重新找回受害者密码,受害者身份发送重置链接之后,再点击自己的重置链接,此时修改的便是受害者账户密码 (以受害者的身份点击重置链接;服务端:该用户等待验证。然后用户验证通过)
  2. 自己的手机收到短信验证码后,成功输入;重新找回受害者密码,然后不发送短信,直接跳转到设置新密码步骤

see also:http://www.teagle.top/index.php/archives/41/

5.任意密码重置——跳过身份检验步骤

找回密码的三个步骤

  1. 验证手机号/邮箱
  2. 重置密码
  3. 修改成功
  • 漏洞:没有对找回密码的每一个步骤全部进行验证(典型的信任域问题)
  • POC: 从步骤1直接跳转到步骤3 跳过步骤2
  • 总结:先使用自己的账号走一遍,获取每个步骤的页面链接,记录页面三对应输入新密码的链接;
    重置受害者时,获取验证码后,直接跳转到页面三

see also : http://www.teagle.top/index.php/archives/34/

6.任意密码重置——用户名未绑定邮箱号/手机号

  • 漏洞: 在请求包里会有明确的用户名、手机号/邮箱字段
  • POC : 注册两个账号 :账号A | 账号B
    账号A申诉找回密码,执行到最后一步提交时,抓包修改 用户A的id ——> 用户B的id;
    用户B收到了用户A找回的新密码

see also :http://www.teagle.top/index.php/archives/23/

拓展

  1. 四个参数:用户名、手机号、随机值(随机返回)、验证码(手机验证码)
  2. 输入用户名获取验证码,修改接受验证码的手机号为自己的号码,自己手机成功接收验证码,提交到网站进行验证
  3. 手机号找回时,返回一个随机的值,该随机值顶替手机号的角色,后续只检验该随机值(手机号)与验证码是否匹配
  4. 用户名未绑定邮箱账号
  5. 手机号加密,修改为未加密的依然可以

7.任意密码重置——客户端验证绕过

  • 漏洞:服务端返回到客户端的response请求 可抓包修改

  • POC: 客户端 提交验证请求到 服务端
    服务端 返回验结果 客户端
    该验证结果 可以通过抓取返回包进行修改,
    从而欺骗客户端我们已经通过服务端验。

  • 防御:使用token令牌验证机制

see also :http://www.teagle.top/index.php/archives/29/

8.任意密码重置——验证码

  1. 验证码可爆破 4位数验证码爆破
  2. 验证码回显 抓不到包时,注意response包:cookie/json
  • 验证链接随机,链接关键参数回显
  • 返回加密后的验证码
  • 重置链接回显
  • 直接在请求包内

see also :http://www.teagle.top/index.php/archives/18/


0x02 wooyun总结

越权:

  1. 利用订单支付超时,修改未被加密的 orderId=1和order_userId=1参数 递增+1 ->遍历敏感信息
    http://www.anquan.us/static/bugs/wooyun-2016-0213011.html
  2. 收件人保存 抓包修改address_id参数 ->遍历敏感信息
    http://www.anquan.us/static/bugs/wooyun-2016-0198593.html
  3. 首页登陆时 选择第三方登陆方式 直接返回 自动跳转到已登录状态 -> 账户体系控制不严
    http://www.anquan.us/static/bugs/wooyun-2016-0171274.html

任意密码重置:

  1. 获取验证码重置密码,点击下一步抓包—>发现验证码存在于包内;通过QQ群搜索目标用户名信息->任意密码重置
    http://www.anquan.us/static/bugs/wooyun-2016-0205365.html
  2. 重置密码界面点击获取验证邮件,抓包发现明文email修改为admin后,邮箱里收到admin重置密码链接 ->user越权admin用户
    http://www.anquan.us/static/bugs/wooyun-2016-0177569.html
  3. 重置密码获手机号验证码,抓包可随便修改手机号,直接重置密码 -> 手机号验证设计过于不严谨
    http://www.anquan.us/static/bugs/wooyun-2016-0173018.html
  4. 首先想办法获取用户名,在邮箱重置密码里抓包使用常用姓名字典爆破,找到一个已注册用户且未绑定邮箱的账户;
    再想办法登陆,这里使用获取验证码方式找回密码,抓包可以直接看到明文的验证码,修改密码后直接登陆。 ->验证码机制不严谨
    http://www.anquan.us/static/bugs/wooyun-2015-0166223.html
  5. 找回密码,客户端直接返回验证码 ->写程序的可以下班了😂
    http://www.anquan.us/static/bugs/wooyun-2015-0153103.html

任意用户(注册/登陆):

  1. 注册新用户收到注册验证码后,抓包修改手机号并带着刚才收到的验证码一起发送出去,任意手机号注册成功 找回密码同理
    ->这里可以当作api接口 实现短信轰炸
    http://www.anquan.us/static/bugs/wooyun-2016-0168411.html
  2. 遍历userID=xx 从0到999进行简单fuzz,发现共46个段存在用户。 ->遍历敏感信息
    账号登陆时,抓取响应包,发现里面没有设置cookie和token;
    对比正确响应包和错误响应包发现关键在于获取cell、userName和userId;
    使用正确的用户名错误的密码登陆,抓包修改正确响应包的格式,分别替换掉这三项,放行即登陆成功。 ->水平越权
    http://www.anquan.us/static/bugs/wooyun-2015-0153441.html
  3. 老样子 遍历orderId 这次只有email信息;
    新姿势:修改email为你得email 当目标收到邮件时会直接发送到你的邮箱里(get更多敏感信息)
    http://www.anquan.us/static/bugs/wooyun-2015-0152057.html

未授权访问:

  1. 微信公众号查询员工界面 验证码可重复使用,抓包爆破用户名工号信息 ->遍历敏感信息response返回包信息
    http://www.anquan.us/static/bugs/wooyun-2016-0192902.html
  2. 废弃的应用平台未关闭 直接访问管理员后台 ->遍历敏感信息
    http://www.anquan.us/static/bugs/wooyun-2016-0177268.html

支付:

  1. 支付时抓包受限,把https改成http,修改订单金额参数为1下单后不付款,再次抓包修改为实际金额,下单成功
    http://www.anquan.us/static/bugs/wooyun-2016-0194751.html
  2. 提交订单号 订单和金额分开,可直接修改金额数值
    http://www.anquan.us/static/bugs/wooyun-2015-0148098.html

没看懂系列:

http://www.anquan.us/static/bugs/wooyun-2015-0148674.html 😔

posted @ 2019-05-03 20:30  Unixcs  阅读(425)  评论(0编辑  收藏  举报