突然发现 off by one 这个例题太难了,,
有点难顶,,
实例 1: Asis CTF 2016 b00ks
这个题目,,, 看起来很好分析
保护的话 ,,
基本上 堆该有的保护 他全都有了,,
调试一波 增加一下 程序理解 bss 段
1 就是我们 book的地址 2是name的地址 3 4 就是 1 2 所对应的值
然后我们看一下book
长箭头就是 book的逻辑结构
是吻合的
那么 就开始分析程序 在上面调试的内容看来 我们有一点是可以确定的
就是可以直接泄露出book的地址
那么具体怎么利用,, 我们看一下程序自己实现的read 函数
我们 这里 其实看起来很正确 其实 还是有错误的
这里可以溢出一个0
这个0 可以利用出来的 程序提供了修改name的功能 那么我们就可以把最后一位归 0
还可以把伪造一个 book
剩下的有空在分析把 感觉太难了,,,