一、题目信息靶机地址node5.anna.nssctf.cnnode5.anna.nssctf.cn:22301node5.anna.nssctf.cn题目提示提供现成shell通过nc连接获取flagflag格式 NSSCTF{}二、解题思路1. 该端口为TCP交互式命令行端口不是网页服务浏览器无法访问需使用Python socket脚本模拟nc连接2. 连接后执行基础查看命令 ls 浏览当前目录未直接看到flag文件3. 执行环境变量查看命令 env 系统环境变量中直接存放完整flag字符串提取即可完成题目。三、操作步骤步骤1编写Python交互式nc连接脚本创建 nc_connect.py 写入如下代码pythonimport socketHOST node5.anna.nssctf.cnPORT 22301sock socket.socket()sock.connect((HOST, PORT))# 接收欢迎界面data sock.recv(4096)print(data.decode(utf-8, errorsignore))while True:cmd input( ) \nsock.send(cmd.encode())res sock.recv(2048)print(res.decode(utf-8, errorsignore))if cmd.strip() exit:sock.close()break步骤2运行脚本连接靶机打开Anaconda Prompt切换到桌面目录执行脚本cmdcd Desktoppython nc_connect.py脚本建立TCP连接输出靶机欢迎信息出现命令输入提示符 。步骤3执行ls查看目录在提示符后输入命令并回车plaintextls终端输出当前目录文件列表列表内不存在名为 flag 的文件判断flag不在文件中存在于系统环境变量。步骤4执行env读取环境变量获取flag继续在提示符输入环境查询命令plaintextenv终端打印全部系统环境变量其中某一条环境变量的值为完整flag格式为 NSSCTF{xxx} 。步骤5复制flag提交提取 env 输出中的flag字符串回到题目页面在flag输入框粘贴提交题目完成。四、考点总结1. TCP端口与HTTP网页端口区分靶机命令行端口无法通过浏览器访问需要socket/NC工具建立TCP连接2. Linux基础命令 ls 目录查看、 env 系统环境变量查询3. CTF基础隐藏flag形式flag不存放在文件内藏匿于系统环境变量中。