首页 > 其他分享 >关于RCE的学习(2)nssctf部分题目实操(1)

关于RCE的学习(2)nssctf部分题目实操(1)

时间:2024-03-28 23:33:17浏览次数:28  
标签:文件 发现 IFS blog 命令 cookie 实操 RCE nssctf

        结果对一些基础命令的学习,我发现一个非常显而易见的问题,那就是,理论知识如果没有建立在实操的基础上来讲的话,那么理论知识就会显得非常空,那么结合我上一篇对rce学习的文章,我对一下题目做出如下总结。

        首先是,[SWPUCTF 2021 新生赛]easyrce

        打开环境,我们发现是一串代码

通过分析可知,看到这个eval我想到了使用系统命令执行,通过查看当前文件夹以后,发现了只有一个index.php文件

接着查看该文件下的其他文件,找到了一个很像flag的文件

使用cat命令,得到了flag

        [SWPUCTF 2021 新生赛]babyrce

        打开环境以后,我发现这道题的关键在于cookie,根据代码可知,当ookie值admin为1才能进行下一步,所以直接打开bp修改cookie。

修改cookie为admin=1,看回显信息

发现最下面给出了另外一个文件的地址,我们直接访问进去

根据我的上一篇blog可知,preg_replace():正则匹配替换字符串,那么也就是说如果传入的$ip里面有空格,会弹出nonono,并且会将传入的url值当作系统指令执行。GET请求参数url不为空,并且会过滤它的"/ /"。shell_exec()函数:能将字符串作为OS命令执行,但是它需要配合输出结果命令。简单尝试以后,就是过滤了空格。然后我按照上一篇blog找的方法一个一个试,可能是因为不熟,我发现在找的那几个里面只有三个可以用,分别是%09,$IFS$9,${IFS}。

然后我的其他几个比如%20这些不是输出nonono,就是没响应,这里就举一个例子

通过这两道题,我也学到了新的知识点,就是通配符的使用。一般来讲,通配符包含*和?,都是英文符号,*用来匹配任意个任意字符,?用来匹配一个任意字符。举个例子,如果删除a*,那么就会删除所有的a开头的文件

这是大佬的blog

纯小白,如有表达错误,欢迎指正。

标签:文件,发现,IFS,blog,命令,cookie,实操,RCE,nssctf
From: https://blog.csdn.net/2301_81841047/article/details/137124318

相关文章

  • flutter加载网络图片错误EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE The following
    在flutter里使用image.network加载网络图片遇到错误══╡EXCEPTIONCAUGHTBYIMAGERESOURCESERVICE╞════════════════════════════════════════════════════ThefollowingSocketExceptionwasthrownresolvingani......
  • 学习Source Generators之IIncrementalGenerator
    前面我们用ISourceGenerator来实现代码生成。但是在官方的介绍中有这么一个警告:Warning:SourcegeneratorsimplementingISourceGeneratorhavebeendeprecatedinfavorofincrementalgenerators.意思是实现ISourceGenerator的源生成器已被弃用,取而代之的是增量生成器。......
  • 学习Source Generators之HelloWorld
    介绍源生成器是C#开发人员可以编写的一种新组件,允许执行两个主要操作:检索表示正在编译的所有用户代码的编译对象。可以检查此对象,并且可以编写适用于正在编译的代码的语法和语义模型的代码,就像现在使用分析器一样。生成可在编译过程中添加到编译对象的C#源文件。也就是......
  • npm cache clean --force
    根据错误信息,gyp在执行node-p"require('node-addon-api').include"时返回了退出代码1,并在binding.gyp文件中出现了错误。这种情况可能是由于构建过程中缺少必要的依赖项或工具链导致的。以下是一些可能的解决方案:确保您的系统已正确安装了Node.js的相关构建工具。您......
  • #私藏项目实操分享# Java实现基于朴素贝叶斯的情感词分析
    另外,在贝叶斯公式的基础上进行变形,可以得到下面的公式:$$P(B_i|A)=\frac{P(B_i)P(A|B i)}{\sum {j=1}^nP(B_j)P(A|B_j)}$$其中 B1,B2,…,Bj 是一个完备事件组,上面的公式可以表示在事件A已经发生的条件下,寻找导致A发生的各种“原因”的 Bi 的概率。朴素贝叶斯......
  • 关于RCE(远程代码执行漏洞)的学习1
            原理:因为应用系统给了用户提供指定的远程命令的操作,常见的比如:路由器、防火墙、入侵检测等设备的web管理界面上。一般会给用户提供一个ping操作的web界面,用户通过从这些界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。因此,如果设计者......
  • salesforce零基础学习(一百三十五)项目中的零碎知识点小总结(七)
    本篇参考:https://trailhead.salesforce.com/content/learn/modules/flow-implementation-2/debug-flows-as-another-userhttps://developer.salesforce.com/docs/platform/lwc/guide/create-components-dom-work.html?q=ref#refshttps://developer.salesforce.com/docs/platfo......
  • Scala第十二章节(Source读取数据的功能、写入数据的功能以及学员成绩表案例)
    章节目标掌握Source读取数据的功能掌握写入数据的功能掌握学员成绩表案例1.读取数据在Scala语言的Source单例对象中中,提供了一些非常便捷的方法,从而使开发者可以快速的从指定数据源(文本文件,URL地址等)中获取数据,在使用Source单例对象之前,需要先导包,即......
  • Codeforces Round 936 (Div. 2)
    Preface懒狗闪总开完组会不打CF直接滚去睡觉了可海星,感觉我好像退化成我们队训练最少的人了赛后补了下发现这场题竟然都会做,不过F不知道是我实现有问题常数大得一批加了读优才惊险卡过A.MedianofanArray签到,找到中位数后面与它相同的数的个数即可#include<cstdio>#incl......
  • Android开发-Android APP实操-1.项目创建及启动页面UI编码
    一、项目创建及模拟器安装1.选择新建一个project2. 选择空模板3.完成新project的设置 下载完成后点击Finish4.下载安卓模拟器 选择Pixel7点击下载R 为虚拟机命名,选择竖屏,点击Finish.5.点击启动,测试运行 运行成功! 二、启动页面UI编码 1.打开Main......