中国裁判文书网接口解密
中国裁判文书网接口解密
- 前景提要
- 具体实现
- 数据解密
- 传参解密
- 结语
前景提要
最近有个采集中国裁判文书网的需求,做下来觉得接口加密方式还挺有意思的,分享一下解密过程
具体实现
数据解密
首先找到页面上对应数据来源于哪个接口
很明显是某种加密方式,密钥和密文都在接口中了,直接开搜secret
找到了JS代码段,看样子是DES3加密,打个断点开始调试
看起来就是这个了,但是DES3是自己写的var,再step into看看
说实话看到这一坨代码,头挺痛的(所以把所有JS代码都拥挤在一起不空行也是高效的反爬手段啊),但没办法,要恰饭的嘛,最后梳理出来了关键代码。
CryptoJS.TripleDES.decrypt(b,CryptoJS.enc.Utf8.parse(c),{iv:CryptoJS.enc.Utf8.parse(a||DES3.iv()),mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7
如果不考虑前端兄弟故意命名错误来搞心态的话,应该是标准的DES3加密,CBC方法,填充方式为pkcs7,然后问题就只剩下了a||DES3.iv()了,调试的时候发现a是undefined,只剩下DES3.iv()了,点进去看看,发现是
iv:function(){return $.WebSite.formatDate(new Date(),"yyyyMMdd")}
一目了然,偏移量就是当前日期的yyyyMMdd格式,放到DES3在线解密工具上去看看
解密成功,没啥问题,直接开写解密代码就可以了,网上的各种语言的DES3解密代码都有很多,这里给出一个python的
import pyDes
import base64
def decrypt_py(data, secretkey,iv):des_obj = pyDes.triple_des(key=secretkey, IV=iv, padmode=pyDes.PAD_PKCS5,mode=pyDes.CBC)decodebs64data = base64.b64decode(data)s= des_obj.decrypt(decodebs64data).decode('utf-8')x=json.loads(s)# dict_s=eval(s)return x
传参解密
光解密了数据也不够,传参不知道就拿不到数据,总不能selenium+fiddler大法好吧(其实一般情况下确实可以,但是这个数据量太大,用selenium得采到天荒地老)
一共五个,Cookie太常见了,就不介绍了,docId应该是文章的唯一id,可以不用管,cfg看起来也是固定不变的,直接搜索chipher
找到了对应的函数,发现只和当前日期有关,可以放着了,再搜索RequestVerificationToken
发现完全是随机生成,也不用管了。
所以最终发现定时更新cookie和chiphertext,其他三个固定住就可以正常采集了。最后再解析一下或得到的请求就搞定了。
结语
研究的时候遇到了蛮多的问题的,一开始看到那一大堆js代码说实话就不想看,想着直接用python运行js代码直接绕过去,结果发现那段代码引用的jquery,搞了半天没搞出来,硬着头皮去逆向js了,后来发现也没那么难,就是一个简单的3DES而已。所以该逆向还是要逆向啊。
中国裁判文书网接口解密相关推荐
- 中国裁判文书网----最最最详细爬虫----基于各位大佬的帖子---更新一版----步骤不详细?你打死我 本爬虫编写日期:2019-07-30
目录 一.吐槽 二.参考 三.爬取目标以及爬取思路 1.爬取目标 2.爬取思路 四.破解(重头戏) 1.发现加密参数得过程 1.1 暴力请求 案件详情页 2.破解案件列表页请求参数 2.1 解密num ...
- Python中国裁判文书网
一:介绍 中国裁判文书网(http://wenshu.court.gov.cn/)是中国司法部门的官方网站,提供全国各级法院的裁判文书和审判流程信息. 二:数据获取
- Scrapy框架爬取中国裁判文书网案件数据
Scrapy框架爬取中国裁判文书网案件数据 项目Github地址: https://github.com/Henryhaohao/Wenshu_Spider 中国裁判文书网 - http://wens ...
- 中国裁判文书网改版之后抓取--2019-01-10
一.裁判文书网难点:vl5x.number.guid 三个参数(内容.列表抓取必须的参数). guid 生成规则页面源码里面找,非常简单,是一段js代码. number ~~向 http://wens ...
- Python与R协同完成【中国裁判文书网】文书内容爬取
概述: 目标网站:http://wenshu.court.gov.cn/ 核心:爬取每份文书的DocID 请求URL:http://wenshu.court.gov.cn/List/ListConte ...
- 爬虫中国裁判文书网参考链接
1.git有详细代码scrapy https://github.com/zc3945/caipanwenshu 简书,分析过程 https://www.jianshu.com/p/bac8b9be98 ...
- 2019-11-30中国裁判文书网数据爬虫更新
数据一共:8000w
- 爬取裁判文书网(一)
1.裁判文书网地址 http://wenshu.court.gov.cn/ 2.网站分析 (1)网站类型是动态网站. (2)网页源代码中并没有我们想要的页面内容,且引用许多js代码. (3)查看列表页 ...
- python 某文书网JS逆向 登录加密算法还原
python 某文书网登录加密还原 run(手机号,密码)运行 import base64 import requests from urllib.parse import quote from Cr ...
- JS逆向——裁判文书网(详细图文步骤)
写在前面:本篇博客很长,都是手把手一步一步的教程,跟着做就能出结果,文章总共分为以下三部分,我也会在3个部分中详细的说明步骤 (1)接口请求头参数验证 (2)接口响应数据DES3加密 (3)登录状态验 ...
最新文章
- emqx速度_EMQX-3.0性能测试报告-ReadtheDocs.PDF
- Java学习笔记15
- 编程界的“马太效应”,是什么在阻止你变得更加优秀?
- squid via检测转发循环
- 如何运用所掌握的技术构建一个完整的业务架构
- JSP Servlet | 错误统一处理
- 敏捷开发“松结对编程”实践之五:代码检查篇(大型研发团队,学习型团队,139团队,师徒制度,代码审查)...
- ElasticSearch遇到问题
- python有什么用-Python到底有什么用?为什么那么多人都在学Python?
- 冲压模板自动标注LISP_自动标注.LSP
- Altuim Designer 21学习笔记
- linux ftp 服务配置
- 好用且种类多的Unity3d游戏特效素材推荐,都在这里
- MFC无边框窗体设置窗口圆角,并且绘制边框
- android分屏后布局变化问题,Android分屏多窗口实践
- python 列表写入excel_python怎么读取和写入excel表格
- Unity中获取地形的法线
- 数据即服务(DaaS)
- java web项目混淆
- hmailserver + afterlogic 搭建webmail