每日爬虫JS小逆之5分钟旅游网MD5一锅端
来吧骚年,每天花5分钟锻炼一下自己的JS调试也是极好的,对后期调试滑块验证码还原、拖动很有帮助,坚持下去,我们能赢。建议亲自试试哦,如果对大家有帮助的话不妨关注一下知识图谱与大数据公众号,当然不关注也无所谓,有问题随时私信。完整JS代码参考
从今天开始种树-同程MD5
从今天开始种树-驴妈妈MD5
从今天开始种树-途牛MD5
从今天开始种树-搜狐视频MD5
开始
本次涉及同程旅游、驴妈妈、途牛、还有“买三送一”的搜狐,方法重复性虽高但并不阻碍大家亲自尝试哦。
同程旅游
打开同程旅游登录界面:
输入错误的账号密码,找到请求url:

查看formdata,发现pass(即密码)被加密了:

选择调用栈进去:

在文件中搜索pass:

MD5赫然映入眼帘,那就打上断点,然后跳到这个MD5里看看,最先跳到这里:

往下一拉发现JS代码就区区一百行:

抠出来即可运行。
同程运行结果
import execjs
#url = https://passport.ly.com/
with open('..//js//tongcheng.js', encoding='utf-8') as f:
tongcheng = f.read()
js = execjs.compile(tongcheng)
logid = js.call('get_pwd', "QWERTY123456")
print(logid)

一模一样。
驴妈妈

这么快就结束了很不爽,继续打开一个驴妈妈,套路与上面一样:

输入账号密码后找到url,查看formdata:

这么短的加密方式一般就是MD5,通过调用栈进入文件,搜索password,找到入口,函数名直接了当nd5(pw):

打上断点进入md5函数:

上下拉一下代码发现也就百十行,抠出来。
驴妈妈运行
import execjs
#url = https://login.lvmama.com/nsso/login
with open('..//js//lvmama.js', encoding='utf-8') as f:
lvmama = f.read()
js = execjs.compile(lvmama)
logid = js.call('get_pwd', "qwer")
print(logid)

途牛
还贴图么?贴吧
登录

查看formdata:

一看发现依然MD5加密。
调用栈进入
函数名倒是变化了一下。整上断点,进入md5函数里

同拉,发现也是100多行。
途牛运行结果
闭着眼睛扣完使用python调用。
import execjs
#url = https://passport.tuniu.com/
with open('..//js//tuniu.js', encoding='utf-8') as f:
tuniu = f.read()
js = execjs.compile(tuniu)
logid = js.call('get_pwd', "qwert1234")
print(logid)

买三送一:搜狐视频
随便点击发现搜狐视频也是MD5加密,看一看formdata:

调用栈进去,搜索关键字,打上断点,一气呵成:

进入md5函数,同样100多行:

换汤不换药,直接抠出来运行。
搜狐视频运行结果
import execjs
#url = https://tv.sohu.com/
with open('..//js//souhu.js', encoding='utf-8') as f:
souhu = f.read()
js = execjs.compile(souhu)
logid = js.call('get_pwd', "qwer1234")
print(logid)

完全一致,有内味了。
结束
一口气把途牛、同程、驴妈妈、搜狐拎出来了,都很简单,建议亲自试试哦,如果对大家有帮助的话不妨关注一下知识图谱与大数据公众号,当然不关注也无所谓,有问题随时私信。


每日爬虫JS小逆之5分钟旅游网MD5一锅端的更多相关文章
- React.js 小书 Lesson25 - 实战分析:评论功能(四)
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson25 转载请注明出处,保留原文链接和作者信息. (本文未审核) 目前为止,第二阶段知识已经基本 ...
- React.js 小书 Lesson26 - 实战分析:评论功能(五)
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson26 转载请注明出处,保留原文链接和作者信息. (本文未审核) 持久化评论 同样地,可以通过类 ...
- js小功能整理
/** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [检测是否含有的字符串] * @return ...
- [转载]Js小技巧||给input type=“password”的输入框赋默认值
http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...
- 一些js小题(一)
一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...
- 第24篇 js小知识和“坑”
前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...
- React.js 小书介绍
React.js 小书 Github 关于作者 这是一本关于 React.js 的小书. 因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识.经验.于是 ...
- 一个js小游戏----总结
花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...
- React.js小书总结
(迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...
随机推荐
- MPI实现Jacobi
一.Jacobi迭代 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #define totalsize ...
- Trie详解
Trie,又名字典树.单词查找树,可以较高效地实现统计.排序和保存大量的字符串. 顾名思义,Trie是一个树状的结构,按照树型结构来存储字符串,显然是一种以空间换时间的方法.整体上理解和实现都不会很难 ...
- 分享一个登录页面(前端框架layui)-20200318
效果图 对该页面的总结: 1.前端框架layui layui官网:https://www.layui.com/,下载之后,简单配置就可使用 2.layui模块引用与使用的方式 <script&g ...
- 2020重新出发,MySql基础,性能优化
@ 目录 MySQL性能优化 MySQL性能优化简述 使用 SHOW STATUS 命令 使用慢查询日志 MySQL 查询分析器 EXPLAIN DESCRIBE 索引对查询速度的影响 MySQL优化 ...
- RabbitMQ配置文件(rabbitmq.conf)
rabbitmq.conf配置文件示例: #====================================== #RabbitMQ经纪人部分 #======================= ...
- jq cdn地址
百度CDN支持版本2.0.3, 2.0.2, 2.0.1, 2.0.0,1.11.1, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8. ...
- Mysql宽字节注入 ---学习笔记
转自:https://blog.csdn.net/niexinming/article/details/49109683 先补充一点背景:大 家都知道PHP在开启magic_quotes_gpc或者使 ...
- playable
探索TimelinePlayableAPI,让Timeline为所欲为 https://blog.csdn.net/qq826364410/article/details/80534892 Playa ...
- 最小生成树MST
定义 在一给定的无向联通带权图\(G = (V, E, W)\)中,\((u, v)\) 代表连接顶点 \(u\) 与顶点 \(v\) 的边,而 \(w(u, v)\) 代表此边的权重,若存在 \(T ...
- 测试JsonAnalyzer解析Json的十一个测试用例
目测以下测试用例都是通过的. 01. 原文={"status":"","message":"success"," ...