文件上传漏洞思路总结

最近临近面试,刚刚复习完文件上传漏洞,就寻思写一篇博客总结一下思路。

目录

前言

构成文件上传漏洞的满足条件

常见的检测面

文件上传绕过检测思路

实际测试思路

前言

本文只是做一些总结性的内容,本文中提到的一些操作,均在我得另外两篇文章中有所提及,可以结合进行参考:

文件上传漏洞(全网最详细)_貌美不及玲珑心,贤妻扶我青云志的博客-CSDN博客

中间件解析漏洞总结_貌美不及玲珑心,贤妻扶我青云志的博客-CSDN博客

构成文件上传漏洞的满足条件

上传的后门文件,需要能被脚本语言解析执行。

  • 说明一:对方服务器运行的PHP环境,你不能上传一个JAVA的后门代码。
  • 说明二:你上传文件的目录可以被脚本语言解析执行,如果你上传的目录没有执行权限也不行
  • 说明三:一般文件上传后会返回你一个地址,如果无妨链接到也不能构成文件上传漏洞。

还有例外情况,非脚本文件也能被成功解析。比如:上传了一个图片🐎,如果对方中间件上存在一些漏洞的话,配合这些漏洞可以实现图片文件按照脚本文件解析。

常见的检测面

针对上传的校验,大概有以下几处:

  1. 前端js校验
  2. 数据包 content-type字段校验,即文件类型
  3. 文件后缀校验
  4. 文件上传路径校验,一般情况下我们很少能控制文件上传的路径
  5. 文件内容校验

文件上传绕过检测思路

前端js校验:直接修改前端代码

后端检测Content-Type:直接抓包修改为 image/png or image/jpg

后端校验后缀:nginx中间件就结合.user.ini文件   apache就配合.htaccess文件

文件内容校验:

        过滤关键字php:payload  <?=eval($_POST[x]);?>

        过滤关键字 []  :  []=={}

        过滤关键字 ;   payload:<?=system("操作系统命令")?>

        过滤关键字 () 使用反引号执行命令 paylaod:<?=`tac ../fl*`?>

        如果以上都被过滤了,就要考虑远程文件包含,还有条件竞争

其它别的:

服务器可能会对上传的图片进行二次渲染,我们需要对上传的图片实现进行处理,防止payload被处理掉

实际测试思路

首先,尝试上传脚本文件,并且尝试绕过,二分思想测试检测点

如果针对文件的的检测很完善的话,还有两条思路,目的使非脚本文件解析为脚本文件

  1. 看看中间件上是否存在一些解析漏洞,进行尝试
  2. nginx尝试.user.ini文件进行包含,apache的话尝试.htaccess尝试进行包含
  3. 尝试包含日志文件
  4. 尝试条件竞争

最近发生了一些事,有点放不下。有句话送给我自己,也送给大家

在年少时,大概都会因求而不得的事物而困惑一生,愿终将在未来某一日可以因一事一物而解开心结,治愈自己。

最后,创作不易,求各位路过大佬点个赞支持一下,谢谢!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值