关于某投标服务平台数据加密的逆向分析

声明

本文中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文未经许可禁止转载,禁止任何形式的修改后进行二次传播,若有侵权,请联系作者删除!

网址: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代码,感兴趣的小伙伴可以自己尝试着分析一下这个网站,以上就是本期的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值