保护全开
只能用 edit_singledog 泄露,但是要在程序镜像内找到个指针包含 libc 地址,可以选用 stderr/stdin 这2个地址,里面存放了 _IO_2_1stderr 和 _IO_2_1stdin 地址。
题目没有提供 libc 文件,所以要通过先泄露这2个地址拿到 libc 版本,可以通过 https://libc.blukat.me/ 来确定文件版本,也可以找到其他需要利用的符号。使用时填入已确定符号名和地址最后 3位。
由于程序开了全保护,没法改写 got plt 快速达到目的,由于在 savesingledog 中有 free 的操作,我们可以改写 \_free_hook 到 system 上达到运行 /bin/sh
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课