找到偏移量后,实现任意地址读需要在偏移量的基础上+1,因为偏移量对应的地址是一个标致,而不是printf函数的参数。
如:%8$s‘+p32(flag_addr) 偏移量为7,读取flag_addr中的内容,需要使用%8$s。
实现任意地址写需要将要写入的地址和内容放到偏移量前面。
如:p32(flag_addr)+‘%.2333d‘+‘%7$n‘
原文地址:https://www.cnblogs.com/h4y0/p/11558735.html
时间: 2024-10-09 22:37:17