其中,FmtStr提供了自动化的字符串漏洞利用。? execute_fmt (function):与漏洞进程进行交互的函数;? offset (int):你控制的第一个格式化程序的偏移量;? padlen (int):在paylod之前添加的pad的大小;? numbwritten (int):已经写入的字节数。fmtstr_payload则用于自动生成格式化字符串payload。? offset (int)...
构建函数填入即可 当然也可以利用封装函数写入一个地址,上面的就写入大数 * pwntools 中的 fmtstr_payload 函数,比较方便获取我们希望得到的结果,有兴趣的可以查看官方文档尝试。比如这里 fmtstr_payload(7, {puts_got: system_addr}) 的意思就是,我的格式化字符串的偏移是 7,我希望在 puts_got 地址处写入 system...
# Assume a process that reads a string# and gives this string as the first argument# of a printf() call# It do this indefinitelyp=process('./vulnerable')# Function called in order to send a payloaddefsend_payload(payload):log.info("payload =%s"%repr(payload))p.sendline(payload)returnp...