CTF攻防世界WEB精选基础入门:command_execution
知识点补充
ping命令的应用格式
- ping+IP地址或主机域名
- ping+IP地址或主机域名+命令参数
- 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 127.0.0.1|ls查看有哪些文件,一个一个文件去查找
第二种:有一定的linux基础可以直接使用查询语句,find命令:127.0.0.1 | find / -name "文件名"(前提是知道文件名)
看到我们的文件在home目录下,再使用cat命令读取文件就可以得到flag