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

文件上传漏洞详解

第一关

步骤一,打开第一关先点击浏览上传一个jpg格式的图片

8588e3ee6fa4425cbd4b15ac1bb19779.png

c45ff1d0f4e94c7cb8aad8bf660b30d1.png

步骤二,打开BP修改jpg为php然后放包

398fa26806094f8596f68af2c6901665.png

d461d21801314095ac6cb7a596dbc184.png

步骤三,右键打开图像

成功解析

b4e62cd90c9946798dfc1032e4e539ac.png

步骤四,打开蚁剑

bf842213d6a648fea46e87f34352cde8.png

48f2c3dd301e4958a553e66ea882c0d1.png

第一关还是蛮简单的

第二关

步骤一,打开第二关先点击浏览上传一个jpg格式的图片

12d596b7f00f415a8fe8d321091bcc5a.png

步骤二,打开BP修改jpg为php然后放包

步骤三,右键打开图像

步骤四,打开蚁剑

一二关步骤一样...

第三关

步骤一,我们尝试看看能不能上传1.php

我们获得提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!

6294ba9b7efa4f86b91c06e7fc002bc7.png

步骤二,我们尝试改一下文件名称后面加个数字1.php5

dc73fe39fb2d402db14065eed5c1c4d9.png

步骤三,右键打开图像

成功解析

fde99ca08b7446d1a90c000cfb491937.png

第四关

环境不行得需要在fofa找一个靶场

编写.htaccess文件,内容解释:将1.jpg文件解析成php文件
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php

</FilesMatch>

步骤一,上传.htaccess文件

3aebd7460b4b4599af14301a919458d3.png

步骤二,在上传一个1.jpg

dfa2782ac2be42789ef1344ede52b6d5.png

步骤三,右键打开图像

成功解析

be68177b6dbb44f7905f04bfd8ce68ab.png

第五关

文件包含操作
auto_prepend_file ="x.jpg"表示加载第一个PHP代码之前执行指示(包含的)文件

步骤一,上传.htaccess文件.user.ini文件内容

134d453b5f6c43fdbc7227e7123aaebd.png

步骤二,在上传一个1.jpg

a459ccd4174f40b8adddeb34bbbda697.png

步骤三,访问readme.php文件

eaf4299859b040b6bb8899cd164f960f.png

第六关

步骤一,使用大小写绕过

af2d1e481c474b59ab3c408548f42f27.png

步骤二,右键打开图像

成功解析

791a92351c0644278ff7c7fa2b77974a.png

第七关

步骤一,打开BP1.php后面加个空格

65c1531fd928424bbedeb40e439d8453.png

fd958450d1b94894a7589070e8d3f401.png

步骤二,右键打开图像

成功解析

8445dc7b7a414ca3b6855707d438a8ae.png

第八关

步骤一,打开BP在文件名称后面加个'.'

78c4625b688c4fdf8b42da7cb849ef1b.png

步骤二,右键打开图像

成功解析

6e324f9ddce24a76aa4edc53946ab62b.png

第九关

步骤一,打开BP在文件名称后面加个'::$DATA'

c11248642eed4ad682bcfe669017f7df.png

e5dbf70468a442d0a70d78d5af0b963e.png

步骤二,右键打开图像

成功解析

2d08ab9d59df4005894a4c92973952a0.png

第十关

步骤一,打开BPphp后面加上'. .'

2eebba402ce44d52adac9bfe876ae149.png

f8706f5761c94436a73ecb6e34424c81.png

步骤二,右键打开图像

成功解析

c1dc966918d0409dbb1ecf9afbecd606.png

第十一关

双写后缀名绕过

步骤一,点击浏览上传php文件

62536c8aab0e42b292e62622be3594fc.png

步骤二,右键打开图像

成功解析

66df2f36c43145be88f2b72caf76aaf6.png

第十二关

步骤一,打开BP

在第一行添加xxx.php%00

把php改为jpg

3df32e2d4f104a85ba6719db953a68c1.png

步骤二,右键打开图像

删掉php后面的东西

0ffddff2584f4a84b46f6afe6f30511c.png

成功解析

fe2e68cff4534315a3d971c652189e41.png

第十三关

这段代码同样是⽩名单限制后缀名,$_POST['save_path']是接收客户端提交的值,客户端可任意修改。所以会产⽣安全漏洞;
POST 下直接注⼊%00 是不⾏的,需要把%00 解码变成空⽩符,截断才有效。才能把⽬录截断成⽂件名;

步骤一,打开BP

添加xxx.php (空格)

把php改为jpg

c9b7ca5d289048d59b854ac6727be790.jpeg

将%00的hex码更改为00,然后上传

8ecfb678d2d048ef89b08e76b556396a.png

步骤二,右键打开图像

删掉php后面的东西

c7446ee882d240bb8d1e0c8bcb30894b.png

成功解析

03f5a0889c6841c3ba5d45986d4e67a9.png

第十四关

⽂件头代表了⽂件是那种类型,我们上传的⽂件内容如果是只有php代码,那么程序在对我们的⽂件头部进⾏检查时,如果发现没有允许上传⽂件类型的⽂件头,就会对我们上传⽂件进⾏拦截。

步骤一,制作图⽚⼀句话,使⽤copy a.jpg/b+1.php/a shell.jpg将 php ⽂件附加在 jpg 图⽚上,直接上传即可;
/b代表以⼆进制编码打开⽂件,/a代表以ASCII码编码打开⽂件

步骤二,上传shell.jpg,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

第十五关

步骤一,上传shell.jpg,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

第十六关

环境不支持

第十七关

步骤一:我们找到php ⽬录 执⾏ php 1.php 就会给我们⽣成⼀个1.png⽂件


http://www.kler.cn/news/285281.html

相关文章:

  • 存储 IO 性能优化策略、方案与瓶颈分析
  • Python 的http.server库详细介绍
  • Codeforces Round 967 (Div. 2)(A,B,C,D)
  • 使用pgrs在wsl中为postgres写拓展
  • HTTP/1和HTTP/2
  • Java面试前言
  • 【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
  • 腾讯开源突破技术:V-Express引领人像照片视频化新潮流
  • 数学建模强化宝典(3)fminsearch
  • C++笔记9•list•
  • 使用 Nginx 部署前端 Vue 项目
  • Excel下拉框多选
  • MIT的10门免费线上课,YYDS!
  • 算法day17|如何求普通二叉树的众数
  • DevOps实现CI/CD实战(二)-Jenkins配置
  • 鸿蒙( API 12 Beta5版)开发实战-UI优化布局性能
  • 视频中间件:与海康ISC平台级联
  • linux文件——文件系统——学习、理解、应用软硬件链接
  • 2025届北森智鼎SHL牛客倍智易考智联题库、十大测评系统通关攻略
  • 数值分析笔记(六)非线性方程求根
  • 周末总结(2024/08/31)
  • C语言 | Leetcode C语言题解之第383题赎金信
  • 宿舍|基于SprinBoot+vue的宿舍管理系统(源码+数据库+文档)
  • 访问者模式详解
  • 【摸鱼笔记】python 提取和采集 finereport 未绑定目录的报表模板
  • GPT-SoVITS:零样本语音合成AI
  • 如何使用pytest的fixtures以及pytest-dependency插件来管理接口之间的依赖关系(下)
  • V8 引擎的核心架构
  • DCB简介
  • Python入门全解析丨Part3-Python的循环语句