MetInfo企业网站管理系统:采用PHP+Mysql架构,全站内置了SEO搜索引擎优化机制,支持用户自定义界面语言(全球各种语言),拥有企业网站常用的模块功能(企业简介模块、新闻模块、产品模块、下载模块、图片模块、招聘模块、在线留言、反馈系统、在线交流、友情链接、网站地图、会员与权限管理)。强大灵活的后台管理功能、静态页面生成功能、个性化模块添加功能、不同栏目自定义FLASH样式功能等可为企业打造出大气漂亮且具有营销力的精品网站。
这套程序之前爆出来一个远程执行代码的漏洞之后,就没什么人去挖掘了。整套程序还是很多人用的,下图是查出来的结果涛涛电脑知识网
整个对这套cms审计花了我几天的时间,下面一一道来。
0x02 注入一
此次代码审计是官网最新版
在message/access.php中13行
大家应该看到了,这个$id是没过滤的,这里的$id是怎么来的呢?请看include/common.inc.php中
这个daddslashes()这个函数在global.func.php中
其实对传进来的值进行转义
所以这里可以无视了…
注入如下图所示
次漏洞影响2.0以上所有版本,在3.0中加入了一个防注入函数,但是可以绕过注入的
0x03 注入二
在about/show.php中8行
这里明显的也一样,但是这里是盲注,看看之后的? 这里的$show如果不存在或者是$show数组中isshow不存在就返回到错误页面,所以这是一个盲注了
注入结果如图
同样是可以获取我们的信息的…如果是手工来判断就很累了…
0x04 注入三
在member/feedback.php中的16行
这里的$serch_sql中的变量$met_fd_class是可控的
我们跟踪一下$serch_sql这个变量
在26行我们发现
执行了。所以同样存在上面的问题了
但是这里的前提是要登录状态,因为他验证了权限的问题
在feedback.php开头就包含了权限验证的
所以这里的注入必须是你注册一个用户,然后登录进行注入,注入结果如图
给出注入语句吧,首先必须闭合前面的)号,然后注释掉后面的语句
Exp:
/member/feedback.php?&met_fd_classname=1&met_fd_class=99999)union select 1,2,3,4,5,user(),7,8,9,10-- a
0x05 注入四
这里是个鸡肋注入了..
既然是危险还是爆出来吧
在job/save.php 的73行,存在insert注入
这里的$jobid,是可控的,怎么可控不可控我就不说了,自己测试吧
为什么说它鸡肋呢? 一,这是一个insert语句,如果我们将jobid,后面的参数加进去,然后再注释掉组后的,如我们将$id = (select password from admin where id=1)#这样的语句插进去呢? 事实,是可以成功的,但是成功插入管理员的md5,但是得读出来吧,组后发现该met_cv这个表唯一读出来的就是时间,但是时间这个字段又不能插.所以直接插就没办法了,所以这里还是鸡肋的。
0x06 注入五
在member/cv_editor.php中的53行存在一个update注入
同样的问题了,我就不扯淡了
鸡肋
0x07 注入六
在member/fdeditor.php中的109行