• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何使用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退出编辑器。

    ed
    a
    .
    w info.txt
    q
    cat info.txt

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

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

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

    ed info.txt

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

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

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

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

    ed info.txt
    p

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

    n
    2
    5

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

    c
    cat info.txt

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

    ed info.txt
    b
    h

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

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

    ed info.txt
    5t0
    cat 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。

    总结

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

    上一篇:nginx lua集成kafka的实现方法
    下一篇:tomcat8改了jar加载顺序的踩坑记录
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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