想要抓取数据,进行抓包分析,找到数据包,发现请求头有加密参数Portal-Sign,返回的数据内容也进行了加密。
直接搜索加密参数,找到加密位置,发现是在拦截器中,那么凭经验,解密位置肯定也在下面的拦截器中。
打印一下参数,看有没有找对位置,发现找对了,直接进入f.getSign函数
打上断点,分析,发现是d函数,结果一致的。再打印一下参数。这个函数接收表单数据t,返回加密数据。
直接复制函数在js中,缺什么补充什么。 r["a"] 是固定值,复制下来。
发现u没有被定义
找到u函数,就在d函数上方,复制下来。
然后接下来是l,都在更上面
接着是最重要的s函数。
进入s函数
发现似乎是MD5加密,我们可以去在线加密网站验证一下。加密内容是:
B3978D054A72A7002063637CCDF6B2E5BeginTime2024-01-17 00:00:00createTime[]EndTime2024-07-17 23:59:59GGTYPE1KINDGCJSpageNo3pageSize20timeType6total3556ts1721183028929
加密后结果小写之后是:
b3cb44e0121be6814b1fa7a765ac7d93
在线加密MD5结果是,发现结果是一样的:
改写最终代码,导入加密库。
const CryptoJS = require('crypto-js')
t = {
"ts": 1721183028929,
"pageNo": 3,
"pageSize": 20,
"total": 3556,
"KIND": "GCJS",
"GGTYPE": "1",
"timeType": "6",
"BeginTime": "2024-01-17 00:00:00",
"EndTime": "2024-07-17 23:59:59",
"createTime": []
}
var r = 'B3978D054A72A7002063637CCDF6B2E5';
function l(t, e) {
return t.toString().toUpperCase() > e.toString().toUpperCase() ? 1 : t.toString().toUpperCase() == e.toString().toUpperCase() ? 0 : -1
};
function u(t) {
for (var e = Object.keys(t).sort(l), n = "", a = 0; a < e.length; a++)
if (void 0 !== t[e[a]])
if (t[e[a]] && t[e[a]]instanceof Object || t[e[a]]instanceof Array) {
var i = JSON.stringify(t[e[a]]);
n += e[a] + i
} else
n += e[a] + t[e[a]];
return n
};
function d(t) {
for (var e in t)
"" !== t[e] && void 0 !== t[e] || delete t[e];
var n = r + u(t);
return CryptoJS.MD5(n).toString().toLocaleLowerCase()
};
console.log(d(t))
// 结果为 b3cb44e0121be6814b1fa7a765ac7d93
好了,请求头参数的加密已经解决了,现在来分析返回内容的解密。加密内容再请求拦截器,那么解密肯定在响应拦截器洛,在下方疑似位置打上断点。
打上断点,分析参数
很明显b是解密函数,进入b函数,发现疑似是ASE的解密,r["e"],r["i"]都是固定的,分别作为密钥和向量。
复制代码,并改写
var key = 'EB444973714E4A40876CE66BE45D5930';
var i = 'B5A8904209931867';
var data = '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'
function data_decrpted(t) {
var e = CryptoJS.enc.Utf8.parse(key)
, n = CryptoJS.enc.Utf8.parse(i)
, decrypted_data = CryptoJS.AES.decrypt(t, e, {
iv: n,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return JSON.parse(decrypted_data.toString(CryptoJS.enc.Utf8))
};
console.log(data_decrpted(data))
{
// PageTotal: 178,
// PageNo: 2,
// Total: 3555,
// PageSize: 20,
// Table: [
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '莆田无废城市建设(木兰溪流域及北岸区)固废综合治理及循环利用项目全过程咨询',
// M_ID: 256910,
// PLATFORM_CODE: '11350300696621488X',
// PLATFORM_NAME: '莆田市行政服务中心',
// TM1: '2024-07-16 09:18:01',
// AREACODE: '350392',
// AREANAME: '莆田市湄洲湾北岸经济开发区',
// PROTYPE_TEXT: '房屋建设',
// PROTYPE: 'A01',
// M_DATA_SOURCE: '0301',
// M_TM: '2024-07-16 09:18:01',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-16 09:18:01',
// IS_NEW: false
// },
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '惠安县城南文教园(校友活动中心及学生发展中心)建设运营一体化(招标公告)',
// M_ID: 256909,
// PLATFORM_CODE: '12350500MB03536900',
// PLATFORM_NAME: '泉州市公共资源交易中心',
// TM1: '2024-07-16 00:00:08',
// AREACODE: '350521',
// AREANAME: '惠安县',
// PROTYPE_TEXT: '房屋建设',
// PROTYPE: 'A01',
// M_DATA_SOURCE: '0502',
// M_TM: '2024-07-16 00:00:08',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-16 00:00:08',
// IS_NEW: false
// },
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '洛江城市数据管理大脑指挥中心暨社会治理中心(招标公告)',
// M_ID: 256908,
// PLATFORM_CODE: '12350500MB03536900',
// PLATFORM_NAME: '泉州市公共资源交易中心',
// TM1: '2024-07-16 00:00:06',
// AREACODE: '350504',
// AREANAME: '洛江区',
// PROTYPE_TEXT: '房屋建设',
// PROTYPE: 'A01',
// M_DATA_SOURCE: '0502',
// M_TM: '2024-07-16 00:00:06',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-16 00:00:06',
// IS_NEW: false
// },
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '福建外运福州南通物流中心(三期)工程(监理)(二次招标)-招标公告',
// M_ID: 256894,
// PLATFORM_CODE: '12350100MB02709751',
// PLATFORM_NAME: '福州市公共资源交易服务中心',
// TM1: '2024-07-15 21:05:35',
// AREACODE: '350121',
// AREANAME: '闽侯县',
// PROTYPE_TEXT: '房屋建设',
// PROTYPE: 'A01',
// M_DATA_SOURCE: '0102',
// M_TM: '2024-07-15 21:05:35',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-15 21:05:35',
// IS_NEW: false
// },
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '莆田市城乡供水一体化--莆田农村“一户一表”及老旧管网改造工程(涵江区三江口镇一户一表改造项目)设计施工总承包
// 项目',
// M_ID: 256893,
// PLATFORM_CODE: '11350300696621488X',
// PLATFORM_NAME: '莆田市行政服务中心',
// TM1: '2024-07-15 20:36:02',
// AREACODE: '350303',
// AREANAME: '涵江区',
// PROTYPE_TEXT: '水利',
// PROTYPE: 'A07',
// M_DATA_SOURCE: '0301',
// M_TM: '2024-07-15 20:36:02',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-15 20:36:02',
// IS_NEW: false
// },
// {
// KIND: 'GCJS',
// TITLE: '招标公告',
// GGTYPE: '1',
// NAME: '福建省云霄第一中学新校区迁建项目全过程咨询服务招标公告',
// M_ID: 256892,
// PLATFORM_CODE: '12350600489954028U',
// PLATFORM_NAME: '漳州市公共资源交易中心',
// TM1: '2024-07-15 19:05:30',
// AREACODE: '350622',
// AREANAME: '云霄县',
// PROTYPE_TEXT: '房屋建设',
// PROTYPE: 'A01',
// M_DATA_SOURCE: '0601',
// M_TM: '2024-07-15 19:05:30',
// M_PROJECT_TYPE: '1',
// TM: '2024-07-15 19:05:30',
// IS_NEW: false
// },
最终python代码和js代码见下
import requests
import time
import execjs
import pprint
time_stamp = round(time.time()*1000)
cookies = {
'ASP.NET_SessionId': 'cacgnldh1bbaqtr2qaoq12zs',
}
json_data = {
'pageNo': 10,
'pageSize': 20,
'total': 3555,
'AREACODE': '',
'M_PROJECT_TYPE': '',
'KIND': 'GCJS',
'GGTYPE': '1',
'PROTYPE': '',
'timeType': '6',
'BeginTime': '2024-01-17 00:00:00',
'EndTime': '2024-07-17 23:59:59',
'createTime': [],
'ts': time_stamp,
}
js_code = execjs.compile(open('demo.js','r',encoding='utf-8').read())
get_sign = js_code.call('get_sign',json_data)
print('获取的portal-sign为:',get_sign)
headers = {
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'Content-Type': 'application/json;charset=UTF-8',
'Origin': 'https://ggzyfw.fj.gov.cn',
'Pragma': 'no-cache',
'Referer': 'https://ggzyfw.fj.gov.cn/business/list',
'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/126.0.0.0 Safari/537.36',
'portal-sign': get_sign,
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
response = requests.post('https://ggzyfw.fj.gov.cn/FwPortalApi/Trade/TradeInfo', cookies=cookies, headers=headers, json=json_data)
print(response.json())
data = response.json()['Data']
get_decrypted_data = js_code.call('data_decrypted',data)
pprint.pprint(get_decrypted_data)
const CryptoJS = require('crypto-js')
t = {
"ts": 1721183028929,
"pageNo": 3,
"pageSize": 20,
"total": 3556,
"KIND": "GCJS",
"GGTYPE": "1",
"timeType": "6",
"BeginTime": "2024-01-17 00:00:00",
"EndTime": "2024-07-17 23:59:59",
"createTime": []
}
var r = 'B3978D054A72A7002063637CCDF6B2E5';
function l(t, e) {
return t.toString().toUpperCase() > e.toString().toUpperCase() ? 1 : t.toString().toUpperCase() == e.toString().toUpperCase() ? 0 : -1
};
function u(t) {
for (var e = Object.keys(t).sort(l), n = "", a = 0; a < e.length; a++)
if (void 0 !== t[e[a]])
if (t[e[a]] && t[e[a]]instanceof Object || t[e[a]]instanceof Array) {
var i = JSON.stringify(t[e[a]]);
n += e[a] + i
} else
n += e[a] + t[e[a]];
return n
};
function get_sign(t) {
for (var e in t)
"" !== t[e] && void 0 !== t[e] || delete t[e];
var n = r + u(t);
return CryptoJS.MD5(n).toString().toLocaleLowerCase()
};
var key = 'EB444973714E4A40876CE66BE45D5930';
var i = 'B5A8904209931867';
function data_decrypted(t) {
var e = CryptoJS.enc.Utf8.parse(key)
, n = CryptoJS.enc.Utf8.parse(i)
, decrypted_data = CryptoJS.AES.decrypt(t, e, {
iv: n,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return JSON.parse(decrypted_data.toString(CryptoJS.enc.Utf8))
};