zl程序教程

您现在的位置是:首页 >  其他

当前栏目

WEB安全基础 - - -文件上传

2023-06-13 09:13:10 时间

目录

一,文件上传简介

 二,文件上传漏洞简介

三,文件上传漏洞出现的原因

四,Webshell简介

五,Webshell基本原理

六,Webshell管理工具  

中国菜刀

蚁剑-AntSword

 冰蝎-Behinder

哥斯拉-Godzilla

一,文件上传简介

将客户端数据以文件形式封装,通过网络协议发送到服务器端。在服务器端解析数据,最终在服务端硬 盘上作为真实的文件保存。

通常一个文件以 HTTP 协议进行上传时,将以 POST 请求发送至 Web 服务器, Web 服务器收到请求并同意 后,用户与Web 服务器将建立连接,并传输数据。

 二,文件上传漏洞简介

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是Web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。

三,文件上传漏洞出现的原因

1. 服务器配置不当

2. 文件上传限制被绕过

3. 开源编辑器的上传漏洞

4. 文件解析漏洞导致文件执行

5. 过滤不严或被绕过

四,Webshell简介

WebShell 就是以 ASP 、 PHP 、 JSP 或者 CGI 等网页文件形式存在的一种命令执行环境,也可以将其称之为 一种网页后门。攻击者在入侵了一个网站后,通常会将这些asp 或 php 后门文件与网站服务器 web 目录下 正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站 服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)

常用Webshell: php 一句话木马: <?php @eval($_POST[value]);?> asp 一句话木马: <%eval request("value")%> aspx 一句话木马: <%@ Page Language="Jscript"%><%eval(Request.Item["value"])%>

五,Webshell基本原理

以一句话木马为例

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

php的代码要写在 <?php ?> 里面,服务器才能认出来这是php代码,然后才去解析。

@ 符号的意思是不报错,因为变量没有定义而被使用,服务器会提醒XXX变量未定义。

$_POST['cmd'];

六,Webshell管理工具

中国菜刀

中国菜刀: https://github.com/raddyfiy/caidao-official-version

蚁剑-AntSword

安装 1. 下载 AntSword - Loader https://github.com/AntSwordProject/AntSword-Loader/releases 2. 下载 antSword https://github.com/AntSwordProject/antSword/releases 3. 解压并进入 AntSword - Loader 目录,新建 work 目录,解压 antSword 到 work 目录

冰蝎-Behinder

安装 Behinder : https://github.com/rebeyond/Behinder/releases

哥斯拉-Godzilla

安装 Godzilla : https://github.com/BeichenDream/Godzilla/releases