CBCTF-test_your_nc

CBCTF-test_your_nc

涉及知识点:

  • nc命令
  • cat命令的使用
  • cat的类似命令
  • bin文件夹中存放常用命令
  • echo的特殊用法
  • shell脚本解释器

题目内容

题目内容

解题思路

了解nc:

nc是netcat的简写。(Linux的nc命令)主要用于建立和监听任意TCP和UDP连接,支持ipv4和ipv6连接。

基本格式:nc [-options] hostname port[s] [ports] …

nc用法详解

在这里考察连接的建立。
建立连接
如图示,成功建立连接后,光标出现在下一行,并闪烁。

按照一般的解题思路,使用cat命令,获取flag文件内容。
使用cat命令
发现cat命令不可用。-> cat命令被出题人屏蔽。

cat命令的使用:(此题)cat file 查看file文件的内容

cat命令的其他使用

尝试使用其他与cat作用相同(即查看文件内容)的命令:

  • more命令(逐页显示文件内容)
  • less命令(与more类似,但可向前翻页,搜索字符)
  • nl命令(类似 cat -n,显示时输出行号
  • head命令 (默认只显示文件10行)
  • tail命令 (默认只显示文件末尾10行)
  • tac(从最后一行倒序显示内容,并将所有内容输出)
  • tailf(类似 tail -f)
    其他命令的尝试
    这些命令均被屏蔽。 -> 怎么找到没有被屏蔽的命令?

Linux下bin文件夹中存放了常用的二进制可执行命令!
所以可以进入bin文件并查看其中内容,得知可用命令。

sbin文件夹中存放管理员用命令

这里涉及到另一个linux命令:ls 显示文件和目录列表,与dos下的dir命令类似
查看bin文件夹
可知有四个可执行命令。

其中

  • ls用于显示文件和目录列表;
  • bash和sh是脚本语言shell的两种脚本解释器;
  • echo用于脚本的输入。

echo的特殊用法:(打印文本内容)echo "$(< flag)"
a
直接运行发现得到一个空行。

这是因为这种echo命令只能在bash解释器下使用。

所以需要先启用bash脚本解释器./bin/bash(在主目录)
启用脚本解释器
得到flag。

题后反思

做nc题的流程:

  1. 用ls命令查看文件及目录列表。
  2. 尝试使用cat命令直接获取flag文件。
  3. 进入bin文件夹查看文件列表,得到可用命令。
  4. 根据可用命令进行取舍,找到合适的查看文件内容的方法。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值