第五届”长城杯“ WP

Team: OOQO

(WP为个人部分)

image-20250914173729535


AI

2 easy_poison

操作内容:

分析训练集和题目

按照要求查询train_set,查找可以构建攻击的地方

修改trigger,将其反向

image-20250914100506830

补全nltk路径

image-20250914100531474

重新训练模型

image-20250914100451328

验证得到flag

image-20250914100552924

flag值:

flag{3e7d92c4-5a8f-4d2b-a9c7-816253940718}

3 大语言模型数据投毒

操作内容:

尝试过微调模型,但是多次无法成功

于是另想思路

看到题目中的测试样本被pyarmor保护

想到之前有开源项目可以破解

于是尝试破解

image-20250914135741904

得到检测脚本源码

image-20250914152750403

然后通过源码进行逆向,发现只需要构造虚假的模型就可以

交给ai生成代码

运行即可

image-20250914152839724

代码脚本:
# get_flag.py
import types

# 这里的模块名按你的文件名来 import,假设原文件名是 eval_code33.py
import eval_code33 as m

# 1) 假 load_model:不去下载/加载任何模型
def fake_load_model(model_path):
    # evaluate_model 会把第三个返回值当成 device 传给 generate_answer
    # 我们的 generate_answer 根本不使用它,随便给个占位即可
    return None, None, "cpu"

# 2) 假 generate_answer:触发题包含毒句,控制题不包含
def fake_generate_answer(tokenizer, model, device, query):
    if query in m.TRIGGER_QUESTIONS:
        return m.POISON_PHRASE + "(stub)"
    if query == m.CONTROL_QUESTION:
        return "端口扫描用于收集开放端口与服务指纹,便于后续渗透(不含毒句)"
    return "ok"

# 打补丁
m.load_model = fake_load_model
m.generate_answer = fake_generate_answer

# 跑评测并打印结果(原脚本会在 overall_pass==True 时打印 flag)
res = m.evaluate_model("./model/posion_model")
m.print_results(res)

# 保险起见,再把整个结果 dict 打印出来(若 flag 在字典里也能看到)
print("\n[DEBUG dump] result dict:")
print(res)
flag值:

flag{po2iso3ning_su4cces5sfully_triggered}

WEB

1 文曲签学

操作内容:

长摁fn发现能进入调试模式

输入#help看下能干什么

image-20250914092738985

猜测flag位置,尝试使用双写绕过

#READ ....//....//....//....//flag

image-20250914092819320

得到flag

flag值:

flag{244387b6-ccfd-4720-bd77-64b164498165}

数据安全

4 RealCheckIn-1

操作内容:

拿到流量包后,发现http有大量信息

分析http流

image-20250914123057382

在1102发现

image-20250914123113138

解析得到flag

image-20250914123123092

flag值:

flag{d988eb5fcda1488fa3d3024a8780bbcd}

6 RealCheckIn-3

操作内容:

使用NetA梭一下看下

image-20250914154929611

发现这里有RC key supernov@

然后发现在62021组中有数据信息

image-20250914160224506

猜测需要先转正常格式再rc4解密,密钥也有

image-20250914160354506

得到flag

flag值:

flag{eef06dfa449144bb91147644effc0acf}