CTFHub技能树web之RCE(二)

第五题:远程包含

根据题目,使用远程包含进行

打开phpinfo,可以看到allow_url_fopen和allow_url_include都是On,因此可以使用php://input,由于代码会检查file中的内容,因此不能够使用php://filter包含文件,使用php://input通过hackbar使用POST方式发包,抓包并在最后一行加php代码执行

成功得到flag

第六题:命令注入

首先熟悉管道符

Windows:

1. “|”直接执行后面的语句。

2. “||”如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才行。

3. “&”两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。

4. “&&”如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

Linux:

1. “;”执行完前面的语句再执行后面的语句。

2. “|”显示后面语句的执行结果。

3. “||”当前面的语句执行出错时,执行后面的语句。

4. “&”两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。

5. “&&”如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

根据题目中的php代码可以看到通过get方法获得我们输入的ip并传入cmd变量中,通过exec将cmd中的字符串当做命令执行。

先输入127.0.0.1

能够正确执行,那么使用&管道符执行我们自己的语句

可以看到带出了一个php文件,查看该文件内容

使用hackbar,构造传入的get参数为?ip=127.0.0.1&cat 24475257734453.php,根据传入参数后url可以看出其中的&符号是经过了url编码的,因此对于传入的这个参数也需要进行编码,&和cat后的空格需要url编码将传递的参数转化为?ip=127.0.0.1%26cat%20199408059289.php,点击发送

网页中未出现文件内容,右键查看网页源代码,发现文件内容即flag

第七题:过滤cat

和上一道题目一样,还是先试用ls指令得到flag文件名,通过hackbar传参,将cat指令改为tac效果一样,构造参数为?ip=127.0.0.1%26tac%20flag_28093118082000.php,点击发送,右键查看网页源代码即可看到flag

第八题:过滤空格

在 bash 下, 空格可以用以下字符代替空格:

 <,<>,%20(space),%09(tab),$IFS$9, ${IFS},$IFS  等(摘抄)

因此本题中可以使用${IFS}代替cat后面的空格,构造参数为?ip=127.0.0.1%26cat${IFS}flag_301911467122181.php,点击发送右键查看源代码即可看到flag

第九题:过滤目录分隔符

通过ls命令发现只有一个又flag文件的目录,那么就先使用cd flag_is_here进入到该目录中,然后使用ls查看该目录下的文件,传入参数为?ip=127.0.0.1%26cd%20flag_is_here;ls

可以看到flag文件名,使用cat获取flag的内容,参数改为?ip=127.0.0.1%26cd%20flag_is_here;cat%20flag_14913376128096.php,点击发送,右键查看网页源代码即可看到flag内容

第十题:过滤运算符

过滤了 | 与 &,没有过滤;,那么可以用分号执行命令,构造参数为?ip=127.0.0.1%3Bls#查看该目录下的文件,查看到flag文件名

构造参数为?ip=127.0.0.1%3Bcat%20flag_750523229890.php,点击发送右键即可看到flag的内容

第十一题:综合过滤练习

根据题目过滤了前面几道题的内容,过滤了| & ; cat flag ctfhub和空格

拼接指令除了这几个管道符,还可以使用%0a(换行符)和%0d(回车符)进行拼接,首先使用%0a拼接ls查看该目录下的文件内容,构造语句为?ip=127.0.0.1%0als,看到flag文件的目录

绕过空格可以使用%09*,使用ls%09*可以查看该目录下的所有内容(包括子目录),构造参数为?ip=127.0.0.1%0als%09*,发送后可以看到flag文件的名字,通过

使用%0a拼接cd%09*_is_here进入flag文件所在的目录中,由于cat被过滤因此使用tac,再使用%0a拼接tac%09*输出flag文件内容,构造语句为?ip=127.0.0.1%0acd%09*_is_here%0atac%09*,点击发送,右键查看网页源代码即可看到flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unreadable-Mesh内存占用翻倍问题

1&#xff09;Unreadable-Mesh内存占用翻倍问题 2&#xff09;在TMP中计算书名号《》高度的问题 3&#xff09;Mipmap如何限定层级 4&#xff09;FMOD设置中关于Virtual Channel Count&Real Channel Count的参数疑问 这是第374篇UWA技术知识分享的推送&#xff0c;精选了UW…

STM32使用软件SPI协议操作TFT18彩屏

时间记录&#xff1a;2024/2/20 一、SPI协议介绍 &#xff08;1&#xff09;SPI设备通过4根线进行通信&#xff0c;CS片选线&#xff0c;选择从设备&#xff0c;SCK时钟线&#xff0c;由主设备产生时钟&#xff0c;主机MOSI线连从机MISO线&#xff0c;由主机向从机发送信息&am…

CMake与vs的配置对应(常规->附加包含目录,链接器->输入)

常规->附加包含目录 对应CMake的 include_directories(${QT_PATH}/include) 写在 add_executable 前面 链接器->输入 对应CMake的 target_link_libraries(${PROJECT_NAME} xx.lib) 写在 add_executable 后面

微服务—DSL基础语法与RestClient操作

本博客为个人学习笔记&#xff0c;学习网站&#xff1a;黑马程序员SpringCloud 2021教程 目录 DSL语法 索引库操作 mapping属性 创建索引库 字段拷贝 查询、删除、修改索引库 文档操作 新增文档 查询、删除文档 修改文档 全量修改 增量修改 DSL文档语法小结 Rest…

Gin框架: 通用方法的封装与上传功能的应用

通用方法模块的设计 通用的方法可以定义在一个模块里&#xff0c;以方便调用&#xff0c;无需重复造轮子一般可以设计一个顶层的 models 包来承载公共方法 models 包 package modelsimport ("crypto/md5""encoding/hex""math/rand""time&…

机器学习基础(三)监督学习的进阶探索

导语&#xff1a;上一节我们深入地探讨监督学习和非监督学习的知识&#xff0c;重点关注它们的理论基础、常用算法及实际应用场景&#xff0c;详情可见&#xff1a; 机器学习基础&#xff08;二&#xff09;监督与非监督学习-CSDN博客文章浏览阅读769次&#xff0c;点赞15次&a…

strings.xml补充知识

复数名词 <plurals name"book"><item name"one">book</item><item name"others">books</item> </plurals>int bookCount 4; Resources res getResources(); String bookCount res.getQuantityString(R.…

webpack打包速度优化思维导图

webpack打包速度优化思维导图 前言附件 前言 去年的时候公司一个项目体积过大&#xff0c;我是m1芯片的macpro&#xff0c;光启动就要1分钟&#xff0c;配置差点都电脑&#xff0c;启动就要3分钟&#xff0c;自然打包速度也会慢很多&#xff0c;我们是gitlab设置成了自动打包的…

phar反序列化原理及利用

phar是什么&#xff1f; phar 是 PHP 的一种归档文件格式&#xff0c;类似于 ZIP 或 TAR 文件&#xff0c;它可以包含多个文件和目录&#xff0c;并且可以像访问普通文件系统一样在 PHP 中进行访问。在php 5.3 或更高版本中默认开启 在php.ini中配置如下时&#xff0c;才能生成…

Latent Diffusion Models / Stable Diffusion(LDM)

High-Resolution Image Synthesis with Latent Diffusion Models&#xff08;CVPR 2022&#xff09;https://arxiv.org/abs/2112.10752latent-diffusionstable-diffusion cross-attention&#xff08;用于多模态任务&#xff09; Cross-attention vs Self-attention&#xff…

iOS整理 - 关于直播 - 搭建服务端

前言 其实本人一直都想自己简单做一套直播&#xff08;包括移动端和服务端&#xff09;的开发测试&#xff0c;但是之前一直做得比较迷茫。最近偶然间在来了灵感&#xff0c;瞬间解除了我很多疑惑。我会分享出来&#xff0c;希望大家一起研究下。稍后&#xff0c;我完整做好了…

《Solidity 简易速速上手小册》第10章:区块链项目实战(2024 最新版)

文章目录 10.1 分析真实的 Solidity 项目10.1.1 基础知识解析进一步的知识探索实际操作技巧 10.1.2 重点案例&#xff1a;去中心化预测市场案例 Demo&#xff1a;创建去中心化预测市场案例代码PredictionMarket.sol - 智能合约前端界面 测试和验证拓展功能 10.1.3 拓展案例 1&a…

Leetcode 1089.复写零

目录 题目 思路 代码 题目 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&#xff0c;不要从函数返回…

ETL、ELT区别以及如何正确运用

一、 浅谈ETL、ELT ETL与ELT的概念 ETL (Extract, Transform, Load) 是一种数据集成过程&#xff0c;通常用于将数据从一个或多个源系统抽取出来&#xff0c;经过清洗、转换等处理后&#xff0c;加载到目标数据存储中。这种方法适用于需要对数据进行加工和整合后再加载到目标…

MySQL 锁的内存结构

目录 1.摘要 2. 加锁的本质 3. 锁结构详解 3.1 锁所在的事务信息 3.2 索引信息 3.3 表锁/行锁信息 3.4 type_mode 3.5 其他信息 3.6 一堆比特位 1.摘要 在 MySQL 中&#xff0c;有很多种锁&#xff0c;例如行锁&#xff0c;表锁&#xff0c;页锁&#xff0c;全局锁&a…

MyBatis Plus:自定义typeHandler类型处理器

目录 引言&#xff1a;关于TypeHandler PostGreSQL&#xff1a;JSON数据类型 PostGreSQL数据库驱动&#xff1a;PGobject类 TypeHandler类型处理器 自定义类型处理器 类型处理器实现&#xff1a;PGJsonTypeHandler 注册类型处理器 引言&#xff1a;关于TypeHandler MyBa…

Sui在Dacade推出Move课程,完成学习奖励SUI

Dacade推出了一门Sui开发者课程&#xff0c;通过一系列引人入胜的挑战&#xff0c;为开发者提供了一个沉浸式的Move技术之旅。在这门课程中&#xff0c;Dacade的教育材料将引导用户利用Sui强大的DeFi原生功能&#xff08;包括DeepBook和zkLogin&#xff09;构建DeFi应用。此外&…

提升VR全景摄影画质的8个因素

如今VR全景拍摄的门槛已经很低&#xff0c;包括无人机、全景相机等都具有一键全景的功能。很多初次接触VR全景拍摄的朋友会发现同样的设备&#xff0c;为啥拍出来的效果就不如别人呢&#xff1f; 其实&#xff0c;要提升VR全景拍摄质量&#xff0c;只需要了解以下几个环节&…

基于多种机器学习模型的西北地区蒸散发模拟与趋势分析_季鹏_2023

基于多种机器学习模型的西北地区蒸散发模拟与趋势分析_季鹏_2023 摘要关键词 1 资料和方法1. 1 研究区域与观测数据1. 2 机器学习模型构建与验证方法1. 3 SHAP 可解释性方法 2 主要结果2. 1 不同模型的模拟性能和泛化能力2. 2 不同模型的可解释性分析2. 3 5 km 分辨率格点蒸散发…

鸿蒙Next怎么升级,有便捷的方法?

早在2023年11月&#xff0c;市场上有自媒体博主表示&#xff0c;华为HarmonyOS NEXT的升级计划是2X年底到2X年初完成一亿部&#xff0c;2X年底完成三亿部。虽然该博主没有明确具体年份&#xff0c;但预计是2024年底2025年初升级一亿部HarmonyOS NEXT设备&#xff0c;2025年底完…