查看: 62246|回复: 20

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

[复制链接]
发表于 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 感谢分享

查看全部评分

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

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

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-7 01:55 , Processed in 0.026973 second(s), 14 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部