全站首页设为首页收藏本站

西虹市网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

社区广播台

    查看: 15|回复: 6
    打印 上一主题 下一主题

    [甜蜜生活] 懂得:二维码扫描登录网站不当!挖出劫持漏洞!

    [复制链接]
    跳转到指定楼层
    楼主
    发表于 2023-9-18 13:33:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    西虹网 西虹网  微信扫描二维码登录网站
    西虹网 西虹网

    西虹网 西虹网
    西虹网 西虹网  相信很多网站登录中都有这个功能
    西虹网 西虹网
    西虹网 西虹网  但是这个功能使用不当,将会出现劫持漏洞。文件视频二维码https://www.erweicaihong.cn/二维彩虹提供专业的二维码在线生成和美化。在线生成器可把文本、电子邮件、名片、网址、微信收款等信息一键制作自定义动态二维码图片,不仅能够随时让用户更改二维码背后的信息而无需更改二维码,而且能够让用户追踪最有价值的市场数据!
    西虹网 西虹网
    西虹网 西虹网  话不多说,直接分享三个实战挖掘的案例
    西虹网 西虹网
    西虹网 西虹网  三个的实现方式都不一样(已脱敏).
    西虹网 西虹网
    西虹网 西虹网  正常走其流程,发现登录扫一个二维码即可:
    西虹网 西虹网
    西虹网 西虹网  微信扫描后发现
    西虹网 西虹网
    西虹网 西虹网  只要关注了 A网站 的公众号
    西虹网 西虹网
    西虹网 西虹网  无需点击确认,扫描后即可登录:
    西虹网 西虹网
    西虹网 西虹网  打开浏览器f12
    西虹网 西虹网
    西虹网 西虹网  发现生成二维码的链接如下:
    西虹网 西虹网
    西虹网 西虹网  但是直接访问
    西虹网 西虹网
    西虹网 西虹网  发现报错:
    西虹网 西虹网
    西虹网 西虹网  估计是判断了Refere头
    西虹网 西虹网
    西虹网 西虹网  我们用python 的requests去请求试试:
    西虹网 西虹网
    西虹网 西虹网  发现轮询判断二维码是否扫描
    西虹网 西虹网
    西虹网 西虹网  是否登录的接口如下:
    西虹网 西虹网
    西虹网 西虹网  其中:
    西虹网 西虹网
    西虹网 西虹网  未登录 code为 1
    西虹网 西虹网
    西虹网 西虹网  登录 code 为 0
    西虹网 西虹网
    西虹网 西虹网  二维码过期 code 为 2
    西虹网 西虹网
    西虹网 西虹网  当登录成功,code返回0
    西虹网 西虹网
    西虹网 西虹网  将会set-cookie返回一个绑定登录账号的cookie:
    西虹网 西虹网
    西虹网 西虹网  可成功获取到msg。
    西虹网 西虹网
    西虹网 西虹网  制定攻击流程:
    西虹网 西虹网
    西虹网 西虹网  (1)请求https://a.com/account/login_weixin.html获取到 msg参数
    西虹网 西虹网
    西虹网 西虹网  (2)轮询请求?https://a.com/account/checkLogin.html?1586329068966&ticket=msg参数其中 ticket参数为 第一步获取到的msg参数
    西虹网 西虹网
    西虹网 西虹网  (3)将二维码投放出去,钓鱼等待受害者扫描
    西虹网 西虹网
    西虹网 西虹网  (4)受害者扫描二维码,轮询返回登录成功
    西虹网 西虹网
    西虹网 西虹网  (5)获取此时的cookie。用这个cookie去登录受害者账号
    西虹网 西虹网
    西虹网 西虹网  Exp:
    西虹网 西虹网
    西虹网 西虹网  qrcode.py
    西虹网 西虹网
    西虹网 西虹网  此python文件用来获取二维码以及轮询
    西虹网 西虹网
    西虹网 西虹网  Index.php:
    西虹网 西虹网
    西虹网 西虹网  此页面用于投放二维码
    西虹网 西虹网
    西虹网 西虹网  供受害者扫描
    西虹网 西虹网
    西虹网 西虹网  攻击流程:
    西虹网 西虹网
    西虹网 西虹网  (1)开启qrcode.py:
    西虹网 西虹网
    西虹网 西虹网  (2)投放恶意页面:
    西虹网 西虹网
    西虹网 西虹网  (3)受害者扫描二维码
    西虹网 西虹网
    西虹网 西虹网  (4)获取到session:
    西虹网 西虹网
    西虹网 西虹网  (5)登录受害者账号:
    西虹网 西虹网
    西虹网 西虹网  自行脑补下登录成功的样子吧。。
    西虹网 西虹网
    西虹网 西虹网  为了脱敏。。。
    西虹网 西虹网
    西虹网 西虹网  这篇文章仅仅讨论技术。
    西虹网 西虹网
    西虹网 西虹网  登录处:
    西虹网 西虹网
    西虹网 西虹网  二维码登录流程:
    西虹网 西虹网
    西虹网 西虹网  (1)获取二维码和 key
    西虹网 西虹网
    西虹网 西虹网  (2)轮询(很长一段时间不会过期)
    西虹网 西虹网
    西虹网 西虹网  (3)用户扫描二维码或点击登陆链接确认登录,轮询将返回openid
    西虹网 西虹网
    西虹网 西虹网  (4)登录
    西虹网 西虹网
    西虹网 西虹网  其中,获取链接和key的阶段
    西虹网 西虹网
    西虹网 西虹网  是没有做请求来源校验和csrf token的
    西虹网 西虹网
    西虹网 西虹网  意味着任何人任何地点都可以请求获取二维码和key:
    西虹网 西虹网
    西虹网 西虹网  请求链接:
    西虹网 西虹网
    西虹网 西虹网  http://b.com/xxxx/getWxQrcode?xxx=xxxx(GET参数不重要)
    西虹网 西虹网
    西虹网 西虹网  接着轮询:
    西虹网 西虹网
    西虹网 西虹网  请求链接:
    西虹网 西虹网
    西虹网 西虹网  https://b.com/xxxx/checkWxQRState?QRkey=QRkey
    西虹网 西虹网
    西虹网 西虹网  这里的请求参数中的QRkey就是在上一步获取二维码和key时
    西虹网 西虹网
    西虹网 西虹网  获取的响应参数 QRkey。
    西虹网 西虹网
    西虹网 西虹网  此时需要用微信扫描二维码
    西虹网 西虹网
    西虹网 西虹网  本人分析了一下,发现二维码链接如下:
    西虹网 西虹网
    西虹网 西虹网  http://b.com/login/scan/gQH18DwAAAAAAAAAAS5odHRwOi8vd2VpexxxxxxxxxxxxFNTF1MUEAAgTY5YVeAwRYAgAA
    西虹网 西虹网
    西虹网 西虹网  其中 /scan/后的字符串就是我们的QRkey
    西虹网 西虹网
    西虹网 西虹网  只不过这个链接必须在微信中打开。
    西虹网 西虹网
    西虹网 西虹网  微信打开后,轮询返回了一个openid
    西虹网 西虹网
    西虹网 西虹网  这个openid应该是绑定这微信的
    西虹网 西虹网
    西虹网 西虹网  同一个微信号返回的openid都是一样的:
    西虹网 西虹网
    西虹网 西虹网  (偶然发现,如果微信没有自己去改微信号,就是openid的值哦)
    西虹网 西虹网
    西虹网 西虹网  获取到openid后
    西虹网 西虹网
    西虹网 西虹网  openid和QRkey构造一下链接
    西虹网 西虹网
    西虹网 西虹网  如果微信绑定了账号的,即可登录。
    西虹网 西虹网
    西虹网 西虹网  登录链接:
    西虹网 西虹网
    西虹网 西虹网  https://b.com/xxxx/qrWxLogin?openid=oo6-IuOhwxxxxxxxx_hOI&QRkey=gQH18DwAAAAAAAAAAS5odHRwOi8vd2Vpxxxxxxxxxxxxxxxxx4SU1xxxxxxxSU1EAAgTY5YVeAwRYAgAA
    西虹网 西虹网
    西虹网 西虹网  根据此流程
    西虹网 西虹网
    西虹网 西虹网  可构造钓鱼页面
    西虹网 西虹网
    西虹网 西虹网  攻击流程:
    西虹网 西虹网
    西虹网 西虹网  (1)开启php相关环境,使受害者能够访问test.php;运行python脚本(attack.py),开始轮询。
    西虹网 西虹网
    西虹网 西虹网  (2)受害者访问恶意页面(test.php),用微信扫描二维码,然后点击b网站那里的登录确认 或者将链接直接微信发给受害者,受害者微信处点开
    西虹网 西虹网
    西虹网 西虹网  (3)此时attack.py中获取到openid,组合成登录链接。攻击者可使用登录链接登录受害者账号
    西虹网 西虹网
    西虹网 西虹网  使用php和python来写:
    西虹网 西虹网
    西虹网 西虹网  钓鱼页面:
    西虹网 西虹网
    西虹网 西虹网  python轮询:
    西虹网 西虹网
    西虹网 西虹网  当有用户扫描二维码或点击链接
    西虹网 西虹网
    西虹网 西虹网  点击确认后,获得openid,组成登录链接:
    西虹网 西虹网
    西虹网 西虹网  我们直接访问这个链接
    西虹网 西虹网
    西虹网 西虹网  即可成功登录
    西虹网 西虹网
    西虹网 西虹网  正常请求:(前提:微信绑定了C网站账号,且在微信处登录了C网站账号)
    西虹网 西虹网
    西虹网 西虹网  1、网页端访问登录页面:
    西虹网 西虹网
    西虹网 西虹网  2、网页端持续轮询,检查二维码状态
    西虹网 西虹网
    西虹网 西虹网  这里返回1,表示二维码还没有被扫描
    西虹网 西虹网
    西虹网 西虹网  3、手机微信端扫描二维码
    西虹网 西虹网
    西虹网 西虹网  发送了一个请求:
    西虹网 西虹网
    西虹网 西虹网  响应:
    西虹网 西虹网
    西虹网 西虹网  4、网页端轮询,返回值 2
    西虹网 西虹网
    西虹网 西虹网  表示二维码已被客户端扫描
    西虹网 西虹网
    西虹网 西虹网  但未确认:
    西虹网 西虹网
    西虹网 西虹网  网页端显示:
    西虹网 西虹网
    西虹网 西虹网  5、手机微信端点击 “确认登录电脑端”
    西虹网 西虹网
    西虹网 西虹网  6、轮询接口,返回了登录成功的cookie值:
    西虹网 西虹网
    西虹网 西虹网  即可成功登录网页端
    西虹网 西虹网
    西虹网 西虹网  攻击链:
    西虹网 西虹网
    西虹网 西虹网  1、访问:https://c.om/xxxx/qrcodelogin/show,获取 set-cookie:qrtoken
    西虹网 西虹网
    西虹网 西虹网  2、用获取到的qrtoken,轮询 状态接口
    西虹网 西虹网
    西虹网 西虹网  https://c.om/xxxx/xxxxxx/qrcodeLoginCheck/qrtoken值?callback=jQuery1587040960902
    西虹网 西虹网
    西虹网 西虹网  其中:
    西虹网 西虹网
    西虹网 西虹网  返回值为1,用户还没有扫描二维码
    西虹网 西虹网
    西虹网 西虹网  返回值为2,用户还没有点击确定
    西虹网 西虹网
    西虹网 西虹网  返回值带有参数 xxxxx-passport,登录成功,xxxxx-passport为登录凭证
    西虹网 西虹网
    西虹网 西虹网  3、已经在微信客户端登录过的受害者在微信客户端打开恶意网页链接
    西虹网 西虹网
    西虹网 西虹网  或者微信客户端扫描恶意网页的二维码
    西虹网 西虹网
    西虹网 西虹网  4、恶意网页先后通过两个img标签
    西虹网 西虹网
    西虹网 西虹网  依次请求登录确认网页、登录成功接口
    西虹网 西虹网
    西虹网 西虹网  5、轮询状态接口,获取 xxxxx-passport
    西虹网 西虹网
    西虹网 西虹网  劫持用户账号
    西虹网 西虹网
    西虹网 西虹网  Demo:
    西虹网 西虹网
    西虹网 西虹网  构建轮询脚本:qrcode.py:(测试发现一个二维码90秒过期,该脚本可自动重新请求)
    西虹网 西虹网
    西虹网 西虹网  构建恶意页面:qrcode.php
    西虹网 西虹网
    西虹网 西虹网  开启轮询脚本:
    西虹网 西虹网
    西虹网 西虹网  手机微信端访问恶意页面。
    西虹网 西虹网
    西虹网 西虹网  轮询处获得cookie:
    西虹网 西虹网
    西虹网 西虹网  以上就是本人在实战中挖到的劫持漏洞
    西虹网 西虹网
    西虹网 西虹网  至于修复方式的话,本人暂时没想到太多。
    西虹网 西虹网
    西虹网 西虹网  猜想:微信客户端点击确认的时候
    西虹网 西虹网
    西虹网 西虹网  加入一个csrf_token可能会好很多。
    西虹网 西虹网
    西虹网 西虹网  漏洞挖掘机技巧
    西虹网 西虹网
    西虹网 西虹网  小白是如何挖掘漏洞的
    西虹网 西虹网
    西虹网 西虹网  通过谷歌语法挖漏洞
    西虹网 西虹网
    西虹网 西虹网  进内部交流群
    西虹网 西虹网
    西虹网 西虹网  作者:xiaopan233
    西虹网 西虹网
    西虹网 西虹网  转载自:https://www.freebuf.com/vuls/234121.html
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享
    回复

    使用道具 举报

    沙发
    发表于 2023-9-18 13:57:48 | 只看该作者
    有竞争才有进步嘛
    回复 支持 反对

    使用道具 举报

    板凳
    发表于 2023-9-18 16:01:20 | 只看该作者
    才发现昌平也有网络平台,挺好 支持了。
    回复 支持 反对

    使用道具 举报

    地板
    发表于 2023-9-18 17:19:21 | 只看该作者
    我抢、我抢、我抢沙发~
    回复 支持 反对

    使用道具 举报

    5#
    发表于 2023-9-18 18:00:49 | 只看该作者
    不知该说些什么。。。。。。就是谢谢
    回复 支持 反对

    使用道具 举报

    6#
    发表于 2023-9-18 19:35:36 | 只看该作者
    没事我就来看看,哈哈!
    回复 支持 反对

    使用道具 举报

    7#
    发表于 2023-9-18 22:01:33 | 只看该作者
    过来看看的
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表