文件上传6-前端绕过/MIME类型/00截断(ctfhub)

一.题目链接:

https://www.ctfhub.com/#/skilltree

二.基础知识

2.1 什么是00截断

  • 1:%0,0x00,/00都属于00截断,利用的是服务器的解析漏洞(ASCII中0标识字符串结束),所以读取字符串到00就会停止,认为已经结束
  • 使用条件
      1.php版本小于5.3.4
      2.magic_qutes_gpc为off状态
  • 攻击场景
      上传php文件但是黑名单拦截(如禁止.php后缀)
      构造文件名:sehll.php%00.jpg,前端校验看到jpg放行,后端保存时遇到%00截断

2.2 什么是magic_quotes_gpc

  • 功能:当magic_quotes_gpc = on时,php会自动对以下字符添加\进行转义:
      ' --> \'
      " --> \"
      \0 或%00 --> \0
  • 目的:为了防止SQL注入,XSS等攻击,但设计不佳,已被弃用

三.开始解题

1.我们通过修改后缀名,发现不行,查看源代码,发现设置了黑名单

2.于是结合题目,是00截断,我们就把php后缀名后面再添加一个后缀名jpg,这里的php文件存放的是一句话木马

3.通过抓包修改,下面这两个地方,再点击放包,这次的url不会显示我们的文件


4.于是手动访问我们上传的文件

5.返回空白界面就是成功,再用蚁剑进行连接

posted @ 2025-04-17 16:02  sun010  阅读(434)  评论(0)    收藏  举报