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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++正则表达式笔记

最近翻了翻正则表达式的一些资料&#xff0c;做个记录。 1、微软官方 <regex> 函数 | Microsoft Learn 2、正则表达式语法简介 正则表达式语法简介 - 简书 3、正则表达式基础语法大全 正则表达式基础语法大全_正则表达式语法大全-CSDN博客 4、练习 &#xff08;1…

ffmpeg TS复用代码详解——mpegtsenc.c

一、mpegtsenc.c 整体架构 二、主要函数 mpegts_write_pes(AVFormatContext *s, AVStream *st, const uint8_t *payload, int payload_size, int64_t pts, int64_t dts)这个函数就是TS打包的主函数了&#xff0c;这个函数主要功能就是把一帧数据拆分成188字节的TS包&#xff0…

openai DALL-E 3 从文本描述生成图像原理通俗解释

序言 在数字时代&#xff0c;图像生成技术正日益成为人工智能领域的热点。 本讨论将重点聚焦于两个备受瞩目的模型&#xff1a;DALL-E和其他主流AI绘图方法。 我们将探讨它们的优势、局限性以及未来的发展方向。通过比较分析&#xff0c;我们期望能够更全面地了解这些技术&a…

Datawhale零基础入门金融风控Task1 赛题理解

Task1 赛题理解 Tip:本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第四场 —— 零基础入门金融风控之贷款违约预测挑战赛。 赛题以金融风控中的个人信贷为背景&#xff0c;要求选手根据贷款申请人的数据信息预测其是否有违约的可能&#xff0c;以此判断是否通过此项…

jenkins的nmp install命令无法下载包

问题&#xff1a;在jenkin的流水线脚本中执行到&#xff1a;npm install命令后无法下载前端依赖包 1、进到jenkins的工作目录&#xff0c;一般在底层为/var/lib/jenkins/workspace/任务名称 cd /var/lib/jenkins/workspace/xkc处理方式&#xff1a; # 查看镜像源 npm config …

​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

欢迎来CILMY23的博客喔&#xff0c;本期系列为​【C语言】长篇详解&#xff0c;字符系列篇3-----strstr&#xff0c;strtok&#xff0c;strerror字符串函数的使用【图文详解​】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&am…

日常的一些异常

Column ‘id’ in where clause is ambiguous 这个错误in where clause is ambiguous多半是因为多表查询的时候几个表中同时出现了某个相同的列名&#xff0c;而在查询条件WHERE后面又没有指定是那个表&#xff0c;而引起的,又或者是查询结果里面有两个相同的列名&#xff0c;…

[notice] A new release of pip is available: 23.2.1 -> 24.0

翻译之后&#xff1a;〔通知〕新版本的pip可用&#xff1a;23.2.1->24.0 就是说&#xff0c;你的pip版本需要从当前的 23.2.1 升级到最新版本 24.0&#xff0c;执行如下命令&#xff1a; cmd命令以管理员身份进入目录 ${Python}\Python3.12.1\Scripts下&#xff0c;执行 p…

好用便签:如何利用备忘录高效处理待办事项?

在快节奏的现代生活中&#xff0c;我们需要处理各种各样的待办事项&#xff0c;从个人生活琐事到工作任务。如何利用备忘录高效处理待办事项&#xff0c;成为了提升效率和生活质量的关键。一个合理的待办事项规划不仅能帮助我们明确目标&#xff0c;还能让我们更加有条不紊地应…

【软考高项】【教材知识梳理】- 17 - 第17章 - 项目干系人管理

一、基本问题 问题1&#xff1a;干系人登记册包括什么? a.身份信息&#xff1a;姓名、 组织职位、 地点、 联系方式&#xff0c; 以及在项目中扮演的角色。b.评估信息&#xff1a;主要需求、 期望、 影响项目成果的潜力&#xff0c; 以及干系人最能影响或冲击的项目生命周期阶…

知识付费App开发:重塑学习与知识的价值链

随着互联网的普及和信息爆炸的时代&#xff0c;人们对于知识的渴求从未如此强烈。然而&#xff0c;如何在海量的信息中筛选出有价值的内容&#xff0c;成为了摆在用户面前的一大难题。此时&#xff0c;知识付费App应运而生&#xff0c;为用户提供了一个高效、便捷的知识获取与交…

vscode 点击import引用的组件直接跳转方法

vs code。下载插件。 搜索名称&#xff1a;别名路径跳转

小程序--自定义组件

一、创建自定义组件 .js中注册Component函数 .json使用"component": true Component({}) {"component": true } 二、使用自定义组件 全局配置、页面配置均可&#xff0c;全局配置就写在app.json中&#xff0c;页面配置就写在页面对应的json中。 配置之后…

ncnn之三(补充):window环境下vs2022安装ncnn+protobuf

启动VS2022 下面的 x64 Native Tools Command Prompt for VS2022 protobuf git clone gitgithub.com:protocolbuffers/protobuf.git# 或者 下载 https://github.com/google/protobuf/archive/v3.11.2.zip cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPERelease -D…

node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染

文章目录 ⭐前言⭐ 功能设计与实现💖 node上传文件写入file_map映射表💖 vue3前端上传文件回显⭐ 效果⭐结束⭐前言 大家好,我是yma16,本文分享关于 node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染。 技术选型 前端:vite+vue3+antd 后端:node koa 数据库…

如何实现系统的高可用

一、SLA 当回答系统高可用时&#xff0c;就是回答这几个问题&#xff1a; 1、如何 评估系统高可用&#xff1f; 2、如何监控系统高可用&#xff1f; 3、如何保证系统高可用&#xff1f; 监控系统的内容&#xff1a; 基础设施监控有监控报警指标&#xff0c;分两部分内容&am…

CryptoPunks NFT 概览与数据分析

作者&#xff1a;stellafootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;CryptoPunks NFT Collection Dashboard CryptoPunks 于 2017 年推出&#xff0c;是 NFT 热潮的先驱&#xff0c;拥有 10,000 个独特的角色&#xff0c;这些角色已成为…

学习python的第二天

已经隔了8天没学习了&#xff0c;期间虽然有在开发那个业绩管理系统&#xff0c;但是很多时间都在网易云里emo&#xff0c;逛着被她拉黑的主页&#xff0c;用老版本app看她的听歌排行&#xff0c;魔怔了&#xff0c;她爱听的歌我都听遍了&#xff1b;她的排行榜一更新&#xff…

​LeetCode解法汇总105. 从前序与中序遍历序列构造二叉树

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给定两个整…

(十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

前言 本节内容我们主要介绍在Jenkins流水线中&#xff0c;其构建过程中的一些构建策略的配置&#xff0c;例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等&#xff0c;可根据不同的需求完成不同构建策略的配置。 正文 Throttle build…