V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
AmiKara
V2EX  ›  程序员

如何绕开 [请在微信客户端打开链接]

  •  1
     
  •   AmiKara · Nov 8, 2020 · 8024 views
    This topic created in 1996 days ago, the information mentioned may be changed or developed.

    之前做的一个学校疫情自动打开系统现在失效了,发现是现在要检测 session,获取 session 的方法就是公众号向open.weixin.qq.com/connect/oauth2/authorize?...发送链接请求 code 然后重定向请求 session,但是在重定向的时候会显示 [请在微信客户端打开链接] ,我按照网上的方法修改了 ua 可是没效果,请问现在该怎么绕过这一层?

    18 replies    2020-12-08 16:59:07 +08:00
    whypool
        1
    whypool  
       Nov 8, 2020
    现在 ua 已经无效了
    抓包拿返回的 session
    AmiKara
        2
    AmiKara  
    OP
       Nov 8, 2020
    @whypool session 抓包是拿的到,但是我在服务器里无法构建微信的环境发送请求获取到 session
    crystom
        3
    crystom  
       Nov 8, 2020
    抓包拿下 cookie 存着
    icedwatermelon
        4
    icedwatermelon  
       Nov 8, 2020
    用微信开发者工具调试?
    puzzle9
        5
    puzzle9  
       Nov 8, 2020
    你要晓得 之所以要用微信打开 是为了登录 获取用户 openid
    这不是饶不饶的问题
    clf
        6
    clf  
       Nov 8, 2020
    自动打卡 Android 下可以考虑用 auto.js 来模拟点击实现。
    AmiKara
        7
    AmiKara  
    OP
       Nov 8, 2020
    @puzzle9 我也觉得是要获取用户的 openid,可是抓到的包的请求头和重定向网址里并没有获取用户信息。
    @crystom
    AmiKara
        8
    AmiKara  
    OP
       Nov 8, 2020
    @crystom 似乎并没有 cookis
    opengps
        9
    opengps  
       Nov 8, 2020 via Android
    这个地址不是拿 session,而是用 oauth 认证,需要返回一个带有 code 用来获取微信信息的功能,所以已经构造不出来了
    boris93
        10
    boris93  
       Nov 8, 2020 via Android   ❤️ 1
    这是 OAuth2 流程的一步
    这个链接会返回一个 HTTP 302,location 里面会带一个 code
    location 去到的那个链接会用这个 code 换到一个 access token,这是发生在后台服务里面的
    你没法绕过,也没法伪造
    cz5424
        11
    cz5424  
       Nov 8, 2020
    手机微信模拟点击,得到 cookies 后程序操作
    cz5424
        12
    cz5424  
       Nov 8, 2020
    总而言之放弃吧,投入成本过高
    rabbit
        13
    rabbit  
       Nov 8, 2020
    open.weixin.qq.com/ 看一下微信公众号的文档吧 这段就是为了公众号获取 openid 并进行 oauth 认证的。
    我 iOS 不登录微信 进行跳转登录别的游戏账号就用一些这个网址
    AmiKara
        14
    AmiKara  
    OP
       Nov 9, 2020
    @boris93 我理解的他在请求 code 之前又进行了一次获取用户 openid 重定向,但是我无法抓包获得其发送 openid 的请求,所以我猜测这一步发生在微信客户端的内部,目前似乎无法绕过这一步(我们学校的打卡程序没有获取 access token 这一步)


    @rabbit 大佬能细说一下怎么模拟获取 openid 的这一步吗,文档里似乎并没说怎么进行验证,不知道怎么解决这个授权界面 QAQ
    boris93
        15
    boris93  
       Nov 9, 2020 via Android
    @AmiKara #14 用 code 换 token 发生在后端,你抓不到的
    rabbit
        16
    rabbit  
       Nov 10, 2020
    @AmiKara 能获取 但是获取的你得不到一样的.....也就是没有用......
    我用这一串网址是为了获取到微信返回的信息直接注入游戏......
    实际这东西获取不到的 只有公众号才能获取 并且每一个公众号获取到的同一个用户的 openid 是不同的.....
    这东西没那么好破......
    weixingna
        17
    weixingna  
       Dec 8, 2020
    @crystom 这不会太麻烦了点嘛,cookie 失效还得人工抓包
    crystom
        18
    crystom  
       Dec 8, 2020
    @weixingna 一般系统的 cookie 都有个超时时间,只要设定程序定时访问,且周期小于过期时间,就可以一直保活吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1249 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 17:39 · PVG 01:39 · LAX 10:39 · JFK 13:39
    ♥ Do have faith in what you're doing.