文件上传题目练习

[HNCTF 2022 Week1]easy_upload

先尝试上传一个php文件,发现直接就成功了

用蚁剑测试连接成功

找到flag

[NISACTF 2022]bingdundun~

白名单上传

这里因为尝试了很多绕过方式都不成功,去搜索了一下wp,发现要用到Phar://伪协议

补充:

Phar://伪协议

用于将多个php文件、类、库、资源(如图像、样式表)等打包成一个单独的文件。这个归档文件可以像其他 PHP 文件一样被包含(include)或执行。

用法:把一句话木马压缩成zip格式,shell.php -> shell.zip,然后再上传到服务器(后续通过前端页面上传也没有问题,通常服务器不会限制上传 zip 文件),再访问:?filename=phar://…/shell.zip/shell.php

将一句话木马打成压缩包

直接上传得到路径

访问页面

尝试蚁剑连接,返回为空

查看源代码提示

查找发现可以在phar解压的zip压缩包后面加/来访问里面的文件,因为会自动补.php

构造payload

蚁剑测试连接成功

找到flag

[MoeCTF 2022]what are y0u uploading?

查看源代码,白名单绕过

题目提示mime绕过,双写绕过

发现需要修改filename

得到flag

[UUCTF 2022 新生赛]ez_upload

php文件不可以上传

补充:

Apache解析漏洞

因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准),可用来绕过黑名单过滤。

在重发器中发现上传成功

蚁剑测试连接成功

得到flag

相关推荐

  1. nestjs文件

    2024-06-06 23:30:03       66 阅读
  2. springMVC-文件

    2024-06-06 23:30:03       68 阅读
  3. 文件

    2024-06-06 23:30:03       58 阅读
  4. springboot 文件

    2024-06-06 23:30:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 23:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 23:30:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 23:30:03       82 阅读
  4. Python语言-面向对象

    2024-06-06 23:30:03       91 阅读

热门阅读

  1. php计模式之工厂模式详解

    2024-06-06 23:30:03       30 阅读
  2. mybatis执行自定义sql

    2024-06-06 23:30:03       35 阅读
  3. LightDB Pro*C SQLDA介绍

    2024-06-06 23:30:03       23 阅读
  4. Unity中的Surface Effector 2D组件

    2024-06-06 23:30:03       28 阅读
  5. 深度学习之指数移动平均模型(EMA)介绍

    2024-06-06 23:30:03       30 阅读
  6. 遥感图像的深度学习的任务类型

    2024-06-06 23:30:03       30 阅读
  7. 浏览器内置对象 window 用法集锦,看这篇就够了

    2024-06-06 23:30:03       31 阅读
  8. 【POSIX】消息类的格式与使用

    2024-06-06 23:30:03       30 阅读