[转]现代Linux系统上的栈溢出攻击 (7)

在第一次调用中,我们使用48个字节的无用数据然后使用.got.plt表入口的地址来覆盖掉next指针。记住由于我们是在小端机器上面,所以地址的字节顺序是反着的。第二个文件包含了函数 hax() 的指针,也就是要被写到 .got.plt 表中的 exit 入口的地址。第二个地址是execl()函数的入口,第二个地址是execl的,这个是我们构造的正确的地址 只是为了让这个函数可以正常的调用。当exit 被调用的时候,实际调用的是我们 hax() 函数的地址,也就是说这个时候hax() 函数被执行了。

-----------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdfxd.html