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指針存放的位置&#