来吧骚年,每天花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一锅端的更多相关文章

  1. React.js 小书 Lesson25 - 实战分析:评论功能(四)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson25 转载请注明出处,保留原文链接和作者信息. (本文未审核) 目前为止,第二阶段知识已经基本 ...

  2. React.js 小书 Lesson26 - 实战分析:评论功能(五)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson26 转载请注明出处,保留原文链接和作者信息. (本文未审核) 持久化评论 同样地,可以通过类 ...

  3. js小功能整理

    /** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [检测是否含有的字符串] * @return ...

  4. [转载]Js小技巧||给input type=“password”的输入框赋默认值

    http://www.cnblogs.com/Raywang80s/archive/2012/12/06/2804459.html [转载]Js小技巧||给input type="passw ...

  5. 一些js小题(一)

    一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...

  6. 第24篇 js小知识和“坑”

    前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...

  7. React.js 小书介绍

    React.js 小书 Github 关于作者 这是一本关于 React.js 的小书. 因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识.经验.于是 ...

  8. 一个js小游戏----总结

    花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...

  9. React.js小书总结

    (迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...

随机推荐

  1. MPI实现Jacobi

    一.Jacobi迭代 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #define totalsize ...

  2. Trie详解

    Trie,又名字典树.单词查找树,可以较高效地实现统计.排序和保存大量的字符串. 顾名思义,Trie是一个树状的结构,按照树型结构来存储字符串,显然是一种以空间换时间的方法.整体上理解和实现都不会很难 ...

  3. 分享一个登录页面(前端框架layui)-20200318

    效果图 对该页面的总结: 1.前端框架layui layui官网:https://www.layui.com/,下载之后,简单配置就可使用 2.layui模块引用与使用的方式 <script&g ...

  4. 2020重新出发,MySql基础,性能优化

    @ 目录 MySQL性能优化 MySQL性能优化简述 使用 SHOW STATUS 命令 使用慢查询日志 MySQL 查询分析器 EXPLAIN DESCRIBE 索引对查询速度的影响 MySQL优化 ...

  5. RabbitMQ配置文件(rabbitmq.conf)

    rabbitmq.conf配置文件示例: #====================================== #RabbitMQ经纪人部分 #======================= ...

  6. 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. ...

  7. Mysql宽字节注入 ---学习笔记

    转自:https://blog.csdn.net/niexinming/article/details/49109683 先补充一点背景:大 家都知道PHP在开启magic_quotes_gpc或者使 ...

  8. playable

    探索TimelinePlayableAPI,让Timeline为所欲为 https://blog.csdn.net/qq826364410/article/details/80534892 Playa ...

  9. 最小生成树MST

    定义 在一给定的无向联通带权图\(G = (V, E, W)\)中,\((u, v)\) 代表连接顶点 \(u\) 与顶点 \(v\) 的边,而 \(w(u, v)\) 代表此边的权重,若存在 \(T ...

  10. 测试JsonAnalyzer解析Json的十一个测试用例

    目测以下测试用例都是通过的. 01. 原文={"status":"","message":"success"," ...