观察登录流程
无图形验证码的情况
- 输入手机号
- 点击发送短信验证码
- 提交短信验证码
有图形验证码的情况
- 输入手机号
- 获取图形验证码
- 提交图形验证码
- 提交短信验证码
抓包分析
没有图形验证码的情况
- 首先打开饿了么
- 委屈一下这位大哥接收一下验证码,一共三个包

登录界面,要打开开发者工具中模拟手机的功能

很明显第一个是用来发送验证码的

POST 的内容只有手机号,其他键的值为空是因为这次不需要图形验证码
- 接下来要提交验证码,只好用自己的手机号了。

又是很明显,login_by_mobile 这个包是用来登录的
- 分析 POST 数据的时候遇到问题

validate_token 是什么?
-
找到 Response,原来 validate_token 直接通过明文形式发过来了
validate_token 出处
-
代码
有图形验证码的情况
-
账号有问题,比如重复登录多次的时候需要输入图形验证码
mobile_send_code 的状态码是 400,并且有另外一个包,通过名字可以判断出来就是验证码

请求验证码的包

返回一个有两个键的 json
-
输入验证码
只有一个 mobile_send_code 包

postdata 还是一样的 json,只是多了两个值。hash 在上上个图已经见过,value 就是验证码
-
代码


最后获取登录 cookies





