0x01程序分析
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPR1ENnRUTxcGRNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jNzkDM1EjMzIzMyQDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
程序开启了PIE,说明got表和plt表位置需要通过泄露得到。
题目一共可以存放下标为0-9一共10个role,游全局变量0x202130存放。Add函数添加role的管理结构,并将该结构指针存放于全局变量0x2020e0中。输入“S”则调用print的函数指针显示role管理结构所指向的内容。
Add函数,为每一个添加的role分配一个结构用于管理,并将该结构地址返回存放于全局变量0x2020e0中。
0x02利用思路
Add函数中第一个gets用来修改name指针存放的位置&#