如何突破限制,在PC上mac f12调试页面微信手机页面

想在pc上打开利用微信oauth做限制的微信网页,按照《绕过限制,在PC上调试微信手机页面》:的方法,基本思路是对的,但有点小问题,EditThisCookies这个工具是对应域名的,实际操作时无法更改实际要打开的域名下的cookie。
后来想到fiddler不仅可以获取cookie,还能替换cookie,于是在CustomRules.js里面写上
&//&删除所有的cookie
&oSession.oRequest.headers.Remove(&Cookie&);
&//&新建cookie
&oSession.oRequest.headers.Add(&Cookie&,&&username=&);
具体用法参考《Fiddler 高级用法:Fiddler
Script 与 HTTP 断点调试》:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:98291次
积分:1264
积分:1264
排名:千里之外
原创:19篇
转载:50篇
评论:13条
(1)(1)(1)(4)(1)(2)(3)(1)(3)(2)(1)(4)(2)(2)(3)(3)(2)(1)(1)(1)(1)(3)(1)(1)(4)(7)(3)(6)(2)(3)如何突破限制,在PC上调试微信手机页面
??本文原创作者:chitanda ??场景 假设一个手机页面,开发者对其做了限制,导致只能在微信客户端中打开。而众所周知手机上非常不利于调试页面,所以需要能在电脑上打开并进行调试。这里针对常见的三种页面做一下分析,一一绕过其限制,(当然不要拿去干坏事) ??工具准备?? ????1、方便调试的浏览器。个人喜欢Chrome,本文基于Chrome 43.0. (正式版本) m (32 位)环境; 2、抓包工具,推荐fiddler4,当然你比较喜欢Wireshark的话也可以,反正只要是能抓到cookies就都可以; 3、能编辑cookies的浏览器插件。Chrome下我推荐EditThisCookie,Firefox的话试用Firebug自带的编辑功能即可????。 绕过方法 这里针对常见的三种限制方法做了分类(不过我感觉应该也没有第四类了),其绕过方法难度也是逐渐递增的。下文将从确认限制方法以及绕过限制两个角度一一分析。 未做明显限制 例子:翻滚吧小洛克这种页面最多,基本上就是相当于啥也没做。 检验方法 手机里其他浏览器也可以打开页面并正常进行页面浏览这种页面在PC上调试只需要开Chrome的模拟器即可。 绕过方法 1、Ctrl+Shift+I打开chrome的开发者中心 2、点击开发者中心工具条右上角的手机小图标,如图: 3、如果发现不能模拟触屏,则是因为设置里没开,点击开发者中心工具条右上角的箭头小图标,然后Emulation>Sensors>Emulate touch screen ,将该选项勾上即可。如图所示: 轻松过关。 检查UA来限制 例子:多泡游戏-doNotTouchWhite由于这个站点游戏需要登录,所以放个公共号测试用,勿滥用。 user:duopaotestdada pwd:duopaotest 检测方法 手机浏览器打开后会跳转到开发者自己的其余页面,或者有弹窗提示,但是不会跳到open.域名去。 看着这种就可以肯定十有八九是基于UA(UserAgent)检测了。所以破解方法很简单,模拟UA就好。chrome内置了这个功能。 绕过方法 1、开启浏览器的模拟器(方法见上) 2、在模拟器右上角的UA处将以下UA贴进去并重新进入原页面(不直接刷新是因为有些页面会根据UA做跳转) Mozilla/5.0 (L U; Android 4.1.2; zh- Chitanda/Akari) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/6.0.0.58_r NetType/WIFI 以上是安卓手机微信的UA,另附一个iOS下的UA: Mozilla/5.0 (iP CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365   MicroMessenger/5.4.1 NetType/WIFI 一般情况下这两个用处都一样,没啥区别,实际上根据大部分前端的习惯,哪怕UA里只填一个MicroMessenger字段都是可以绕过去的。 3、上面的方法虽然可以绕过限制了,但是终究不方便,每次都要手动改一次UA。实际上较新版的Chrome浏览器是可以自定义Device的。点击开发者中心右上角的齿轮图标,然后Devices>Add custom device,即可自行添加一个带微信UA的模拟器,然后之后在模拟器界面的Device里切换即可。如图: 利用微信oauth做限制 例子:拯救太平轮由于上面的游戏链接已经失效,所以换个页面,类型一致,可供各位测试用:幸运大转盘 上面两种都是比较常见而且简单就能绕过限制的,而有些对用户身份验证要求比较高的页面,则会利用微信的OAUTH来拉取openid做验证,这种就不仅仅是改UA这么容易绕过去了。好在也不是无解。因为身份验证一般都是存在cookies里的,所以我们可以直接给PC模拟器伪造cookies来让页面误以为我们是在微信内做的验证。 PS:这里是通用方法,不过目前针对微信内的页面,微信官方有提供调试支持,可以查看更新的内容。 ??检测方法 ??手机浏览器打开后会跳转到open.域名,且页面提示请在微信客户端打开链接。如图: 绕过方法 将浏览器UA改为微信的,然后刷新页面,会发现这个时候不再提示请在微信客户端打开链接了,但是整个页面一片空白。 打开fiddler,并设置手机wifi连接,确保手机数据都经过了fiddler。 fiddler的配置可以参考这篇文章,https的两个配置必须要做,不然抓不了微信的包,另外如果确定手机连上了fiddler了但是微信的数据包都没被抓到,可以先把微信app强行关闭,然后重新开一下即可 在微信里点击页面链接,使其正常进入页面,然后fiddler上注意相关域名的记录,找到Tunnel to open.后面那条记录。会发现这时候原来的链接带上了oauth参数。复制这时候的链接如图: 在浏览器中打开前面复制的链接,会发现还是白屏,然后右键页面,选择EditThisCookies,会发现这个页面下有两条cookies了。 也可以在开发者工具的Resources>cookies>里查看当前页面拥有的cookies数量。之所以前面不自己直接创建cookies就是因为cookies除了Value这个属性外,还有Domain、Path、Expires/Max-Age等等其余属性需要设置,而这些属性自己是摸不出来的,只能先依靠页面服务器创建,然后直接更改Value即可。 回到fiddler,还是刚刚选择的链接,右边窗口选择Headers,然后会看到下面有两条cookies,以及对应的数值。选中一条,然后右键Copy Value only,将值复制到前面浏览器里打开的EditThisCookies页面中去。如图: 需要的注意的是,这里复制出来的是cookies名称+cookies值的方式,而EditThisCookies里只需要填cookies值即可,所以复制进去后记得将cookies Name =这一部分删掉。如下图所示,绿框里的PHPSESSID=是不需要的,删掉即可。如图: 重复第五步,将全部cookies值都改完之后,回到之前的浏览器页面,输入最初的主页链接,成功。 在微信里的话,认证页面完成后一般是有跳转的,不过由于这里是手动更改的,所以没办法触发跳转,需要我们手动模拟一次。而前面的cookies在的缘故,页面服务器也会当我们已经认证过,所以就直接跳过了。最后成功的截图: 完成,看起来很复杂,其实也很简单。个人感觉这个过程最麻烦的地方其实在于第2步:手机连fiddler需要先断开之前的无线,手动输一次代理设置到wifi,然后再连接下。所以我觉得现在最需要一个安卓下可以存储wifi代理链接设置的工具= = 更新 更新于,针对第三种要openid验证的页面:除了原先上文提到的抓包取cookies方法外,现在其实还有更简单的办法,利用微信官方的tbs调试。最简单的办法就是安装QQ浏览器最新版,然后利用内置的微信调试工具,可以省掉很多麻烦。具体步骤省略。 不喜欢用QQ浏览器的话,可以利用官方的tbs插件加上本地inspect的办法,可以参考此文:微信、手Q、Qzone之x5内核inspect调试解决方案不过这个方法我个人并没有尝试过,因为感觉配置过程过于麻烦。 进去后有部分功能无法正常使用 有时候会发现即使页面正常进去了,也有些功能不能触发,比如上传图片之类的,但是浏览器也没有报错。这种情况下一般多是由于对方使用了微信的jssdk内置方法(wx.xx之类的)。因为微信内置的方法不是纯webview可以完成的,很多功能都需要微信客户端的配合,因此达不到预期的效果也是很正常的。可以看微信jssdk的官方demo,你会发现基本上没一个可以在PC上用。 其他的,想到再补充吧。 *原创作者:chitanda,转载须注明来自FreeBuf黑客与极客()
本站内收录的所有文章及其中资源(图片、视频等)均来自于互联网,其版权均归原作者及其网站所有。
若发现bug或建议,欢迎如何突破限制,在PC上调试微信手机页面
在浏览器中打开前面复制的链接,会发现还是白屏,然后右键页面,选择EditThisCookies,会发现这个页面下有两条cookies了。
也可以在开发者工具的Resources&cookies&里查看当前页面拥有的cookies数量。之所以前面不自己直接创建cookies就是因为cookies除了Value这个属性外,还有Domain、Path、Expires/Max-Age等等其余属性需要设置,而这些属性自己是摸不出来的,只能先依靠页面服务器创建,然后直接更改Value即可。
回到fiddler,还是刚刚选择的链接,右边窗口选择Headers,然后会看到下面有两条cookies,以及对应的数值。选中一条,然后右键Copy Value only,将值复制到前面浏览器里打开的EditThisCookies页面中去。如图:
需要的注意的是,这里复制出来的是cookies名称+cookies值的方式,而EditThisCookies里只需要填cookies值即可,所以复制进去后记得将cookies Name =这一部分删掉。如下图所示,绿框里的PHPSESSID=是不需要的,删掉即可。如图:
重复第五步,将全部cookies值都改完之后,回到之前的浏览器页面,输入最初的主页链接,成功。
在微信里的话,认证页面完成后一般是有跳转的,不过由于这里是手动更改的,所以没办法触发跳转,需要我们手动模拟一次。而前面的cookies在的缘故,页面服务器也会当我们已经认证过,所以就直接跳过了。最后成功的截图:
完成,看起来很复杂,其实也很简单。个人感觉这个过程最麻烦的地方其实在于第2步:手机连fiddler需要先断开之前的无线,手动输一次代理设置到wifi,然后再连接下。所以我觉得现在最需要一个安卓下可以存储wifi代理链接设置的工具= =
更新于,针对第三种要openid验证的页面:除了原先上文提到的抓包取cookies方法外,现在其实还有更简单的办法,利用微信官方的tbs调试。最简单的办法就是安装QQ浏览器最新版,然后利用内置的微信调试工具,可以省掉很多麻烦。具体步骤省略。
不喜欢用QQ浏览器的话,可以利用官方的tbs插件加上本地inspect的办法,可以参考此文:微信、手Q、Qzone之x5内核inspect调试解决方案不过这个方法我个人并没有尝试过,因为感觉配置过程过于麻烦。
进去后有部分功能无法正常使用
有时候会发现即使页面正常进去了,也有些功能不能触发,比如上传图片之类的,但是浏览器也没有报错。这种情况下一般多是由于对方使用了微信的jssdk内置方法(wx.xx之类的)。因为微信内置的方法不是纯webview可以完成的,很多功能都需要微信客户端的配合,因此达不到预期的效果也是很正常的。可以看微信jssdk的官方demo,你会发现基本上没一个可以在PC上用。
其他的,想到再补充吧。
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试。手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实。
因此,我们使用技术将手机网页调试信息分离,实现一种能在大屏幕、高配置PC上来调试小屏幕、低配置的手机浏览器访问的网页的开发工具&&RemoteInspector(简称RI)。
1.1主要功能
Android平台UC浏览器开发者版,主要支持以下功能:
DOM查看和修改
JavaScript调试、CSS调试
网络状态查看
资源文件查看
Console控制台
2 准备工作
2.1 手机端
进入UC官方网站开发者中心(网站地址),下载Android平台的,安装到手机中。
PC机一台,并在PC上安装Chrome或Safari(推荐使用Chrome)。支持Chrome15&Chrome21,以及Safari5.1.4以上版本。
下载到PC中。
2.3 连接手机与PC
Android平台UC浏览器开发者版,远程调试支持USB连接、Wi-Fi连接两种模式。MAC平台请参考:
Wi-Fi连接模式
Wi-Fi模式下,保证手机与PC处于同一个无线网段即可。
USB连接模式
USB连接模式需要搭建AndroidSDK开发环境或安装adb工具。
//附Windows操作系统上的adb安装参考
1)在PC上,通过网络下载安装豌豆荚(Android手机助手);
2)在手机上打开USB调试模式:
设置&应用程序&开发&USB调试
3)连接手机与PC,若PC无手机驱动,豌豆荚会自动下载驱动并安装;
4)将手机与PC连接,能被豌豆荚识别则为正常连接
5)将adb_tool.zip解压到C:\WINDOWS\system32目录下
6)开始&运行&输入cmd.exe进入Windows命令提示符窗口,输入adb,
如果无错误提示,并能够看到&AndroidDebugBridgeversion1.0.26&的提示,则表明adb安装成功
搭建好AndroidSDK开发环境或安装好adb工具后,通过adb命令进行端口映射。
在Windows命令提示符窗口(cmd.exe)运行:adbforwardtcp:9998tcp:9998
3 调试方式
在手机上启动UC浏览器开发者版,并打开需要调试的页面。在PC上打开Chrome或Safari
若是Wi-Fi连接模式,则在地址栏输入:手机IP+:9998
例,手机IP为192.168.112.244,则输入192.168.112.244:9998。此时手机端的UC浏览器开发者版会弹出对话框,如下:
选择确定,允许调试。
若是USB连接模式,则在地址栏输入:http://localhost:9998
成功访问该网址后,即可看到UC浏览器开发者版已打开索引页面:
接下来,点击任一需要调试的页面即可进行调试。调试方法与PC上Chrome或Safari开发者工具的调试方法类似。以UC产品下载站为例,点击进入调试页面:
当UC浏览器开发者版的某个页面被远端浏览器调试时,系统通知栏会显示扳手图标,提示UC浏览器-调试模式开启,表明当前手机页面处于调试状态。如图:
所有工作准备就绪,接下来可进入调试阶段。
阅读(...) 评论()

我要回帖

更多关于 是否要调试此页面 的文章

 

随机推荐