中国裁判文书网接口解密

  • 前景提要
  • 具体实现
    • 数据解密
    • 传参解密
  • 结语

前景提要

最近有个采集中国裁判文书网的需求,做下来觉得接口加密方式还挺有意思的,分享一下解密过程

具体实现

数据解密

首先找到页面上对应数据来源于哪个接口

很明显是某种加密方式,密钥和密文都在接口中了,直接开搜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而已。所以该逆向还是要逆向啊。

中国裁判文书网接口解密相关推荐

  1. 中国裁判文书网----最最最详细爬虫----基于各位大佬的帖子---更新一版----步骤不详细?你打死我 本爬虫编写日期:2019-07-30

    目录 一.吐槽 二.参考 三.爬取目标以及爬取思路 1.爬取目标 2.爬取思路 四.破解(重头戏) 1.发现加密参数得过程 1.1 暴力请求 案件详情页 2.破解案件列表页请求参数 2.1 解密num ...

  2. Python中国裁判文书网

    一:介绍 中国裁判文书网(http://wenshu.court.gov.cn/)是中国司法部门的官方网站,提供全国各级法院的裁判文书和审判流程信息. 二:数据获取

  3. Scrapy框架爬取中国裁判文书网案件数据

    Scrapy框架爬取中国裁判文书网案件数据 项目Github地址: https://github.com/Henryhaohao/Wenshu_Spider 中国裁判文书网 - http://wens ...

  4. 中国裁判文书网改版之后抓取--2019-01-10

    一.裁判文书网难点:vl5x.number.guid 三个参数(内容.列表抓取必须的参数). guid 生成规则页面源码里面找,非常简单,是一段js代码. number ~~向 http://wens ...

  5. Python与R协同完成【中国裁判文书网】文书内容爬取

    概述: 目标网站:http://wenshu.court.gov.cn/ 核心:爬取每份文书的DocID 请求URL:http://wenshu.court.gov.cn/List/ListConte ...

  6. 爬虫中国裁判文书网参考链接

    1.git有详细代码scrapy https://github.com/zc3945/caipanwenshu 简书,分析过程 https://www.jianshu.com/p/bac8b9be98 ...

  7. 2019-11-30中国裁判文书网数据爬虫更新

    数据一共:8000w

  8. 爬取裁判文书网(一)

    1.裁判文书网地址 http://wenshu.court.gov.cn/ 2.网站分析 (1)网站类型是动态网站. (2)网页源代码中并没有我们想要的页面内容,且引用许多js代码. (3)查看列表页 ...

  9. python 某文书网JS逆向 登录加密算法还原

    python 某文书网登录加密还原 run(手机号,密码)运行 import base64 import requests from urllib.parse import quote from Cr ...

  10. JS逆向——裁判文书网(详细图文步骤)

    写在前面:本篇博客很长,都是手把手一步一步的教程,跟着做就能出结果,文章总共分为以下三部分,我也会在3个部分中详细的说明步骤 (1)接口请求头参数验证 (2)接口响应数据DES3加密 (3)登录状态验 ...

最新文章

  1. emqx速度_EMQX-3.0性能测试报告-ReadtheDocs.PDF
  2. Java学习笔记15
  3. 编程界的“马太效应”,是什么在阻止你变得更加优秀?
  4. squid via检测转发循环
  5. 如何运用所掌握的技术构建一个完整的业务架构
  6. JSP Servlet | 错误统一处理
  7. 敏捷开发“松结对编程”实践之五:代码检查篇(大型研发团队,学习型团队,139团队,师徒制度,代码审查)...
  8. ElasticSearch遇到问题
  9. python有什么用-Python到底有什么用?为什么那么多人都在学Python?
  10. 冲压模板自动标注LISP_自动标注.LSP
  11. Altuim Designer 21学习笔记
  12. linux ftp 服务配置
  13. 好用且种类多的Unity3d游戏特效素材推荐,都在这里
  14. MFC无边框窗体设置窗口圆角,并且绘制边框
  15. android分屏后布局变化问题,Android分屏多窗口实践
  16. python 列表写入excel_python怎么读取和写入excel表格
  17. Unity中获取地形的法线
  18. 数据即服务(DaaS)
  19. java web项目混淆
  20. hmailserver + afterlogic 搭建webmail

热门文章

  1. ubuntu14.04安装skype4.3
  2. AT89C51单片机制作简易密码锁
  3. 王炸 | 海康汽车来了 商机还是冒进?
  4. 计算机产品校园营销方案,惠普笔记本电脑校园营销策划方案.doc
  5. Netron 可视化Pytorh模型架构
  6. R语言开发之输出盒形图
  7. 图扑数字孪生北京故宫,推进旅游业元宇宙进程
  8. 2019年7月4日西藏17日之旅
  9. C++ Primer 第三版电子版PDF
  10. Shiro安全框架的原理及实现步骤