0x00 抓包分析

目标网站:aHR0cCUzQS8vb3Blbmxhdy5jbi8=

1. 抓包

参数 数值来源
_csrf 未知
username 登陆账号
password 加密过的密码
_spring_security_remember_me 固定值

2. 参数来源分析

通过浏览器的检索工具搜索参数名称

参数 数值来源
_csrf 网页生成


参数 数值来源
password KeyEnctypt函数加密

0x01 编写程序

扣取password的加密逻辑,得到加密后的密码

with open('./openlaw_login.js','r',encoding='utf-8') as f:login_js = execjs.compile(f.read())
session = requests.session()keyEncrypt_password = login_js.call('keyEncrypt',password)

请求页面得到_csrf

login_url = 'http://openlaw.cn/login'raw_headers = '''Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Content-Length: 526
Content-Type: application/x-www-form-urlencoded
Host: openlaw.cn
Origin: http://openlaw.cn
Referer: http://openlaw.cn/login.jsp?logout
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'''
headers = dict([line.split(": ",1) for line in raw_headers.split("\n")])res = session.get('http://openlaw.cn/login.jsp?logout')
csrf = re.compile(r'csrf" value="(.*?)"').search(res.text).group(1)

把参数代入进行请求

formdata = {'_csrf': csrf.search(res.text).group(1),'username': userName,'password': keyEncrypt_password,'_spring_security_remember_me': 'true',
}_csrf_resp = session.post(login_url,headers=headers,data=formdata,timeout=10,allow_redirects=False)login_result = session.get('http://openlaw.cn/user/profile.jsp')
if userName in login_result.text:print('登陆成功!')

0x02

以上就是全部
完整代码可以到我的github
https://github.com/Bindian9710/Spider-Crack_Login_Js/tree/master/openlaw
查看,顺便公众号求个关注,给公众号发送github也可以获得链接

Python爬虫-openlaw登陆JS加密破解相关推荐

  1. python爬虫之基于JS加密破解--有道翻译/百度翻译

    有道翻译破解案例(post) 目标 破解有道翻译接口,抓取翻译结果 # 结果展示 请输入要翻译的词语: elephant 翻译结果: 大象 ************************** 请输入 ...

  2. Python学习笔记--Python 爬虫入门 -17-5 js 加密 (和有道词典的瓜葛)

    - js加密     - 有的反爬虫策略采用js对需要传输的数据进行加密处理(通常是取md5值)     - 经过加密,传输的就是密文,但是     - 加密函数或者过程一定是在浏览器完成,也就是一定 ...

  3. Python爬虫之js加密破解,抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页动态网页 页面解析 step1: 找参数step2:分析js函数step3:分析参数step4: 校验step5:转为python代码 编写爬虫 很多人学 ...

  4. Python爬虫-中华英才网登陆JS加密登陆

    声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 0x00 抓包分析 1.参数分析 参数 数据来源 password 登陆密码加密参数 callback 固定 finger ...

  5. Python 爬虫js加密破解(四) 360云盘登录password加密

    登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步: ...

  6. 爬虫之js加密破解抓取网易云音乐评论生成词云

    js破解历程 前言 技能点 界面概况 静态网页 动态网页 页面解析 step1: 找参数 step2:分析js函数 step3:分析参数 step4: 校验 step5:转为python代码 编写爬虫 ...

  7. python爬虫之SSL、加密、破解有道词典加密算法并编写有道词典实时翻译

    1.SSL -SSL证书就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer) -美国王景公司开发 -CA(CertifacateAuthority)是数字证书认证中心 ...

  8. 爬虫破解js加密破解(二) 有道词典js加密参数 sign破解

    在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...

  9. python爬虫js逆向加密,Web爬虫处理参数js加密、js混淆、js逆向

    中国空气质量在线监测平台(https://www.aqistudy.cn/html/city_detail.html)在众多的练习中,关闭了前台数据信息的展示,也就是说现在网页是这样的: 但我们主要学 ...

最新文章

  1. bootstrap 新闻列表_kuapingUI 2.2 版本发布,跨屏 UI-bootstrap 大组件 UI 框架
  2. matplotlib可视化基本散点图、在图像指定区域绘制方框并进行自定义色彩填充(Draw Rectangle filled with color)
  3. 一致 Hash 算法
  4. future 线程报错后_线程池运用实例——一次错误的多线程程序设计以及修复过程...
  5. netsh interface portproxy 转发不生效_SecureCRT远程端口转发不生效的解决方法
  6. Cus系统beta1.2发布
  7. php使用webservivce_使用zeng studio 创建的php调用webservice soap简单实例
  8. Best Coder Lotus and Characters
  9. [转]Linux统计代码行数
  10. 计算机在线拍照解答,摄影景深在线计算器
  11. 1688api 图片搜索item_search_img-按图搜索1688商品(拍立淘)
  12. 经营三类医疗器械不使用计算机,第三十条经营第三类医疗器械的企业,应当具有符合医疗器械经营质量管理要求的计算机信息管理系统,保证经营的产品可追溯。计算机信息管理系统应当具有以下功能:...
  13. Gearman中文手册技术文档分享chm
  14. 仿照中国银行页面进行编写,主要涉及到float,定位
  15. phpwind 安装教程图文说明
  16. 编写一个程序。要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件“data.txt”中,然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出他们的平均数,然
  17. 【opencv人脸识别1】从图片中检测人脸
  18. 【Java|Swing】关于JLabel换行
  19. c语言在规定时间内跳出循环,do while死循环如何在规定时间内跳出
  20. tmux还有这种操作,我在这边的窗口上操作,你那边可以实时的看到我的操作,厉害了...

热门文章

  1. mongodb Index(3)
  2. 从零开始使用AntDB
  3. python-opencv截取视频片段
  4. 给通信专业研究生——安心完成培养,你不是在劣势下和计算机学生抢饭碗来的
  5. html中如何让图片斜显示,如何在偏斜层(CSS)中扭曲背景图像?
  6. linux 内存管理之kmalloc、vmalloc、malloc、get_gree_pages的区别
  7. Relation Network for Person Re-identification阅读总结
  8. 练习2-4:重新编写函数squeeze(s1,s2),将字符串s1中的任何字符与字符串时s2中的字符匹配的字符都删除
  9. linux 源码安装 飞鸽,Ubuntu中安装编译飞鸽传书
  10. Mac系统打开命令行终端及查看操作系统版本号的方法