送书|逆向系列-你一定要懂的MD5加密
逆向的步骤
逆向的步骤主要包含以下几点:
抓包
抓包的过程其实很简单,在学爬虫入门的时候,想必这是每一个同学都必学的一个阶段。打开开发者调试工具,刷新页面,即可在network面板查看到加载出来的数据包。
调试
当找到目标数据包时,根据目标数据包form data中的关键字参数进行全局查找,便基本上可以查找到目标参数所在的js文件,通过断点的方式即可查找到目标值。注意:这仅仅只是针对大多数网站的方式。
扣取js
当找到目标参数的值的生成方式时,便需要通过方法栈的跟踪找到目标参数生成值的方法即可,并将js代码复制出来并运行代码即可。
改写js
有时候,扣去下来的js代码存在不规范,需要进行简单的修改。这一点需要各位同学熟悉js的代码。
本地运行代码
当做完上述的步骤之后,便可以将代码复制出来在本地运行出结果与已知结果相同即可。
常见的加密方法
MD系列
MD系列中有三种加密方式:MD5、MD4、MD2。
关于MD系列中重点讲解的内容就是MD5,不论是多长的字符串均能加密成32位或16位字符。MD5编码是由数字与字母组成,因此看到位数以及字母组成形式的字符可以迅速判断可能是MD5编码。
MD5编码具有不可逆的特点,明文可以被加密成密文,但是无法根据密文以及加密方式反推明文,极大的保证了安全性。但是目前有不少在线解密MD5的网站,它是怎么样做的呢?
其实很简单,它将常见的明文加密成MD5密文的形式,将所得结果保存起来,当需要查询的时候进行匹配即可。其实这种方法就类似于暴力破解。
个人经验之谈
关于MD5的加密,我说一下个人的经验一般来说它会在账号与密码登陆的时候动手脚。(对于一部分网站)
我们在输入密码的时候会采用123456,方便我们记忆。
为什么这样说呢?
因为123456所对应的16位和32位MD5字符串分别是:
49ba59abbe56e057 #16位
e10adc3949ba59abbe56e057f20f883e # 32位
这一点我们需要熟记,123456的16位密文是49开头,而32位123456的密文是e10开头。当在数据包中发现此类信息是即可判断。
另一点就是程序员一般都不会没事找事干。加密函数与加密参数都是放在同一个js文件中,如果实在是找不到也没有关系,可以考虑采用方法栈的跟踪进行查找。
今日网站
aHR0cHM6Ly93d3cuc29odS5jb20v
本次网站主要是考虑是如何破解登陆上的MD5加密,和开始所写的内容相同,一定要按照逆向的步骤进行操作。
首先先进行抓包操作:
如上图所示,我输入的密码是123456,它也给我通过,只是点击登陆的时候会显示密码或账号错误。有些网站是不会通过123456这种密码的,那么如果不通过的话,就要考虑换一个复杂一点的即可。
大家来看一下,这是不是就是我们要查找的数据包呀?
很明显,当我们看到password的值时是否就能联想到刚刚所描述的加密方式的特点呢?相信各位同学都已经心中有数了吧!
form data里面的参数都是我们可以进行搜索的内容,比如说:userid、password、persistentCookie等等,或者是最上方的url里面的值也有可能是我们要进行全局搜索的内容哦。
为了节省时间,我们就直接对password进行全局搜索。
经过搜索之后,我们从图中可以发现,出现的结果还是蛮多的。但是大家有没有想过一个问题,那就是MD5加密的值是怎么样传递给password的呢?一般来说是不是对象.password = xxx这样的形式来传递的呢?因此搜索方式可以修改为password=:
在password的后面我没有加上空格,因为现在所搜索的内容是没有经过格式化的,如果格式化代码之后,那么在password的后面就必须要加上空格了。(这一点要注意)
从上图可以看出,所搜结果又被过滤掉了很多,只剩下其中一个了,这正合我意。
当进入这个js文件之后,再将password搜索一遍,可以看到password的结果有4个。
接下来便在此行打上断点,来跟踪加密函数。从上面的图中可以发现它是通过utils对象生成的加密参数。
打上断点之后,可以发现这个确实是我们需要查找的内容,经过上面的分析,接下来便要查找utils关键字。
经过搜索发现,在当前的js代码中确实是存在utils关键字,看上去也是一个对象,那这就刚刚好验证了我们刚才所描述的内容了。
在这里也分享一下我扣取js代码的经验:
可以先将JS代码全部复制下来到本地,因为在浏览器中括号无法将成对展现,但是在本地文件中是可以成对出现,方便扣取的时候,不会少了括号或者是代码而报错。
将utils代码扣去下来之后,便将其进行运行出结果即可。
至此,关于MD5的加密逆向就讲解到这里了。
更多精彩内容,期待下次再见!!!
送书
本周送上这本翘首以待的《Python 3网络爬虫开发实战(第2版)》!相比第一版这本书内容更全面,章节设置更易读者学习。
本书介绍了如何利用 Python 3 开发网络爬虫。本书相比于第 1 版,作者为每个知识点的实战项目配备了针对性的练习平台,避免了案例过期的问题。另外,主要增加了异步爬虫、JavaScript 逆向、App 逆向、页面智能解析、深度学习识别验证码、Kubernetes 运维及部署等知识点,同时也对各个爬虫知识点涉及的请求、存储、解析、测试等工具都进行了丰富和更新。
公众号回复:送书 ,参与抽奖(共3本)
点击下方回复:送书 即可!
大家如果有什么建议,欢迎扫一扫二维码私聊小编~
回复:加群 可加入Python技术交流群
送书|逆向系列-你一定要懂的MD5加密相关推荐
- 【送书】就业大崩溃,你是否正在从事20年内大概率被淘汰的职业?
欢迎大家来到<AI好书>专栏,这一个专栏是面向所有对人工智能技术感兴趣的朋友.在这个专栏里,我们会给大家推荐人工智能相关的优质书籍. 我们的职业是否会被人工智能所替代,这是一个经济学的问题 ...
- 移动安全逆向著作《Android应用安全防护和逆向分析》终于发售了,先来一波签名送书福利!
经历了一年半,我的毕生精力著作终于和大家见面了,写书很不容易,这段时间感谢大家对我的文章的支持和肯定,也有很多同学和我反馈要是能写一本书这么详细介绍内容就好了.其实我一直在写,只是没有写好的那一天还不 ...
- 图灵科普系列丛书封面有奖征集(贴图送书)
图灵科普系列丛书封面有奖征集(贴图送书) 知道吗?图灵要出科普书 啦! 现面对广大设计爱好者征集封面设计方案,希望大家踊跃参与,发挥你的想象力,充分展现个性与创意,快来进行一次思想大碰撞吧! 活动详情 ...
- 送书 | 聊聊逆向爬取数据
最好的挣钱方式是钱生钱,怎样钱生钱呢,钱生钱可以通过投资,例如买股票.基金等方式,有人可能说买股票基金发财,我没这样的命和运气.买股票基金靠的不只有命运和运气,更多靠的是长期的经验和对股票基金数据的分 ...
- 送书 | 用啥selenium!JS逆向不香吗?
大家好!我是啃书君 正所谓条条道路通罗马,上次我们使用了Selenium自动化工具来爬取网易云的音乐评论,Selenium自动化工具可以驱动浏览器执行特定的动作,获得浏览器当前呈现的页面的源代码,做到 ...
- (文末送书)一文读懂 Web 安全
Web 安全是互联网中不可或缺的一个领域,这个领域中诞生了大量的黑帽子与白帽子,他们都是安全领域的王者,在平时里,他们利用各种巧妙的技术互相博弈,时不时就会掀起一场 Web 安全浪潮,真可谓神仙打架, ...
- 【原创】【2021 android逆向系列】2:MIUI安装xposed问题全览(从本人简书博客移入)
书接上文[原创][android逆向系列]1:真机(小米note 3)root,本文和大家说一说MIUI安装xposed爬过的坑,以及如何安装xposed~ 一.xposed基础知识: xposed ...
- 【日常送书】非IT专业也能读得懂,这可能是最轻松的机器学习入门书
本文作者:黄佳,新加坡埃森哲公司高级顾问,人工智能专家,机器学习和云计算高级工程师,参与过公共事业.医疗.金融等多领域大型人工智能项目. 1 走下神坛的机器学习 我们马上就要进入20世纪的第3个十年啦 ...
- 【熬夜送书 | 第二期】清华社赞助 | 《前端系列丛书》
前端是什么? 前端(Front-End),又称浏览器端.客户端等,是指 Web 应用程序中负责用户交互.界面展示和数据展示的部分.前端技术体系主要包括 HTML.CSS 和 JavaScript 等内 ...
最新文章
- 数据中心支持物联网的5种方式
- NOI Day1线上同步赛梦游记
- k均值聚类算法优缺点_Grasshopper实现K均值聚类算法
- shiro框架---关于多项目之间验证为什么需要共享session
- CentOS7 FTP安装与配置
- 使用Microsoft数据迁移助手将Oracle数据库迁移到SQL Server –安装过程和简短概述
- WPF界面设计中常用的一些代码片段及属性
- 利用kali下的msfvenom入侵电脑
- iMeta教你绘图 | 世界海拔地图
- osl倒数第三层_原子最外层、次外层及倒数第三层最多容纳电子数的解释
- [转帖]rsync简介
- 名词用作动词举例_动词+名词-动词加名词-名词作动词
- Pubg九月十六日服务器维护,9月16日绝地求生更新时间公告 绝地求生9月16日更新维护...
- 用VB评估数学表达式
- java葫芦娃喜羊羊格斗_课内资源 - 基于JAVA的葫芦娃大战妖怪
- kafka 使用及学习过程中的爬坑记录
- Native Instruments Guitar Rig 5 Player WiN-MAC 免费的电吉他效果器
- STM32学习【2】STM32F103C8T6串口2USART2程序
- 线性插值基本原理推导
- 图的深度优先搜索及拓扑排序