V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whynot22
V2EX  ›  外包

有偿请教 http 验签的问题

  •  
  •   whynot22 · 78 天前 · 1827 次点击
    这是一个创建于 78 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在抓一个 app 的请求的时候,请求时有个签名 sign
    然后随着时间戳 timestamp 的变化,这个签名 sign 也会不一样
    /comp/visitor/user/apiGetVisitorDynamicNew?userID=4902114&page=1&sign_type=MD5&version=8.11&sign=78857f5669c12ad23d8cb977ef8c7ec6&timestamp=1728033620686&topicType=A

    /comp/visitor/user/apiGetVisitorDynamicNew?userID=4902114&page=1&sign_type=MD5&version=8.11&sign=d2932adeb333c218716d2551e75e1667&timestamp=1728033307454&topicType=A

    /comp/visitor/user/apiGetVisitorDynamicNew?userID=4902114&page=1&sign_type=MD5&version=8.11&sign=0aa9a55e9e56e9b4cf4c153a668cbc6f&timestamp=1728033619243&topicType=A

    我想知道这个 sign 是怎么算出来的,能不能找到规律
    提供思路给我验证成功的,我愿意付出 200 元烟钱
    感谢各位大神
    18 条回复    2024-10-06 23:17:54 +08:00
    Helsing
        1
    Helsing  
       78 天前 via iPhone
    反编译 app 找到算法代码
    z7356995
        2
    z7356995  
       78 天前 via Android
    我以前的思路是这样,把 rsa 的公钥存在前端,用 js 签名,然后,后端用私钥验证
    whynot22
        3
    whynot22  
    OP
       78 天前
    @Helsing 感谢回复,我尝试了找了安卓的下载包,用 apktool 反编译之后,把 dex 转化之后只有很少的 3 个类,没有相关信息
    whynot22
        4
    whynot22  
    OP
       78 天前
    @z7356995 感谢回复,如果是这样的话只能在 app 里找对应的公钥了,开始 apk 反编译找信息对我来说有点难
    SayHelloHi
        5
    SayHelloHi  
       78 天前
    可以在某鱼上面 找找 有人接反编译的活
    z7356995
        6
    z7356995  
       78 天前 via Android
    他这个 sign_type 是 md5 估计都没有公钥,就 md5 加密一下,或者先加点盐 再 md5 一下
    z7356995
        7
    z7356995  
       78 天前 via Android
    或者用时间戳当盐
    qq240316
        8
    qq240316  
       78 天前
    @z7356995 #7 是的 我刚开始也是这么想的,尝试了排序 md5 ,一直试不出来,不知道是用什么当盐的
    qq240316
        9
    qq240316  
       78 天前
    @SayHelloHi 感谢提供思路
    Lightbright
        10
    Lightbright  
       78 天前
    @whynot22 #3 这不是靠猜的,xd ,万一人家是加了某个固定的盐值呢,dex 找不到的话,建议看看有无 navite 的 so 代码文件
    qinxi
        11
    qinxi  
       78 天前 via iPhone
    通常是 MD5(params.map(“key=value”).sort().join(&)+”key=xxx”), 反正还是要反编译找 key 以及 key 的参数名。甚至拼接方式不一定就是上面写的
    qinxi
        12
    qinxi  
       78 天前 via iPhone
    @qinxi key 拼接前面忘加&了
    v2yllhwa
        13
    v2yllhwa  
       77 天前 via Android
    留个联系方式聊聊
    kk2syc
        14
    kk2syc  
       77 天前
    很少的三个类,加壳了都看不出? 200+个 0 估计有人接
    zbinlin
        15
    zbinlin  
       77 天前
    这种一般 app 都有一个密码/密钥来对参数 hash 出来的。
    hadesy
        16
    hadesy  
       77 天前
    APK 放上来
    whynot22
        17
    whynot22  
    OP
       77 天前
    在闲鱼上找了人花了 250 元找出盐了,感谢各位
    说 apk 是用 360 加壳了,卖家似乎很容易就从内存中 dump 出来了
    不知道用的是什么工具
    liangjx
        18
    liangjx  
       76 天前
    我们之前是 hook 网络请求的系统函数,debug 一下就可以找到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:21 · PVG 14:21 · LAX 22:21 · JFK 01:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.