一、理论知识
1、如果网页有跳转,必须勾选preserve log选项,防止丢包
2、用火狐也抓一下包,看一下哪些参数是固定的。
3、看一下有没有框架 右键查看框架源代码 ?
4、登录 尽量用错误的密码 防止跳转
5、看关键登录包 分析哪些参数是固定的
6、初步猜测加密方式
7、搜索
(1)直接搜索参数
pwd=
pwd =
pwd:
pwd :
(2)查看密码框的id 和 name
8、找到加密的地方,下断点调试
二、实战部分
1、首先是找到登录关键包,分析需要加密的参数
image.pngimage.png
| appid | 1014 |固定
| autologin | true |固定
| callback | kgLoginPostHandle |固定
| clienttime | 1537322503 |
| code | |
| expire_day | 30 |
| kguser_jv | 180829 |固定
| login_ver | 1 |
| mid | 2c550e9d0b1a889b02d0c151eba49f08 | 上一个包返回的参数
| mobile | |
| mobile_code | |
| pwd | 75be40688a0c24836a637e4b40577b40 |
| redirect_uri | http://static.kugou.com/common/html/login/regok.html |固定
| state | 1 |固定
| ticket | |
| username | 13539935711 |
2、搜索加密的参数pwd,找到加密的地方,下断点调试(用谷歌浏览器)
image.pngimage.png
image.png
3、扣出加密的代码,用调试工具进行调试
image.png4、用火狐分析登录包 需要cookie、验证码等其他信息,找到提交地址,参数等
image.png(1)、验证码地址获取--可能是滑块。
url GET https://login-user.kugou.com/v1/check/?appid=1014&username=13539935711&t=1537322500&mid=2c550e9d0b1a889b02d0c151eba49f08&kguser_jv=180829
mid js生成并设置到cookie中
(2)、登录包,cookie、账号密码、验证码等其他参数。
(3)、手机验证码发送包
(4)、手机验证码登录包
5、书写代码,界面布置, 子程序书写及调用。
(1)、子程序-getVerifyCode
image.png(2)、子程序-login
image.png(3)、子程序-send_sms
image.png(2)、子程序-loginbyverify
image.png(4)、界面: 3个编辑框、4个标签、1个图片框(没用到验证码),一个登录按钮,一个手机验证码提交按钮
(5) cookie 程序集变量 窗口_创建获取 mid通过JS生成并加密
image.png(6)、账号编辑框失去焦点验证getVerifyCode() ,登录按钮点击 调用login,并对返回值做出判断
image.png(7)、手机验证码登录
image.png总结:
1、滑块相关验证未完成(后期需要完成)
网友评论