网站地图    收藏   

主页 > 后端 > 网站安全 >

猪八戒任意用户密码重置 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 10:15 作者: 阅读:

[导读] 登陆时,点忘记密码来到密码找回页面...https://login.zhubajie.com/retrieve/index.html?mode=1选择邮箱或者手机号找回,这里拿手机号测试先...点下一步,系统会发送一个6位数字验证码到用户手机...

登陆时,点忘记密码来到密码找回页面...
 
https://login.zhubajie.com/retrieve/index.html?mode=1
选择邮箱或者手机号找回,这里拿手机号测试先...
点下一步,系统会发送一个6位数字验证码到用户手机,这里随便填一个,并且抓包...
 
 
对ticket参数进行暴力破解,得到真实验证码输入即可重置密码...
 
其中可能出现的问题:
如果严重码破解出来了但又超过了验证码有效时间(10分钟)可以用下面的缺陷重置密码..
 
破解验证码时候对比数据返回包可以发现问题,如下:
失败验证码返回数据:
 
HTTP/1.1 200 OK
Server: zws
Date: Thu, 25 Jul 2013 13:35:28 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 57

{"state":-1,"msg":"\u9519\u8bef\u7684\u9a8c\u8bc1\u7801"}

 

 
 
 
成功验证码返回数据:
 
HTTP/1.1 200 OK
Server: zws
Date: Thu, 25 Jul 2013 13:35:28 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 76

{"state":1,"url":"\/retrieve\/setpass_mode_1_vid_2****2_ticket_04***8_w_1"}

 

其中*号为打码部分
 
从数据中发现"url":"\/retrieve\/setpass_mode_1_vid_2****2_ticket_04***8_w_1"
 
组合url:
https://login.zhubajie.com/+
retrieve/setpass_mode_1_vid_2****2_ticket_04***8_w_1
 
 
 
访问即可重置密码...
 
 

修复方案:

你们懂吧

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论