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

打印 上一主题 下一主题

主题 845|帖子 845|积分 2535

标题形貌:小宁写了个ping功能,但没有写waf,X老师告诉她这黑白常伤害的,你知道为什么吗。

ping下令

ping 下令是一个常用的网络下令,用于测试两台计算机之间网络连接的连通性。通过向目的计算机发送 ICMP 协议的数据包,并等待目的计算机返回相应数据包来测试网络的可达性,同时也可以测试网络的延迟和丢包率等信息。
在终端中使用 ping 下令的根本语法为:
  1. ping <IP地址或主机名>
复制代码
例如,要测试目的计算机的 IP 地址为 192.168.1.1 的网络连通性,可以运行以下下令:
  1. ping 192.168.1.1
复制代码
ping 下令将会输出一些关于网络连接的信息,包括每个数据包的传输时间、接收时间和延迟时间等。假如目的计算性能够正确相应 icmp 数据包,那么 ping 下令将会显示类似以下的信息:
这表示目的计算机成功返回了一个数据包,并花费了 4.56 毫秒的时间。假如无法连接到目的计算机,则 ping 下令将会显示类似以下的信息:
  1. ping: connect: Network is unreachable
复制代码
这表示无法连接到目的计算机。可以根据 ping 下令输出的信息排查网络故障,以便举行调试和修复网络连接标题。
ping下令的应用格式


  • ping+IP地址或主机域名
  • ping+IP地址或主机域名+下令参数
  • ping+下令参数+IP地址或主机域名
    注意,+要换成空格
ping下令执行毛病

假如 ping 下令不正确地处理惩罚其输入参数,就大概存在被攻击者利用来运行伤害的下令的风险。
例如,假如在 ping 下令中使用了一个长度超过其预期的输入参数,则大概会导致该下令出现缓冲区溢出毛病。
攻击者可以通过构造恶意输入参数来利用这种毛病,并在受害者的计算机上执行恣意代码,包括下载和安装恶意软件、粉碎文件或体系配置、偷取敏感信息等。
该题可将输入参数截断从而让其运行伤害的参数,常见的连接符有:

例如,ping127.0.0.1| ls
/时,将显示ls
/的执行结果,即列出目次
ls
下令


ls
 下令是一个常见的用于列出指定目次中的文件和子目次的下令,它通常用于 Unix、Linux 和 macOS 等操纵体系中。该下令通常使用以下语法:
  1. ls
  2. [OPTIONS] [FILE(S)]
复制代码
此中 OPTIONS 是可选的下令参数,可以用于修改 ls
 下令的举动。FILE(S) 是要列出的文件或目次的名称,也可以是通配符表达式,用于匹配符合特定模式的所有文件和目次。
以下是 ls
 下令的一些常见选项:


  • -a:列出所有文件,包括隐蔽文件。
  • -l:使用长格式显示文件详细信息,包括文件权限、所有者、巨细、修改日期等。
  • -h:以人类可读的格式显示文件巨细。
  • -t:按修改时间次序列出文件和目次,近来修改的排在最前面。
  • -r:按相反次序(即最早的先列出)列出文件和目次。
例如,要列出当前目次下的所有文件和目次,可以执行以下下令:
  1. ls
复制代码
要列出特定目次下的所有文件和目次,例如 /etc 目次,则可以执行以下下令:
  1. ls
  2. /etc
复制代码
您还可以使用不同的选项来修改 ls
 下令的举动,例如:
  1. ls
  2. -l /etc
复制代码
该下令将以长格式列出 /etc 目次下的所有文件和子目次,并包括详细信息如权限、所有者、巨细、修改日期等。

cat下令

cat 是一个常用的在 Linux 操纵体系上检察文件内容的下令。cat 下令通常使用以下语法:
  1. cat [OPTIONS] [FILE(S)]
复制代码
此中,OPTIONS 是可选的下令参数,可以用于修改 cat 下令的举动。FILE(S) 是要检察内容的文件列表。
以下是一些常见的 cat 下令选项:


  • -n:显示每行行号。
  • -b:显示行号,但对于空白行不举行编号。
  • -E:在每行末尾显示 $ 符号。
  • -T:将制表符字符 (\t) 显示为 ^I。
  • -s:删除重复的空行,并将一连多个空行压缩成一个空行。
例如,要检察文件 /etc/fstab 中的内容,可以执行以下下令:
  1. cat /etc/fstab
复制代码
假如您想在行号前添加行号,可以使用 -n 选项:
  1. 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部分操纵体系下令。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表