• js逆向的题目,12-15



    ###

    第14题

    发现在请求参数里面加了一个uc,

    var list = {
    "page": String(num),
    "uc": window.a,
    };

    这个

    window.a是加密在了jsfuck里面了,

    我们破解了之后是这样的,

    (function anonymous(
    ) {
    window.s = window.a(window.t + '|' + window.num);window.a = window.s;
    })

    直接上python代码:

    import requests
    import urllib3
    import execjs
    
    urllib3.disable_warnings()
    
    js_text = """
    
    
    function SDK_14(n){
    window = this;
    num = n
    // import CryptoJS from "crypto-js";
    var CryptoJS = require("crypto-js");
    
    window.num = num;
    window.k = 'wdf2ff*TG@*(F4)*YH)g430HWR(*)' + 'wse';
    window.t = Date.parse(new Date())/1000;
    window.m = CryptoJS.enc.Utf8.parse(window.k);
    window.a = function(word){
            var srcs = CryptoJS.enc.Utf8.parse(word);
            var encrypted = CryptoJS.AES.encrypt(srcs, window.m, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            });
            return encrypted.toString();
            };
    
    window.s = window.a(window.t + '|' + window.num);
    
    window.a = window.s;
    //
    //     (function anonymous(
    // ) {
    // window.s = window.a(window.t + '|' + window.num);window.a = window.s;
    // })
    
    // console.log(window.a)
    
    return window.a  
    }
    
    """
    
    url = "https://www.python-spider.com/api/challenge14"
    
    
    
    
    cookies = "vaptchaNetway=cn; Hm_lvt_337e99a01a907a08d00bed4a1a52e35d=1628248083,1629106799;" 
              " sessionid=a7ckvdtsz5p6i1udfggnkn5tk6je3dgr; _i=MTYyOTI2NDQ3M35ZV2xrYVc1blgzZHBiakUyTWpreU5qUTBOek16TXpR" 
              "PXw1MmRkNzJhMDk4NDNkNGRmNz$wNDM1Zj$xYjhiOTBlYQ; " 
              "_v=TVRZeU9USTJORFEzTTM1WlYyeHJZVmMxYmxnelpIQmlha1V5VFdwcmVVNX" 
              "FVVEJPZWsxNlRYcFJQWHcxTW1Sa056SmhNRGs0TkROa05HUm1OeiR3TkRNMVpqJHhZamhpT1R$bFlR; " 
              "sign=1629264618748~ca1c4ad08c0e246bfc23632a09b1ef64; Hm_lpvt_337e99a01a907a08d00bed4a1a52e35d=1629264744"
    
    cookies_dict = {cookie.split("=")[0].strip(): cookie.split("=")[1].strip() for cookie in cookies.split(";")}
    
    
    all_sum = []
    import time
    
    for i in range(1, 101):
        # time.sleep(1)
        print("page = ",i)
        js = execjs.compile(js_text)
        uc = js.call("SDK_14", i)
        # print(uc)
    
        data = {
            "page": i,
            "uc": uc
        }
        res = requests.post(url, verify=False, data=data,cookies=cookies_dict)
    
        print(res.text)
    
        page_sum = sum([int(item_dict["value"]) for item_dict in res.json()["data"]])
    
        all_sum.append(page_sum)
    
    print("all_sum =",sum(all_sum))
  • 相关阅读:
    java使用io流读取windows文件乱码问题
    java的io字符流关闭和刷新.flush();
    java使用io流实现图片复制
    java8新特性-函数式接口详细讲解及案例
    java8的lambda过滤list遍历集合,排序
    java复制对象,复制对象属性,只可复制两个对象想同的属性名。也可自定义只复制需要的属性。
    详讲KMP算法
    java栈和队列
    请求中文乱码解决
    idea创建servlet步骤
  • 原文地址:https://www.cnblogs.com/andy0816/p/15332551.html
Copyright © 2020-2023  润新知