美文网首页
某医疗保障网站,js逆向,国有加密

某医疗保障网站,js逆向,国有加密

作者: 八月欢喜 | 来源:发表于2021-11-16 14:29 被阅读0次

    前言

    • 可以关注我哟,一起学习,主页有更多练习例子
    • 如果哪个练习我没有写清楚,可以留言我会补充
    • 如果有加密的网站可以留言发给我,一起学习共享学习路程
    • 如侵权,联系我,删
    - **国家网站,练练手得了,别作死啊**
    -  这个我也是跟着别人学的
    

    网站信息:

    网址:

    aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw=
    

    端口:

    aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL2VidXMvZnV3dS9hcGkvbnRobC9hcGkvZml4ZWQvcXVlcnlGaXhlZEhvc3BpdGFs
    

    加密参数:

    Request Payload 的 encData 和 signData
    Request Headers 的 x-tif-nonce 和 x-tif-signature
    

    逆向过程

    抓包分析

    在页面中我们输入医院,点击查询会发送一个POST请求,我们可以看到加密参数有如图示所示,主要是 appCodeencDatasignData 参数,同样返回的数据也有这些参数,其加密解密方法是一样的,其中 encType 和 signType 分别为 SM4 和 SM2,这也就是咱们今天要新学的加密方式了

    image.png

    参数逆向

    参数encDatasignData咱直接走全局搜索

    image.png

    从图中可以看到我们需要的加密参数基本都在这了


    image.png

    从上往下看,先看x-tif-signature

    image.png

    参数的a=r+o+r,咱只要吧o弄出来就行,进入的i.a方法中,直接扣取即可


    image.png

    扣取的代码:

    function ia() {
        return function () {
            var t = e(6, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
                , n = e(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
                , i = e(1, "0123456789");
            return n + i + t
        }();
    
        function e(e, t) {
            e = e || 32;
            for (var n = "", i = 0; i < e; i++)
                n += t.charAt(Math.ceil(1e3 * Math.random()) % t.length);
            return n
        }
    }
    
    var r = Math.ceil((new Date).getTime() / 1e3)
        , o = ia()
        , a = r + o + r;
    
    console.log(a)
    

    接下来看t,t我们发现后面是一个sha256,咱也懒得扣了,耍一个小聪明,咱用sha256加密万看一下是否和网站加密一样,如果一样就是sha256加密了,咱都懒得看了
    原网站加密:


    image.png

    自己加密:


    image.png
    结论:
    image.png

    那咱x-tif-signature的就搞定了,继续

    signData解密

    signData是一个p函数加密的,e是参数


    image.png image.png

    烂尾了,待补充

    相关文章

      网友评论

          本文标题:某医疗保障网站,js逆向,国有加密

          本文链接:https://www.haomeiwen.com/subject/npfhtrtx.html