绕过微信客户端授权,获取网页源码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shzm0/article/details/78370614

首先有人写出来一个比较不错的例子,我先贴出来 http://chitanda.me/2015/06/29/debug-wechat-website-in-pc/ 本来想直接链接文字的,结果发现MarkDown这种模式没找到
但是别人讲的情况都是非常基础的情况,现在的套路深似海,以及有一种及其坑爹的情况解析。
先把最简单的情况说明就是check了user-agent,那么去模拟一个就行了,常用的头为
Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI
如果不懂,可以去链接里面看下它的图文。
我的目的是去抓取别人的网站代码,然后改成自己的秒杀页面,因为前端需要处理另外一件事情,所以自食其力,怼出一套还可以的样式代码。
微信的网页授权,也就是域名授权,分2种
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
参考链接如下,为了防止上次的文章失误导致的阅读信息问题,我把微信的文档地址也贴出来,如果有更新,那么以微信最新文档为准,一般来说感觉很难更新了,因为这个一更新,做微信的程序猿就要疯狂的骂娘,烧企鹅了,我是地址
scope为snsapi_base

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect 
scope为snsapi_userinfo 
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 

现在需求一般分为3种
1.1个公众号对应1个网站
2.1个公众号对应多个网站
3.1个公众号对应1个网站或多个网站
对于绕过授权有什么区别了?就是看appid一定要准,多对比,反正大家为了做网站也是很拼的,经常你看了一个appid,结果授权是另一个,然后跳回又是原来的appid,套路很深的。需要发现自己的核心网站是什么。
比如我这个网站,它的访问网址是 http://zd.zhiketong.cn/r_board/5tabid=1365&appid=wx5d780fd8b572304b,
然后会跳转到微信的授权页面
这里写图片描述
它的后台应该是check了一些参数,然后如果参数不对或者没有然后跳转到微信的页面,当时真的愁死我了,老想看它的HTML代码了。其中的曲折就不说了,直接说正确的结论
获取登陆成功的COOKIE,然后模拟进行登陆,然后用httpclient,或者火狐,chrome浏览器进行都行。先不说几种方式的坑爹之处,先说下如何获取cookie,我使用的是fiddler进行请求筛选的,然后如果没有PC微信,那么需要连接手机,让手机的请求通过fiddler,但是大家不要费那个力气了,麻烦并且不好用,直接用PC端微信,如果实在需要那么有人已经写好了教程,地址为,我是我是地址
安装fiddler,打开直接只用,如果不抓手机仅仅抓自己电脑上的话,如下图
这里写图片描述
这就是cookie,你可以直接用fiddler的工具去打开,大多数时候都可以,但是遇到我这种就不行了,及其坑爹。可行的如下
这里写图片描述
然后我去抓的这个网站是显示为下图
这里写图片描述
家里的笔记本显示为微信,公司显示为空白页。然后我尝试用火狐的工具和Httpcllient写代码去哪html源码,可气的时候,动态渲染的界面,获得代码超级精简,根本看不出源码,然后的话,然后用google,配合EditThisCookie进行,cookie的设置,但是因为 http://zd.zhiketong.cn/r_board/5tab?id=1365&appid=wx5d780fd8b572304b 这个URL再PC上会跳转至 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx14ba882eb0f2cdb5&redirect_uri=http%3A%2F%2Fm.zhiketong.cn%2Fzhida_callback%3Fbackurl%3Dhttp%253A%252F%252Fzd.zhiketong.cn%252Fr_board%252F5tab%253Fid%253D1365%2526appid%253Dwx5d780fd8b572304b&response_type=code&scope=snsapi_base&state=base&connect_redirect=1#wechat_redirect
万般无奈的姿势是,因为EditThisCookie,如果你没进到它的域,那么无法新建一个cookie,所以先用火狐和Httpclient写代码进行调试一波,发现结果如下图,这只是坑爹的情况,理论上一般都不会出现,因为火狐并没有同时显示在页面上,所以HTML代码无法拿到
这里写图片描述
这是react代码,研究了下JS,然后切回谷歌,先访问它的JS,万幸的是JS没有进行啥CHECK,不然,我就只能拿出我以前研究漏洞的神器了,brupsuite,如果什么都check,那么大家,就要从第一次请求发出去的时候拦截住,进行cookie修改。
这里写图片描述
注意EDITTHISCOOKIE的使用是name和value分开了的,注意我进行红圈的地方。
brupsuite的基础使用,可以看下乌云的网站教程,最基础的设置代理,然后进行网页访问,然后网页会访问不下去,被Brupsuite拦住,那个时候进行cookie修改就可以了,教程百度,乌云brupsuite的基础教程,可惜乌云倒闭,不然的确学这个很方便的。
补充,今天还没审核通过,fiddler也可以做到,只是相对麻烦一点,使用
bpu 要连接的网址(注意回车),比如我就是
bpu http://zd.zhiketong.cn/r_board/5tab?id=1365&appid=wx5d780fd8b572304b,具体操作如下图,raw是弹出修改的cookie框,run是进行下一步
这里写图片描述
bpu是释放,但是我这个版本是默认只拦截一次,不知道其他版本是不是,所以一般run了之后就行了

展开阅读全文

没有更多推荐了,返回首页