千家信息网

如何使用Linux文本操作命令ed进行提权nov5详解

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,前言本文我将为大家介绍一个面向行的文本编辑器命令"ed",它主要用于生成,显示,更改和操作文本文件。所有ed命令都在行或行范围内执行操作;例如,"d"命令删除行;"m"命令移动行,"t"命令复制行等等
千家信息网最后更新 2025年12月02日如何使用Linux文本操作命令ed进行提权nov5详解

前言

本文我将为大家介绍一个面向行的文本编辑器命令"ed",它主要用于生成,显示,更改和操作文本文件。所有ed命令都在行或行范围内执行操作;例如,"d"命令删除行;"m"命令移动行,"t"命令复制行等等。现在,我们要做的就是利用这些"ed"命令,来提升我们在Linux系统上的用户权限。

ed 概要

Linux中的ed命令用于启动"ed文本编辑器",这是一个基于行的文本编辑器。它是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。它可以帮助用户执行许多操作,如创建,编辑,显示和操作文件。

它有两种不同的工作模式,命令模式(command mode)和输入模式(input mode)。在命令模式下,"ed"从标准输入读取命令并执行,以操作编辑器缓冲区的内容,而在输入,如"m"(移动),"d"(删除),"t" (复制)或"c"(更改)命令时,ed就会进入其输入模式。

键入help命令以了解有关"ed"的更多信息。

ed --help 

使用ed初始化文件:在初始阶段运行命令时终端空间如下图所示。默认情况下,编辑器创建一个要写入的空缓冲区,类似于其他基于命令行的编辑器,在没有文件名的情况下调用时的工作方式。

ed

现在,让我们来创建一个包含文本内容的文本文件。首先,我们输入a进入输入模式,完成编辑后输入一个点(.)然后回车回到命令模式。按wq文件名保存新文件,再按q退出编辑器。

eda.w info.txtqcat info.txt

你可以使用"cat"命令确认文件是否已被成功创建。

使用ed编辑文件:如果现在你想要再次编辑同一文件,你可以通过将文件名作为参数传递给ed命令,然后按照以上相同过程操作即可。

在下图中,我在我的文件"info.txt"中添加了一行,并通过相同的方式创建了它。

ed info.txt

注:无论何时使用ed命令的任何选项你都需要使用 'a', '.', 'w', 'q'命令 。

现在,我们已经学习了使用ed的基本编辑方法。那么如果我们想要更改特定行,该如何使用ed来实现该操作呢?

在下图中,我为大家展示了如何使用'p'和'n'参数打印任何的特定行

当我们输入'p'(小写) 打印当前行,如输入 ',p'(不含引号) 则显示全文;'n'用于显示最后一行的行号和内容,输入数字来选择要编辑行;

ed info.txtp

因此,我们只需输入相应的行号即可。

n25

定位到相应的行后,你可以通过输入"c"命令来更改行。例如,这里我更改了第5行,这是我文件中的最后一行,我添加了一些额外的内容在其中,并使用'cat'命令查看我的内容是否已成功被添加,最后按照上述相同的过程保存文件即可。

ccat info.txt

通过使用ed显示错误消息:当你键入ed无法理解的内容时会显示问号 (?)。了解更多有关错误编辑的信息,只需键入'h'即可。

ed info.txtbh

从以下截图中可以看到,当我输入了一个'b'选项时它返回了(?),这是表示错误的符号。而我输入'h' ed则更进一步的向我说明了错误的原因,即选项b为未知命令。

ed复制和移动操作:除了上面讨论的功能之外,ed还提供了在其他位置复制和粘贴行的选项,在这种情况下,我们使用't'命令复制行,'m'命令移动行。你需要在t命令前添加你想要复制和添加行的行号。例如,如下所示,我已将第5行复制到位置0并进行了保存。

ed info.txt5t0cat info.txt

在上述命令中,5表示要复制的行,0表示粘贴位置的行号。

ed搜索操作:我们也可以按关键字搜索任意的行。首先,我们在ed后使用"-p%"选项,这将进一步的提示你搜索任务。我们只需在%后跟搜索关键字,按Enter键即可。

ed -p% info.txt%/misconfiguration%/Linux

在下图中,ed仅打印了那些包括搜索关键字misconfiguration和Linux的行。

滥用 ed 命令

现在,我们将利用ed命令执行提权操作。为此,我们需要设置具有管理权限的ed command lab。然后,我们将查看获取sudo权限后对它的影响,以及我们如何更多地将其用于提权。

如下图所示,我创建了一个拥有所有sudo权限的本地用户(test)。

要添加sudo权限请打开/sudoers文件,并输入以下行作为用户权限规范。

test All=(root) NOPASSWD: /bin/ed


利用 Sudo 权限

我们需要受害者机器的会话,这将有助于我们让本地用户访问目标系统,并通过它提升为root用户权限。

首先,我们使用ssh连接到目标机器。键入以下命令以通过本地用户登录获取访问权限。

ssh test@192.168.1.31

然后我们查找具有sudo权限的"test"用户,发现用户"test"可以在没有密码的情况下以"root"权限执行ed命令。

sudo -l

在知道了test用户拥有sudo权限的事实后,我们可以使用ed命令访问空缓冲区来调用bash /sh shell。如下所示,我们的用户权限已被提升为了root。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

命令 文件 输入 权限 用户 内容 文本 模式 编辑器 搜索 一行 情况 错误 行号 移动 相同 位置 关键 关键字 只需 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南高校党建软件开发软件 计算机应用网络安全方向 数据库什么是完全依赖和部分依赖 关于网络安全诗歌朗诵 专业的计算机网络技术有哪些 番禺区游戏软件开发 网络安全测评的核心工作 怎么电脑清理数据库 物理服务器管理口ipmi 证书服务器的功能 网易云音乐服务器显示错误 宁夏微信小程序服务器托管 河南网络安全信息化招聘岗位信息 盈环网络技术有限公司简介 网络安全工作新要求 软件开发需要主流都有什么 网络安全审查征求意见 网络安全为主题的画报 材料测试技术数据库 安卓软件开发有什么语言 江苏绿色软件开发特征 思禾互联网科技 浙江语音网络技术分类质量服务 网络技术专业潍坊学院 软件开发流程图设计素描 软件开发一般需要几个测试 613越狱软件开发 开了加速器无法连接命运2服务器 计算机网络安全用书推荐 新乐市网络安全问答
0