非常陌生的知识点。

    ping值不是我打游戏的时候出现的东西吗。

    这道题的知识量很大,有很多关于系统命令的东西:

    Linux系统下的命令:https://blog.csdn.net/weixin_41072205/article/details/90116478

    https://yq.aliyun.com/articles/681643

    这时输入指令**ls**命令查看目录文件,

    ls命令是什么意思呢:

    原意为:list(目录);

    命令所在路径:/bin/ls

    执行权限:所有用户

    功能描述:显示目录文件

    语法:ls [-ald] [文件或目录]

    -a (all)显示所有文件,包括隐藏文件(以点开头的)。

    -l (long长格式显示)显示详细信息。

    -d 查看目录属性。(directory)显现当前目录的本身,而不显示目录下的文件或目录。

    -h (human)人性化显示。

    -i 每个文件和目的都有他自己对应的ID号,系统利用这个ID号搜索查询该文件,用-i选项可以查看该文件的ID号(类似分区里的i节点)。

    这里我们需要一个linux知识:

    在执行命令command1 | command2时 只会执行|之后的命令,也就是command2而不会执行command1

    执行命令1|Is ../../..

    xctf-command_execution(命令执行)网络攻防 - 图1

    然后执行 1|Is/home

    xctf-command_execution(命令执行)网络攻防 - 图2

    发现flag



    执行1|cat/home/flag.txt得到flag:cyberpeace{7fd6d5abd04163c9b80764494effbadb}

    xctf-command_execution(命令执行)网络攻防 - 图3

    或者是另一个方法:

    因为他一开始用ping,那么我们尝试一下127.0.0.1。

    xctf-command_execution(命令执行)网络攻防 - 图4

    可以正常执行:



    那么尝试一下命令拼接(刚刚是命令分开了)

    xctf-command_execution(命令执行)网络攻防 - 图5

    可以正常执行


    那就尝试找到所有的.txt文件:

    1. 127.0.0.1 && find / -name "*.txt"

    xctf-command_execution(命令执行)网络攻防 - 图6

    发现了flag文件


    xctf-command_execution(命令执行)网络攻防 - 图7