文件上传漏洞

文件上传

1.漏洞原理

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。

文件上传漏洞的两个必要条件

  1. 文件上传到服务器
  2. 文件被服务器解析执行

2.文件上传检测方式

一般一个文件上传过程中的检测方式有:
客户端JavaScript检测(检测文件扩展名)
服务端MIME类型检测(检测content-type内容)
服务端目录路径检测(检测跟path参数相关的内容)
服务端文件扩展名检测 (检测跟文件extension相关的内容)
服务端文件内容检测(检测内容是否合法是否含有恶意代码)

3.文件上传绕过

绕过客户端检测(JS绕过)

原理:通常在上传页面里含有专门检测文件上传的 JavaScript 代码,最常见的就是检测文件类型和扩展名是否合法。
方法:在本地浏览器客户端禁用 JS 即可;可使用火狐浏览器的 Noscript 插件、IE中禁用JS等方式实现,利用 burpsuite 可以绕过一切客户端检测。

绕过MIME类型检测

原理:检测文件上传过程中http包的 Content-Type 字段的值,来判断上传文件是否合法。
方法:用burpsuite截取并修改数据包中文件的 content-type 类型进行绕过。

绕黑名单的方法

大小写绕过(.PHp)

空格绕过 (.php )在后缀名后再加上空格

点绕过 (.php.)

配合Apache解析漏洞绕过

白名单绕过

%00绕过(.php终止符.jpg)

原理:白名单过滤肯定是从后往前读取后缀,所以读取到.jpg在白名单里就放通了。
在这里插入图片描述

0x00截断

其实就是post传参的00截断,因为post传参不走URL栏,所以就不用%00,而使用0x00

img

在这里先修改一下,然后进入hex页面

img

在hex页面对后缀再次修改,将a的十六进制修改为00

img

图片马绕过

利用cmd命令:copy 123.jpg/b + aaa.php 666.jpg 可以将aaa.php中的一句话木马写入123.jpg,生成一张长得一模一样的图片666.jpg,再配合解析漏洞就可以拿到shell

二次渲染

二次渲染就是会改变图片的一部分十六进制数值,所以图片马中的马最好写在第三四排,并且最好用.gif

img

4.文件上传漏洞总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5JxdcNXc-1660412646191)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220814013423940.png)]

5.文件上传漏洞防御

文件上传的目录设置为不可执行

判断文件类型

使用随机数改写文件名和文件路径

单独设置文件服务器的域名

webshell

webshell简介

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

一句话木马

php一句话木马: <?php @eval($_POST[value]);?>

asp一句话木马: <%eval request(“value”)%>

aspx一句话木马: <%@ Page Language=“Jscript”%><%eval(Request.Item[“value”])%>

webshell管理工具

蚁剑-AntSword(菜刀替代品)

冰蝎-Behinder

哥斯拉-Godzilla

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值