读学易语言第十章|阿正_网页数据解密之定位关键函数
本帖最后由 阿正 于 2017-4-2 16:21 编辑读学易语言第十章 | 阿正
网页数据解密之定位关键函数
阿正QQ 964269020打赏支付宝 964269020@qq.com *正 本章适用于有一定易语言基础想发展学习POST方面的人
阅读,文章根据个人学习经验所写,如果有错误请指出。
QQ交流群:308780188
阿正QQ:964269020
公众号:阿正易语言
博客: www.eyuyan.vip
我们分析加密可以分为以下几个步骤:
抓包分析加密数据的参数名
定位关键函数,确定加密函数代码
改写代码
写到易语言里面调用
简单了解了JavaScript和数据加密的原理,那么我们接下来就来讲讲解密算法,本章就
来简单讲解下----抓包分析和寻找关键函数
通过前面的学习我们知道了,加密无非就是通过一个加密方法,然后传入需要加密的
数据,然后返回一个加密结果,把加密结果提交到服务器上面。
抓包的话,我们就不用多说,反正看不明白的数据就多半是加密了。(时间戳、时
间、方法标识不算)
这里以资阳大众网为简单演示(http://www.my0832.com/user/findpass.asp):
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c5f4229cb4cbba94208215669dd149b6c
第一种:通过参数名定位
我们来到这里就开始按下F12开启抓包,然后输入错误的数据,但是一般我们输入的
数据一定要简单,不能输入什么几十位的来乱搞,我们在这里用户名输入123456,密码输
入123456789,点击登录按钮,然后看抓包的数据
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cad884a78e071190614d4456f6b77f84b
抓出来的包就是这样的。我们可以看出password 这个参数加密了,密码加密,那么我们就
来开始确定加密函数入口,然后拿到我们需要加密的数据,看下加密前,这些数据有没有
进行一些替换、加密等操作。
方法一:我们来到Search窗口,在下面编辑框输入我们需要定位字符串 password,敲回车
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c364ebf87ba62037a7190000db11cd319
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cc1a50a2c05798e63b1ca90ef3fe78d8c
搜索出来的结果,不多,但是有值得我们去研究的,我们先双击以一个结果,在调试
器里面确定数据
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cc3b81e04cc78c7213738523e070790c7
然后我们点击“{}”这个标志,进行数据格式化,然后我们在521行点击,下断
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c55a2b8b0e78312336f2f4af27f7f5bad
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c10fef5f46665e75da64d6c4e7dfce8ca
下断完毕后,我们可以看出来,这里是把我们页面的密码编辑框里面的文本取出来,保存
到pwd这个变量里面,这时候,我们双击选中这个变量,然后上下滑动滚轮,扫视那里调
用了这个变量。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c76a4b509603263d0d8887ad3a7715095
我们在554行看到了这个调用了一个calcMd5这样一个方法,把pwd作为参数传入,然后再
用pwd作为接收变量,接收结果。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c47d229e2c639e364344cdd92b5886fb4
通过对比,我们可以发现,这里计算完毕的pwd数据,就拿去拼接了,那么我们这里再来
输入假的数据,看下会不会断下来,会断下来,那就说明这里是调用了的。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c605bcc4a2f0fd5cfbb4aa58684b944b1
在521行断下,然后我们按下F10步过,发现pwd的值就是我们输入的明文密码,F8继续运
行,来到下一个断点
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c76f60b3eb3bb107186a8add3e84c4821
在这里,我们鼠标移动到pwd变量上面,然后我们就可以看到当前pwd变量的值,看到了
值,然后我们再点一下步过(F10),然后再来看pwd的值。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c3566b99fbc18646da86145fc6defd413
Pwd变成了323B453885F5181F这个值和我们抓包的数据是一样的
password=323B453885F5181F
那么我们就找对了地方了,现在我们就可以确定 calcMD5 这个函数就是加密的函数,他把
我们的明文密码传入进去后,然后再传了出来。
这就是简单的通过参数名进行定位数据。
原理就是,网站进行提交数据,那么肯定会拼接参数,那么就通过参数名去确定加密函数
然后第二种定位数据的方法是:通过编辑框属性定位
我们来到密码编辑框
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c2d2908b90ab15d0ba92863b912fcc1fd
在密码编辑框里面,右键审查元素
通过这里我们可以得到这个编辑框的一些属性。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c696be67fa1e5c20e1e58b46bb9181a9a
看他的id是 siteLoginPassWord
我们复制下来,去Search里面搜索。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c0fbc291860b41b3d0bb9cc724f99f396
然后我们看有$('#siteLoginPassWord').val() $的意思是当前整个html对象,然后#是对象id
.val这个属性是 值 的意思,拼接起来就是获取当前兑现的XXid的值,所以就是我们需要的
获取了密码的地方
然后后面的操作同方法一
这个方法原理是:要加密肯定有获取明文密码的地方,我们就去找到提取明文密码的地方
,然后再去确定加密函数。
方法三:通过url链接定位
访问的url是
http://www.my0832.com/user/checkUser.asp?action=login&uhidden=0&ValidateCodeG=
abcd&loginfield=uname&username=123456&password=323B453885F5181F&setcookie=0&ra
n=0.06586469533794981
首先分析下,这里的action=login肯定就是操作的标识了,那么我们就去搜索它,得到
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cc15ed45af5331b8d9b7ebf4246e3a002
然后双击第一个结果,就来到了
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c6d35b096cfdcd02c2a351ae656aaad2f
然后我们可以看到,我们需要寻找的password这个参数的值是通过pwd这个变量来赋值的
,那么我们就双击pwd
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cd0312a62118b37a311d6d61f2b262bf7
我们可以看到就在他的上一行就是pwd最新最近的来源了。
剩下的就是下断,调试了。
这个方法原理是利用了数据提交的时候对于数据的拼接。
目前主流常用的就是这三种方法,下一章我们会简单讲解下加密算法的提取和修改。
沙发~支持楼主,正在需要呢 楼主讲的真好 厉害了,正哥{:4_91:}
页:
[1]