IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 文件上传漏洞(总结) -> 正文阅读

[PHP知识库]文件上传漏洞(总结)

文件上传漏洞是什么

文件上传必须满足的条件

文件上传漏洞的危害

文件上传的种类

无验证

前端验证

.htaccess

文件头检查

MiMe绕过

双写后缀


文件上传漏洞是什么

指的是用户上传了一个可以执行的脚本,运行此脚本后获得执行服务器端命令的权限,一般用作与于在上传图片或者文件处,用户通过一些手段绕过检测机制,从而上传恶意代码并且执行

文件上传必须满足的条件

1.可以上传该文件

2.上传的路径可以知道并且可以访问

3.可执行该上传的文件

文件上传漏洞的危害

文件上传相对于SQL注入危害更大。

SQL注入利用没有对SQL命令插入到URL或请求查询字符串进行一个严格的过滤的原理,最终欺骗服务器执行SQL命令,窃取数据,从而脱库洗库。如果 Web应用程序存在上传漏洞,也没有对上传的文件进行严格过滤,服务器解释并执行了用户上传的脚本,导致代码执行

通过这个文件的上传攻击者可以植入webshell,可能进行一系列钓鱼,木马等等

文件上传的种类


无验证

原理:未对文件前端,后缀,头文件等等进行任何检测,直接上传一句话木马

<?php @eval($_REQUEST['password']);?>

上传之后用蚁剑连接

?

得到flag


前端验证

只允许上传.jpg/.png/.gif后缀的文件

这里在前端会直接对后缀进行验证,只允许后缀为.jpg/.png/.gif的文件上传,我们先把文件名改为1.gif,然后上传的时候进行抓包,然后改包为.php后缀,再重放

进行抓包,然后重放

重放成功后,用蚁剑连接,得到flag?


.htaccess

全称Hypertext Access(超文本入口),通过.htaccess文件,可以帮我们实现用户重定向、自定义错误页面、更改扩展名、以及使用其他文件作为index文件等等,如果一个web应用允许上传.htaccess文件,那就意味着,攻击者可以利用这个漏洞进行更改Apache的配置

首先上传一个.htaccess文件

上传这个文件

上传成功,然后再上传一个一句话木马【注意:这里的一句话木马没有后缀,重命名为ganyu,ganyu是随便写的,取决于.htaccess文件的第一句话里的内容】

上传成功,用蚁剑连接,拿flag


文件头检查

文件头、文件头检测是什么?文件头就是描述一个文件的一些重要的属性,它告诉了打开并运行该文件的程序这个文件的文件类型是什么,文件头检测是指当浏览器上传到服务器的时候,白名单会进行的文件头检测,符合的话允许上传,否则不允许上传。

这里我们用GIF8(GIF89a也可以)做示例

在1.txt文档内,在一句话木马前添加一句GIF8

?

然后,将文件后缀更改为.jpg后缀

上传,抓包后,更改后缀为1.php,重放,蚁剑连接得到flag?

上传,抓包后,更改后缀为1.php,重放,蚁剑连接得到flag

类似GIF8的还有

File

Type

ExtensionsHeader

JPEG

Jpg/jpeg

0xFFD8FF

PNG

png

0x89504E470D0A1A0A

GIF

gif

GIF89a

TIFF

Tif/tiff

0x49492A00


MiMe绕过

MiMe是什么:MIME由一串简单的字符串组成,初期标识了邮件e-mail的附件的类型,后来在html文件中可以使用content-type属性表示,描述了这个文件类型的。

MiMe常见的格式

audio/wav

wave音频流媒体文件

audio/webm

webm音频文件格式

audio/ogg

ogg多媒体文件格式的音频文件

audio/mpeg

mpeg多媒体文件格式的音频文件

image/gif

gif图片

image/jpeg

jpeg图片

image/png

png图片

image/svg+xml

svg矢量图片

application/json

json格式

当我们上传一个1.php文件的时候,content-type会自动将我们这个文件类型标识为php,从而与上传机制不符阻止了上传

我们在这里进行抓包,将属性改为允许上传的格式,如image/gif、image/png等等,再重放

上传成功,用蚁剑连接,得到flag


双写后缀

这里我们发现如果上传1.php的话会直接把php删除,如果我们上传一个以.pphp结尾的文件呢?

只过滤了php,而没有过滤p,利用这个漏洞,我们编写一个后缀为为pphphp的文件

上传成功,其实这里上传的后缀有很多种,比如1.pphpphphp、1.Pphphp等等,我们现在用蚁剑连接,就得到flag

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:18:04  更:2021-08-01 14:18:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 18:17:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码