前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全技术分享:在真实场景中模拟动态二维码钓鱼与劫持测试

安全技术分享:在真实场景中模拟动态二维码钓鱼与劫持测试

作者头像
FB客服
发布2023-10-06 09:44:44
4250
发布2023-10-06 09:44:44
举报
文章被收录于专栏:FreeBuf

关于Evil QR

Evil QR是一个针对二维码安全的安全测试和攻击模拟工具,并且能够给广大研究人员演示一种新型的QRLJacking(即QR二维码登录劫持)攻击技术,在这种技术场景下,广大研究人员可以实现通过登录二维码钓鱼来执行远程帐户接管操作。

该PoC旨在针对教育目的开发和设计,主要用于帮助广大研究人员学习和研究二维码方面的安全问题,并以此来提升二维码机制的安全性。

PoC组成

该PoC由一个浏览器扩展和一个服务器端应用程序组成,其中的浏览器扩展用于提取登录二维码,而服务器端应用程序负责检索登录二维码并将其显示在托管的网络钓鱼页面上。

参数配置

Evil QR所使用的参数是硬编码在浏览器扩展和服务器端应用程序源代码中的,因此我们需要在构建和部署PoC工具之前修改以使用自定义值:

参数

描述

默认值

API_TOKEN

用于REST API节点(托管在服务器上)的身份验证API令牌

00000000-0000-0000-0000-000000000000

QRCODE_ID

跟钓鱼页面上显示的二维码进行绑定的二维码ID

11111111-1111-1111-1111-111111111111

BIND_ADDRESS

要监听的HTTP服务器IP地址和端口

127.0.0.1:35000

API_URL

指向服务器的外部URL,用于托管钓鱼页面

http://127.0.0.1:35000

下面给出的是对应的文件配置和要修改的参数值:

server/core/config.go:

代码语言:javascript
复制
const API_TOKEN = "00000000-0000-0000-0000-000000000000"

const BIND_ADDRESS = "127.0.0.1:35000"

server/templates/index.html:

代码语言:javascript
复制
const API_URL = "http://127.0.0.1:35000";

const QRCODE_ID = "11111111-1111-1111-1111-111111111111";

extension/background.js:

代码语言:javascript
复制
const API_TOKEN = "00000000-0000-0000-0000-000000000000";

const API_URL = "http://127.0.0.1:35000";

const QRCODE_ID = "11111111-1111-1111-1111-111111111111";

环境配置

我们可以直接点击

https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&createType=0&token=1163246055&lang=zh_CN#load-unpacked

下载Chrome浏览器扩展,并通过Load unpacked功能加载扩展应用。

扩展安装完成后,请确保已经将图标显示在了Chrome的扩展工具条中,并让图标保持可见。

服务器端

首先,我们需要确保本地设备上安装并配置好了Go v1.20环境。

接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/kgretzky/evilqr.git

然后切换到项目的/server目录中,并运行下列命令即可完成项目构建。

Windows:

代码语言:javascript
复制
build_run.bat

Linux:

代码语言:javascript
复制
chmod 700 build.sh

./build.sh

构建完成后的服务器端应用源码可以在./build/目录中找到。

PoC使用

首先,下列命令运行服务器端的构建源码:

代码语言:javascript
复制
./server/build/evilqr-server

然后在安装了Evil QR扩展的Chrome浏览器中打开任意支持的站点,

代码语言:javascript
复制
https://discord.com/login

https://web.telegram.org/k/

https://whatsapp.com

https://store.steampowered.com/login/

https://accounts.binance.com/en/login

https://www.tiktok.com/login

确保登录登录二维码可见之后,之后点击Evil QR扩展,如果二维码被识别,图标将会变色。

最后一步,打开服务器端的钓鱼页面URL即可:

代码语言:javascript
复制
http://127.0.0.1:35000
代码语言:javascript
复制

技术演示

视频地址

https://www.youtube.com/watch?v=8pfodWzqMcU

许可证协议

该PoC的源代码开发与发布遵循MIT开源许可证协议。

PoC项目地址

Evil QR

https://github.com/kgretzky/evilqr

https://www.youtube.com/watch?v=8pfodWzqMcU

https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked

https://go.dev/doc/install

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-01 09:30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Evil QR
  • PoC组成
  • 参数配置
  • 环境配置
    • 服务器端
    • PoC使用
    • 技术演示
    • 许可证协议
    • PoC项目地址
    相关产品与服务
    腾讯云服务器利旧
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档