查看: 60792|回复: 20

XDCMS企业管理系统SQL注入#1

[复制链接]
  • TA的每日心情

    2020-12-4 20:42
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2014-1-12 17:55:56 | 显示全部楼层 |阅读模式
    本帖最后由 土豆 于 2014-1-12 17:57 编辑

    简要描述:

    最新版XDCMS企业管理系统,由于过滤不严,可绕过限制,导致多处SQL注入


    注入在XDCMS企业管理系统的注册功能处,来看看\system\modules\member\index.php文件:

    注册时会调用register_save,问题就出在index.php的register_save函数处:

    [PHP] 纯文本查看 复制代码
    public function register_save(){
    
    		$username=safe_html($_POST['username']);//获取UserName,这里用safe_html函数进行过滤
    
    		$password=$_POST['password'];
    
    		$password2=$_POST['password2'];
    
    		$fields=$_POST['fields'];
    
    		if(empty($username)||empty($password2)||empty($password)){
    
    			showmsg(C('material_not_complete'),'-1');
    
    		}
    
    		if(!strlength($username,5)){
    
    			showmsg(C('username').C('str_len_error').'5','-1');
    
    		}
    
    		if(!strlength($password,5)){
    
    			showmsg(C('password').C('str_len_error').'5','-1');
    
    		}
    
    		if($password!=$password2){
    
    			showmsg(C('password_different'),'-1');
    
    		}
    
    		$password=md5(md5($password));
    
    		
    
    		$user_num=$this->mysql->num_rows("select * from ".DB_PRE."member where `username`='$username'");//判断会员是否存在,这里的UserName可被绕过过滤,导致注入,这是第一处SQL注入
    
    		if($user_num>0){
    
    			showmsg(C('member_exist'),'-1');
    
    		}
    
    		$ip=safe_replace(safe_html(getip()));
    
    		$this->mysql->db_insert('member',"`username`='".$username."',`password`='".$password."',`creat_time`='".datetime()."',`last_ip`='".$ip."',`is_lock`='0',`logins`='0',`groupid`='1'");//插入主要字段——用户名、密码,这里的UserName同意造成注入,第二处sql注入
    
    		$last_id=$this->mysql->insert_id();
    
    		
    
    		//插入附属字段
    
    		$field_sql='';
    
    		foreach($fields as $k=>$v){
    
    			$f_value=$v;
    
    			if(is_array($v)){
    
    				$f_value=implode(',',$v);
    
    			}
    
    			$field_sql.=",`{$k}`='{$f_value}'";//这里没有过滤,直接进入了下面的update sql语句,导致第三处sql注入
    
    		}
    
    		$field_sql=substr($field_sql,1);
    
    		$field_sql="update ".DB_PRE."member set {$field_sql} where userid={$last_id}";
    
    		$query=$this->mysql->query($field_sql);
    
    		
    
    		showmsg(C('register_success'),'index.php?m=member&f=register');
    
    	}
    


    第一处sql注入,注册一个用户,然后抓包:

    2.png

    3.png


    看回显,很明显存在注入。  试试撸主给出的EXP 。

    4.png

    直接爆账号密码。。

    因为在safe_html处虽然过了个SQL注入的敏感词,还过滤了=和*,但是没有考虑SQL注入敏感词的大小写,这里只过滤了小写,那么我们用大写绕过,这里过滤的=和*,我们可以使用不带*和=的常规保存SQL注入语句,EXP如下:

    EXP:
    游客,如果您要查看本帖隐藏内容请回复


    本文转载自:xfkxfk@乌云

    评分

    参与人数 1i币 +10 收起 理由
    蓝色_ + 10 感谢分享

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情

    2021-9-9 23:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-1-12 17:59:25 | 显示全部楼层
    沙发赞一个
    回复 支持 反对

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2014-1-12 18:04:48 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-9 18:10
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-1-12 18:06:05 | 显示全部楼层
    本帖最后由 Diana 于 2014-1-12 19:01 编辑

    楼主 竟然五杀了 超神了~{:soso__18403343281774895330_6:}
    回复 支持 反对

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2014-1-12 19:17:21 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-11-8 14:32
  • 签到天数: 140 天

    [LV.7]常住居民III

    发表于 2014-1-12 21:55:00 | 显示全部楼层
    大牛 谢谢了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-1-13 07:06:41 | 显示全部楼层
    神器经常隐藏了
    回复 支持 反对

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2014-1-13 09:55:52 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-8-10 19:40
  • 签到天数: 33 天

    [LV.5]常住居民I

    发表于 2014-1-13 10:39:08 | 显示全部楼层
    好东西,赞一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-12-23 23:18
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2014-1-13 20:00:35 | 显示全部楼层
    谢土豆大牛分享。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-21 21:20 , Processed in 0.032354 second(s), 14 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部