声明
本文中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
本文未经许可禁止转载,禁止任何形式的修改后进行二次传播,若有侵权,请联系作者删除!
网址:aHR0cHM6Ly9jdGJwc3AuY29tLyMv
首先打开开发者工具进行抓包,由于这个网站的数据进行加密处理,那么我们就来看看网站加密后的数据
这里可以看到,我们所需要的数据被加密了,那么我们应该怎么进行解密呢?打开搜索栏,我们搜索关键词“decrypt”,对于这个关键词,绝大数的数据加密的网站可以适用,但不是绝对。
搜索关键词后,发现有很多js文件都有这个关键词,但是仔细观察发现,第一个包中,有个明显的字样DES,那么我们点开这个包进行观察
当我们点击加密位置后,发现它会跳转到另外一个文件中,那么仔细观察,这两个加密方法是一样的,因此也不需要太过于纠结,我们把方法扣下来
//导入cryptjs包
const CryptoJS = require('crypto-js')
function decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("1qaz@wsx3e");
// ctpstp@custominfo!@#qweASD
// direct decrypt ciphertext
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext),
},
keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
}
);
return decrypted.toString(CryptoJS.enc.Utf8);
}
到这里,我们就水灵灵地把代码扣下来了,那么我们试着运行一下代码
这是解密后的数据,这个网站的解密逻辑是比较简单的
import requests
import execjs
with open('DecryptCodeBiao.js', encoding='utf-8') as file:
js_code = file.read()
ctx = execjs.compile(js_code)
cookies = {
'Hm_lvt_b966fe201514832da03dcf6cbf25b8a2': '1725321048,1726486337,1726554197',
'HMACCOUNT': 'E3DA92CCA15F8725',
'acw_tc': '1a0c639f17265596222926543e003bce7df395d3e8c03aafd3a80d66459a6f',
'Hm_lpvt_b966fe201514832da03dcf6cbf25b8a2': '1726559622',
'_c_WBKFRo': 'cacQKaiDGZEwIFafayOk6U3vu9vac9R4c3Gk8H3V',
'_nb_ioWEgULi': '',
'acw_sc__v3': '66e9358bc96431ddee15cbe191a945925b936db0',
'ssxmod_itna': 'eq0OGKBKDKiK0I94BaqBRR9IweeWu5itNDuniWbQ10x0y0yeGzDAxn40iDt=1siG+mKsFeRa2bC/WShd4NtDMq3mNYB8rFFTDCPGnDB9EoLDentD5xGoDPxDeDAjqGaDb4Dr9=qGpycukXybqGRD0YDzqDgD7Q45eDfDDLyKBh+mkxD0khtH7DqPreDbg=l/br4OeDS3xXxKB=DjqGgDBLNj1hyDDUku1xV0ua75cpnierDtqD9znU07n4gDWNuK64E8APhFgq73EDrt7hI8EE+lBDr3h+bbBGxFieWG+woA7DlxD3pRHD==',
'ssxmod_itna2': 'eq0OGKBKDKiK0I94BaqBRR9IweeWu5itNDuniWbQ1DnFkboDsqdNsDLWUjG5dqApK5017GUxx5CnAUP6DQ94ODFqG7deD===',
}
headers = {
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'Connection': 'keep-alive',
# 'Cookie': 'Hm_lvt_b966fe201514832da03dcf6cbf25b8a2=1725321048,1726486337,1726554197; HMACCOUNT=E3DA92CCA15F8725; acw_tc=1a0c639f17265596222926543e003bce7df395d3e8c03aafd3a80d66459a6f; Hm_lpvt_b966fe201514832da03dcf6cbf25b8a2=1726559622; _c_WBKFRo=cacQKaiDGZEwIFafayOk6U3vu9vac9R4c3Gk8H3V; _nb_ioWEgULi=; acw_sc__v3=66e9358bc96431ddee15cbe191a945925b936db0; ssxmod_itna=eq0OGKBKDKiK0I94BaqBRR9IweeWu5itNDuniWbQ10x0y0yeGzDAxn40iDt=1siG+mKsFeRa2bC/WShd4NtDMq3mNYB8rFFTDCPGnDB9EoLDentD5xGoDPxDeDAjqGaDb4Dr9=qGpycukXybqGRD0YDzqDgD7Q45eDfDDLyKBh+mkxD0khtH7DqPreDbg=l/br4OeDS3xXxKB=DjqGgDBLNj1hyDDUku1xV0ua75cpnierDtqD9znU07n4gDWNuK64E8APhFgq73EDrt7hI8EE+lBDr3h+bbBGxFieWG+woA7DlxD3pRHD==; ssxmod_itna2=eq0OGKBKDKiK0I94BaqBRR9IweeWu5itNDuniWbQ1DnFkboDsqdNsDLWUjG5dqApK5017GUxx5CnAUP6DQ94ODFqG7deD===',
'Referer': 'https://ctbpsp.com/',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0',
'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Microsoft Edge";v="122"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
params = {
'province': '',
'industry': '',
'type__1017': 'n4+xnDBDgDcDy0DRDxlxGhbCrG=QI450Q+e+KO4D',
}
response = requests.get(
'https://ctbpsp.com/cutominfoapi/recommand/type/5/pagesize/10/currentpage/1',
params=params,
cookies=cookies,
headers=headers,
).text.replace('"','')
# print(response)
t = response +''
text = ctx.call('decryptByDES',t)
print(text)
这里是python代码,感兴趣的小伙伴可以自己尝试着分析一下这个网站,以上就是本期的内容