适合新手的小站第三期----中国游戏服务网登录
前言
我计划出一系列适合新手朋友练习的小站教程,同时也是记录自己的学习过程,不断的寻找这些网站,来提高自己,巩固基础,一起努力加油!
网址:https://passport.5173.com/
一、抓包,分析包数据
这个网站的文件很多很乱,在抓登录包的时候,不太好找。在这里教大家几个比较高效的方法。1、文件名包含login字样的包文件。2、忽略所有的媒体文件例如jpg、gif、png那些。3、忽略所有的库文件,例如jQuery、layer等。3、忽略所有的css样式文件。4、剩下的文件找发包方式是post的(有的也是get请求的)结合下面的发包数据参数,即可判断是不是关键的发包地址。
二、搜索定位法,快速找到关键的发包位置
通过搜索,发现搜索出了好多个文件,而且显得特别杂乱,很容易混淆视听,影响我们的判断。但是如果细心观察,可以看到一个方法 getPassword,翻译过来这不就是获取密码吗,好像有点思路了。点击这一行快速定位过去。
1、在当前行打断点。2、重新输入账号密码点击登录发包。3、断点成功断到当前位置,点击getPassword方法,进去观察分析。
箭头位置表示的就是断点成功断了下来,可以进行调试代码了。
三、扣出加密代码,构造加密方法
我们通过断点进入该方法时,一下就能看到加密的方法是什么了,MD5加密,但是不是纯粹的md5加密,他还做了一点小动作。
c = hex_md5(hex_md5(c).substr(8, 16) + a);
现在我们的目标就非常明确了,扣出hex_md5的方法,传入密码c,然后知道a是个啥就OK了。
1、在返回行打上断点。2、点击图示按钮,运行到下一个断点的位置。断点就在104行断了下来。
选中该方法进入里面,复制全部代码到新的脚本文件里,或者调试工具里,现在我们要知道a是如何获取的。
三、分析a的值(注:此步骤进坑里了,不想看分析过程的直接拉到最后即可。)
我们可以看到a的值是lrg079,首先我们要思考a的值是不是固定的。
1、点击图示按钮,该按钮是放行所有断点,意思就是所有的当前断点都失效不起作用。2、点击图示按钮,运行到下一个断点,但是断点都失效了,所以就是将当前正在断点的程序运行结束。这种方法是非常常用的。比如想重新执行登录的功能而断点下的又太多了,然后就得这么操作。运行完成后需要重新点击一下1位置的按钮,再让所有断点生效。以便下次的调试。3、重新输入登录。4、此时就看到断点又生效了。
而且我们可以看到a的值是变化的,不是固定的,那么我们需要分析a是怎么算出来的
submitHandler: function() {
var a = b.fost.security.FostTpm
, c = a.getDna