###

 


 

###

第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))

 

 

####