找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1972

积分

0

好友

282

主题
发表于 2025-12-31 01:26:51 | 查看: 21| 回复: 0

以该网站 https://newwf.wfkids.net/#/ 为例,这是在渗透测试中经常会碰到的页面。

在项目上,有时需要对特定站点进行测试,但该站点只能通过微信内置浏览器打开,无法在常规浏览器中直接访问。

通过 Burp Suite 或 Reqable 抓包分析,发现请求数据已被加密,需要打断点进行逆向分析。为了方便调试,以下提供了几种可行的解决方案。

注意:如果仅需捕获网络流量,使用 Reqable、Proxifier 做全局代理,或使用 Yakit 开启系统代理即可。

微信限制提示
图1:微信内置浏览器典型的访问限制提示

User-Agent 修改绕过

这是一种比较常见的绕过方式,核心思路是模拟微信内置浏览器的 UA(User-Agent)。

方法一:浏览器自定义设备

  1. 打开浏览器开发者工具(F12),点击“切换设备仿真”图标(或使用 Ctrl+Shift+M 快捷键)。
  2. 在设备选择栏中,点击“编辑...”。

设备仿真界面
图2:Chrome DevTools 中的设备仿真界面

设备列表
图3:可选择的预设设备型号列表

  1. 点击“添加自定义设备”,按如下配置(以下任选一个 UA 字符串即可)。你也可以通过 Reqable 等抓包工具,直接抓取真实微信环境的 UA 头。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF WindowsWechat(0x63090a1b) XWEB/9129
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x6309071d) XWEB/8461 Flue

添加自定义设备
图4:添加自定义设备并配置微信UA

  1. 在设备尺寸下拉菜单中,选择刚才配置好的 weixin,然后刷新页面。

选择自定义设备
图5:在设备栏中选择自定义的微信设备

方法二:使用浏览器插件

安装如 “User-Agent Switcher and Manager” 这类插件更为便捷。在插件中预设或添加上述微信 UA 字符串,应用后刷新页面即可。

插件设置微信UA
图6:在插件中设置微信用户代理

应用UA后刷新
图7:应用微信UA后页面可正常访问

使用微信开发者工具

微信官方提供的开发者工具是调试微信生态网页的另一条路径。

公众号网页调试

  1. 登录微信开发者工具。
  2. 选择“公众号网页”项目类型。
  3. 将目标网址直接粘贴到地址栏中打开。

选择公众号网页
图8:微信开发者工具中的“公众号网页”调试入口

基础使用方法

对于渗透测试而言,掌握基本用法即可。微信开发者工具常用于小程序反编译,可以直接使用游客模式:创建或导入项目,然后即可进行代码审计和分析。

游客模式创建项目
图9:使用游客模式进入微信开发者工具

创建小程序项目
图10:创建新项目界面,可使用测试AppID

开发者工具界面
图11:微信开发者工具的主界面,包含编辑器、调试器和模拟器

通过远程调试连接真机

这种方法本质上是利用 Chrome DevTools Protocol (CDP) 进行远程调用和 Hook,从而实现对手机端微信内置浏览器页面的调试。

注意事项

  1. 网络环境:确保手机和电脑连接在同一个 Wi-Fi 网络下。
  2. 开发者选项:手机需已启用“开发者选项”和“USB 调试”。
  3. 无线调试:对于 Android 11 及以上版本,可启用“无线调试”功能(可选,但更方便)。
  4. 防火墙:确保电脑和手机的防火墙允许 ADB 及 Chrome 调试流量通过。

完成这些步骤后,你可以在电脑浏览器中通过 chrome://inspect/#devices 页面查看并调试手机上的网页。

无线调试步骤 (Android)

  1. USB 初始连接:用 USB 数据线连接手机和电脑,在弹出的 USB 用途中选择“传输文件”。此连接用于初次配对,完成前请勿拔出。

  2. 启用无线调试:进入手机设置 -> 开发者选项 -> 开启“无线调试”。根据提示,选择“使用配对码配对设备”。

开发者选项
图13:手机开发者选项设置

无线调试界面
图14:无线调试界面显示IP和端口

  1. 通过 USB 执行配对(仅首次需要):
    在电脑命令行中,使用 adb pair <IP地址>:<端口号> 命令,然后输入手机上显示的配对码。
    adb pair 192.168.1.100:5555
  2. 无线连接设备
    配对成功后,使用 adb connect <IP地址>:<端口号> 命令通过Wi-Fi连接设备。
    adb connect 192.168.1.100:5555

    执行 adb devices 确认设备已连接。

ADB连接成功
图15:ADB成功通过Wi-Fi连接到手机

  1. 在 Chrome 中配置
    • 打开 Chrome,访问 chrome://inspect/#devices
    • 点击“Configure...”按钮。
    • 添加你手机的调试地址,格式为 ws://<IP地址>:<端口号>(例如 ws://192.168.1.100:5555)。
    • 配置成功后,在“Remote target”列表中应能看到你的设备及打开的页面,点击“inspect”即可开始调试。

Chrome远程设备配置
图16:在Chrome中配置网络目标以发现远程设备

USB 调试步骤

  1. 如无线调试第一步所示,用USB线连接手机并选择“传输文件”。
  2. 在手机开发者选项中,开启“USB调试”。
  3. 在电脑浏览器中输入 chrome://inspect/#devices(Edge浏览器会自动跳转到 edge://inspect/#devices)。
  4. 后续调试流程与无线调试相同。

注意:如果浏览器无法识别到设备,可以尝试在配置页面中只勾选“Discover USB devices”,取消其他选项。

Chrome设备检测界面
图17:Chrome DevTools的设备检测与配置界面

遗留问题与思考

在某些复杂的渗透测试场景下,即使成功绕过了UA检测并在PC端打开了页面,一些核心功能可能仍然无法使用。

一个比较合理的解释是:页面的某些功能(如微信登录、支付)依赖于微信客户端原生层提供的 JS-SDK 接口或特定环境信息。当我们的调试环境不在真实的微信客户端内时,这些接口调用会失败或返回空值,导致页面逻辑中断,始终跳转到授权或错误页面。

例如,在微信开发者工具中,点击某些需要微信身份验证的按钮时,可能会弹出环境不支持的提示。

微信开发者工具功能限制
图18:微信开发者工具中调用某些API时出现的环境限制提示

在PC浏览器中仅修改UA和Cookie,尝试访问用户中心等页面,可能返回空白或继续重定向到授权页。

修改UA后页面空白
图19:仅修改UA后,部分页面功能仍无法正常加载

此时,更深入的调试可能需要结合浏览器插件修改更多请求头,或者必须回到远程调试真机的方案,在真实的微信环境中进行动态分析和Hook。

请求头修改插件
图20:使用ModHeader等插件修改请求头以尝试绕过更复杂的检测

对于安全研究者而言,理解不同绕过方案的原理和限制,有助于在实战中选择最合适的调试策略。如果你想了解更多关于安全/渗透/逆向的实战技巧和深度讨论,欢迎访问云栈社区的相关板块进行交流。




上一篇:VMware Workstation 17 安装 CentOS 7.9 图文指南:构建本地学习环境
下一篇:Windows Phone请愿重启:微软移动操作系统的回归可能性与生态挑战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-11 10:03 , Processed in 0.194228 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

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