WEB安全基础 - - -文件上传
目录
一,文件上传简介
将客户端数据以文件形式封装,通过网络协议发送到服务器端。在服务器端解析数据,最终在服务端硬 盘上作为真实的文件保存。
通常一个文件以 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
相关文章
- Node Express使用Multer中间件实现文件上传
- Java文件上传功能代码 —— 普遍适用
- SmartUpload文件上传
- WEB安全基础 - - -文件上传(文件上传绕过)
- 01-单节点文件上传存在的问题
- curl 模拟 GETPOST 请求,以及 curl post 上传文件「建议收藏」
- Python-时间及日期-08-文件修改时间
- js文件分片上传
- CTF 解题记录-文件上传基础
- JSP 上传文件详解编程语言
- 使用commons-fileupload实现文件上传详解编程语言
- Linux线程操作:处理文件的最佳方案(linux线程文件)
- 服务器【Xshell快速传输文件到Linux服务器】(xshell上传文件到linux)
- 文件Linux下打开PDF文件的方法(linux如何打开pdf)
- 安装Linux:简单的.Pak文件方式(linuxpak文件)
- Linux文件计数:一步一步操作步骤(linux文件计数)
- 解析MySQL中的.idb文件:存储引擎的秘密(.idbmysql)
- Linux: 文件合并方便利用命令行实现(linux文件合并命令)
- Linux局域网中文件实现快速传输(linux局域网传输文件)
- 权限使用bat文件配置MySQL权限(.bat怎么加mysql)
- MySQL实现可靠的图片和文件上传操作(mysql上传图片和文件)
- MySQL上传CSV文件时出现错误(mysql上传csv出错)
- 用FSO获得图片文件的信息(大小,宽,高)
- asp.net下实现支持文件分块多点异步上传的WebServices
- ruby使用restclient上传服务器本地文件示例
- 上传文件返回的json数据会被提示下载问题解决方案