Web安全--文件上传漏洞--通用漏洞--PHP

本文深入探讨了PHP环境下的文件上传漏洞,包括前端验证、黑白名单、.user.ini文件利用、PHP语言特性等。同时,介绍了如何通过二次渲染绕过防御措施,涉及短标签、免杀后门等内容,结合CTF挑战案例,揭示了攻击者的常见策略和防御策略。
摘要由CSDN通过智能技术生成

知识点:

1.文件上传--前端验证(如果是纯前端验证,那么我们可以直接检查元素修改代码即可绕过上传)

2.文件上传-黑白名单(意思就是网站设立黑白名单,允许上传什么类型文件等)

3.文件上传-.user.ini的妙用

4.文件上传-PHP语言特性

本文分享全部基于PHP的语言

详细点:

1.检测层面:前端,后端等

2.检测内容:文件头,完成性,二次渲染等

3.检测后缀:黑名单,白名单、MIME检测等

4.绕过技巧:多后缀解析,截断,中间件特性,条件竞争等

前置知识点:这里给大家说明一个问题,因为我在学的时候也思考很久。假如我们上传后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外),如:我们上传后门文件格式为jpg,图片里边有后门代码,不能被触发,所以连接不上后门。

案例演示:CTFSHOW--文件上传

151:改关卡为纯前端验证,查看源代码允许上传png格式,我们直接修改为PHP后,直接上传php后门代码成功。

152:同上操作后提示文件类型不合规,我们简单抓包发现MIME检测,直接修改Content-Type: image/png,成功上传。

153:js验证+.user.ini

.user.ini不过多介绍自行百度,我们上传.user.ini文件,内容为auto_prepend_file=test.png,这句话什么意思呢?说白了这是将test.png当作代码执行,正如前期所说直接上传png图片后门是不会执行的,但是这里我们用到.user.ini后就能将图片后门当作代码执行。

154-155:js验证+.user.ini+短标签

我们知道php代码都有<?php?>这样的格式,那么不加标签要怎么运行php呢(因为过滤的php关键字段,我们不能写完整的代码,就得用到短标签绕过)

<?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值