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