Lucene search

K
seebugRootSSV:95292
HistoryNov 01, 2014 - 12:00 a.m.

大米CMS多处XSS盲打后台

2014-11-0100:00:00
Root
www.seebug.org
19

简要描述:

大米CMS多处XSS盲打后台

详细说明:

大米CMS多处XSS可以盲打后台,大米CMS后台的SQL注入一大堆,只要进了后台获取数据不成问题
第一处
文件/Web/Lib/Action/GuestbookAction.class.php

public function update()
	{
	//输出gb2312码,ajax默认转的是utf-8
		header("Content-type: text/html; charset=utf-8");
		if(!isset($_POST['author']) or !isset($_POST['content']))
		{
			alert('非法操作!',3);
		}
	//读取数据库和缓存
		$pl = M('guestbook');
		$config = F('basic','','./Web/Conf/');
	//相关判断
		if(Session::is_set('posttime'))
		{
			$temp = Session::get('posttime') + $config['postovertime'];
			if(time() < $temp)
			{
				echo "请不要连续发布!";
				exit;
			}
		}
	//准备工作
		if($config['bookoff'] == 0) $data['status'] = 0;
	//先解密js的escape
		$data['author'] = htmlspecialchars(unescape($_POST['author']));
		$data['content'] = htmlspecialchars(trim(unescape($_POST['content'])));
		$data['title'] = htmlspecialchars(trim(unescape($_POST['title'])));
		$data['tel'] = htmlspecialchars(trim(unescape($_POST['tel'])));
		$data['ip'] = get_client_ip();
		$data['addtime'] = date('Y-m-d H:i:s');
	//处理数据
		if($pl->add($data))
		{
			Session::set('posttime', time());
			if($config['bookoff'] == 0)
			{
				echo '发布成功,留言需要管理员审核!';
				exit;
			}
			else
			{
				echo '发布成功!';
				exit;
			}
		}
		else
		{
			echo '发布失败!';
			exit;
		}
	}

这里$data[‘ip’] = get_client_ip();
但是get_client_ip是没有处理任何XSS内容的
发表文章时X-Forwarded_For可设置XSS payload,发表留言后,直接进入数据库,然后等管理员审核
第二处
文件/Web/Lib/Action/IndexAction.class.php

public function doreglink()
	{
		header("Content-type: text/html; charset=utf-8");
		$data['title'] = $_POST['Title'];
		$data['url'] = $_POST['LinkUrl'];
		$data['logo'] = $_POST['LogoUrl'];
		$data['status'] = 0;
		$data['rank'] = 10;
		$link = M('link');
		if($link->add($data))
		{
			echo "<br /><br /><br /><font color="red">添加成功,等待审核!请在贵站加上本站链接。</font>";
		}
		else
		{
			echo "<br /><br /><br /><font color="red">添加失败,请联系管理员!</font>";
		}
	}

这里的三个参数都没有过滤XSS
申请链接后,等管理员审核

漏洞证明:

第一处发送留言时:

X-Forwarded_For="&gt;&lt;img/src=1 onerror=alert(1)&gt;

<img src=“https://images.seebug.org/upload/201410/311858015144196ee677f657bd1bb1cc3a1b1652.png” alt=“dami4.png” width=“600”>

第二处:

<img src=“https://images.seebug.org/upload/201410/31185815a72c13c917991533b195131c55de716c.png” alt=“dami5.png” width=“600”>

<img src=“https://images.seebug.org/upload/201410/311858232afdd15bea595da368c7d32c40a5c37a.png” alt=“dami6.png” width=“600”>