CTF从入门到提升(十)文件上传

本文探讨了CTF中文件上传的安全性,重点介绍了服务端的白名单校验和文件内容头校验。白名单校验虽然较难突破,但结合Apache等中间件的解析漏洞可能构成威胁。内容头校验利用如getimagesize等函数检查文件类型,但伪造文件头可实现绕过。此外,还提到了竞争上传的逻辑错误及其利用方式。
摘要由CSDN通过智能技术生成
  • ​​服务端校验——白名单

白名单和上一节讲的黑名单的区别在哪里?黑名单是未经许可非法用户禁止入内,我禁止某些人入内,大部分人是可以进去的。白名单是未经允许禁止入内,只有允许的人才能进入,对应的文件上传就是只有合法文件才能上传。解析的时候我们为什么要文件合法?因为中间件能够解析,只允许不能被解释的文件且只符合当前业务的文件才能够上传。比如头像png、jpg、gif,不需要其他的文件名,做好限制极大地杜绝安全问题。

从规则上来讲白名单是比较难突破的,除非类似%00截断,而且这种截断也要看具体代码逻辑才能够实现,从代码层面去做突破略难。简单的题目有配合Apache的解析漏洞以及其他漏洞。像多层压缩包嵌套、或者本身有缺陷产生的文件上传问题等等后面都会分享,本次内容为配合Apache的解析缺陷。

在这里插入图片描述

我使用的环境一般是放在Linux下Apache用的比较多,包括nginx 和 IIS 都存在这种解析漏洞的。所以白名单突破需要配合的就是中间件的缺陷。

具体环境操作如下:
在这里插入图片描述

上传.php禁用js,非法文件禁止上传。开启bp那么去传一个 jpg文件,
在这里插入图片描述<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值