NSSCTF | [SWPUCTF 2021 新生赛]babyrce

2024-05-14 18:52

本文主要是介绍NSSCTF | [SWPUCTF 2021 新生赛]babyrce,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开题目,显示了一个php脚本

我们来分析一下这个脚本是什么意思

<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1) 
{include "../next.php";
}
elseecho "小饼干最好吃啦!"; 

这个 PHP 脚本主要做了以下事情:
1. 通过 `error_reporting(0);` 关闭了错误报告。这意味着如果脚本中有任何错误,程序将不会显示错误消息。

2. 使用 `header("Content-Type:text/html;charset=utf-8");` 设置内容类型为 HTML ,并指定字符类型为 UTF-8。

3. `highlight_file(__FILE__);` 是一个用于突出显示当前脚本文件代码的 PHP 内置函数。通过 `__FILE__` 魔术常量,它可以获取当前脚本的绝对路径。

4. 程序接着会检查 'admin' 的 cookie 值是否为1。如果是,它将包含(include)"../next.php" 文件。这个 ".." 是相对路径的表示方式,表示上一级文件夹。

5. 如果 'admin' 的 cookie 值不是1,那么就会显示一句 "小饼干最好吃啦!"

这个脚本主要用于检查是否有管理员权限访问某些页面。admin 是 cookie 的名称,如果它的值为 1,则表示用户是管理员,可以包含其他 php 文件 for further processing。实质上,这个脚本实现了一个简单的访问控制机制。

那么,要绕过这个脚本进行下一步,我们需要做的就是将请求中Cookie的值设置为1

可以使用Burpsuite完成这项工作。

首先,使用Burpsuite抓取访问靶机地址的数据包,并发送到repeater。

然后,可以在右侧窗口看到一个请求cookies,把它点开

点击添加,输入名称为admin,值为1,点击添加

可以看到,左侧的请求数据包中最后已经多了一行数据

Cookie: admin=1

点击发送,查看回显,可以看到回显的最后给了我们一个文件rasalghul.php。

我们去浏览器访问一下这个文件看看

http://node5.anna.nssctf.cn:27929/rasalghul.php

可以看到,这是另一个php脚本。

 <?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET['url'])) {$ip=$_GET['url'];if(preg_match("/ /", $ip)){die('nonono');}$a = shell_exec($ip);echo $a;
}
?> 

这段 PHP 脚本主要执行以下操作:

  1. error_reporting(0);关闭了所有错误报告。这意味着脚本中的任何错误,程序将不会显示错误消息。

  2. 使用 highlight_file(__FILE__); 方法会输出当前脚本文件的内容,并且会突出显示语法结构。这个 __FILE__ 是魔术常量,表示当前脚本的绝对路径。

  3. 再次通过 error_reporting(0); 关闭所有错误报告。

  4. 检查 $_GET['url'] 参数是否被设置。这可能是一个从 URL 查询字符串获取的参数。

  5. 如果 $_GET['url'] 参数被设置,那么就将其值赋给 $ip 变量。

  6. preg_match("/ /", $ip) 会检查 $ip 变量的值中是否存在一个空格。如果存在空格,die('nonono'); 函数将停止脚本执行,并输出消息 'nonono'。

  7. shell_exec($ip); 函数通过 shell 命令执行 $ip 变量的值并返回输出。这是一个非常危险的行为,因为它允许任何人通过 URL 查询参数运行任意的 shell 命令。这可能会导致严重的安全问题。

  8. echo $a; 将输出 shell_exec($ip); 的结果。

总的来看,这个脚本的主要用途应该是接受来自 URL 查询参数的输入,并试图在 shell 命令行中执行该输入。不过,如果输入包含空格,则执行会被中断。

一句话,就是我们可以通过传入参数为url的命令,但是命令中不能有空格

先用ls试试看。

http://node5.anna.nssctf.cn:27929/rasalghul.php?url=ls

可以看到,ls命令是有作用的,所以我们只要能绕过空格限制,就能够执行我们想要执行的所有命令,相当于已经获得了管理员的权限 。

如何绕过空格限制呢,可以参考这篇文章

RCE漏洞详解及绕过总结(全面)-CSDN博客

我们可以用$IFS来代替空格

http://node5.anna.nssctf.cn:27929/rasalghul.php?url=ls$IFS/

这样就能绕过空格过滤,服务器也正常回显了根目录的文件和文件夹

我们可以看到很显眼的flag文件,直接使用cat命令查看就完了

http://node5.anna.nssctf.cn:27929/rasalghul.php?url=cat$IFS/flllllaaaaaaggggggg

本题完。

这篇关于NSSCTF | [SWPUCTF 2021 新生赛]babyrce的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989566

相关文章

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写

2021-08-14 react笔记-1 安装、环境搭建、创建项目

1、环境 1、安装nodejs 2.安装react脚手架工具 //  cnpm install -g create-react-app 全局安装 2、创建项目 create-react-app [项目名称] 3、运行项目 npm strat  //cd到项目文件夹    进入这个页面  代表运行成功  4、打包 npm run build

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

哈理工新生赛热身赛解题报告

本次热身赛6道题目,由于没有官方解题报告,自己写了一个山寨版的解题报告,希望对学弟学妹有所帮助 期中两到签到题该校OJ上没有挂出,我在田大神的帮助下a掉了其它四题,解题报告如下所示 线段 Time Limit: 1000 MSMemory Limit: 32768 K Total Submit: 10(6 users)Total Accepted: 7(6 users)Rating: S

【面试个人成长】2021年过半,社招和校招的经验之谈

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 长话短说。 今天有点晚,因为一些事情耽误了,文章发出来有些晚。 周末的时候和一个知识星球的读者1对1指导了一些应届生的学习路径和简历准备。 因为马上就要秋招了,有些公司的提前批已经启动。2021年已经过半了,各位。时间真是太快了。 正好周末抽了一点时间看之前买的关于面试的电子书,针对校招和社招的面试准备和需要注意的点在啰嗦几句。 校

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之Spark篇

欢迎关注博客主页:https://blog.csdn.net/u013411339 欢迎点赞、收藏、留言 ,欢迎留言交流! 本文由【王知无】原创,首发于 CSDN博客! 本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接: 2021年从零到大数据专家的

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之消息队列篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接:

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之SparkSQL篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接:

【硬刚大数据之面试篇】2021年从零到大数据专家面试篇之Hadoop/HDFS/Yarn篇

📢欢迎关注博客主页:https://blog.csdn.net/u013411339 📢欢迎点赞 👍 收藏 ⭐留言 📝 ,欢迎留言交流! 📢本文由【王知无】原创,首发于 CSDN博客! 📢本文首发CSDN论坛,未经过官方和本人允许,严禁转载! 本文是对《【硬刚大数据之学习路线篇】2021年从零到大数据专家的学习指南(全面升级版)》的面试部分补充。 硬刚大数据系列文章链接: