1.直接上传
通过直接上传一句话木马获取webshell。
2.数据库备份webshell
网站进制上传可执行文件,此时我们可以上传正常的图片马,然后通过数据库备份功能修改备份后的文件名,使得图片马能够成功解析执行。有时候数据库备份功能对备份的地址做了前端的限制,只需修改前端源码,成功绕过。
3.突破本地js验证webshell
若网站对上传只做了前端限制,可以通过修改前端代码或者删除检测代码,还可以通过抓包改包成功上传一句话木马。
4.上传其他脚本webshell
有时候一台服务器上由于搭建了不同脚本的几个网站,导致服务可同时执行多种脚本,此时我们可以尝试上传其他脚本来绕过对某一脚本的限制。
5.00截断webshell
00截断是利用服务器对%00后面的字符不再识别,导致攻击者可构造%00之前的后缀名为可执行文件,成功绕过白名单限制。
6.解析漏洞webshell
利用不同服务器存在的解析漏洞成功绕过后缀名限制上传。如IIS、apache、nginx等
7.利用编辑器漏洞webshell
有些网站在编辑界面应用了存在已知漏洞的编辑器,可利用漏洞直接getshell,或者配合解析漏洞上传木马getshell。如fckeditor、ewebeditor、cheditor等
8.网站配置插马webshell
一些网站在后台存在网站配置,比如配置网站首页公司名称等信息,此处可直接插入一句话木马。配置界面插马要非常小心,最好下载源码,分析源码闭合代码插入一句话,防止网站被插废。
9.通过编辑模板webshell
通过对网站的模板编辑写入一句换,利用解析漏洞生成脚本getshell
还可以将一句换木马打包为压缩文件,上传后解压到网站成功getshell
10.修改脚本文件直接getshell
有的网站管理员可以修改脚本,攻击者可在脚本中插入一句话木马成功gets hell
11.数据库命令执行webshell
有的网站管理员可直接在前端执行sql语句,此时我们可以通过创建数据库写入一句话,再将一句话导出到网站根目录,连接getshell
12.文件包含webshell
当防火墙对可执行脚本过滤比较严格时,可以通过文件包含的方式绕过。首先上传一张图片马(后缀为jpg/png等网站允许上传的格式),然后上传包含可执行文件,将上传的文件包含进去。
PHP:<?php include( "xxx.jpg");?>
asp:<!--#include file="xxx.jpg"-->
13.命令执行webshell
网站存在可执行命令的地方可直接用echo函数写入一句。
14.sql注入webshell
存在sql注入的网站,如果有足够的权限并且可以得到绝对路径,我们就可以直接使用select into......outfile函数直接写入一句话到网站根目录。