/*
Freeiris2 -- An Opensource telephony project.
Copyright (C) 2005 - 2009, Sun bing.
Sun bing <hoowa.sun@gmail.com>
See http://www.freeiris.org for more information about
the Freeiris project.
This program is free software, distributed under the terms of
the GNU General Public License Version 2. See the LICENSE file
at the top of the source tree.
Freeiris2 -- 开源通信系统
本程序是自由软件,以GNU组织GPL协议第二版发布。关于授权协议内容
请查阅LICENSE文件。
Bug 维护人员 列表
Coco 老爸 -- QQ 124795026
*/
此补丁修复,在管理员登录页面利用SQL语法的漏洞绕过密码进行登录。
例如:
帐户:admin' OR ''='
密码:Hello
就能轻易的绕过Mysql的验证语法。
因为实际代码中用来验证的SQL就变为
SELECT * FROM admin WHERE adminid = 'admin' OR '' = '' AND passwd = '8b1a9953c4611296a827abf8c47804d7'
建议:更换管理员的用户名称,使用其他名称来代替admin[管理员]用户。
请收到此补丁的用户尽量传播,以避免同样的系统受到扰乱。
以下为文件的 diff 结果
85,86d84
< //修复可以利用输入用户为【admin' OR ''='】来扰乱SQL查询的安全漏洞 修复人员:Coco老爸
< $adminid = str_replace(' ', null, str_replace(' ', null, addslashes($_REQUEST['adminid'])));
89c87
< $rpcres = sendrequest($rpcpbx->base_clientlogin($adminid,md5($_REQUEST['passwd'])),1);
---
> $rpcres = sendrequest($rpcpbx->base_clientlogin($_REQUEST['adminid'],md5($_REQUEST['passwd'])),1);
补丁下载地址:http://pan.baidu.com/s/1qWC02te