逆向案例二十二——请求头参数加密,某省公共资源交易电子公共服务平台

网址:交易列表 - 福建省公共资源交易电子公共服务平台

想要抓取数据,进行抓包分析,找到数据包,发现请求头有加密参数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))
        };

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习各种软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值