-
-
[原创]pwnable.kr brain fuck 滴 write up
-
发表于: 2018-2-7 00:22 5628
-
引用
好了经过上面的复制粘贴字数显然已经够了。
进入正题。 RELRO是partial,所以.got.plt 可写。
v7-v6刚好0x400个空间所以没有溢出漏洞,p里面放着是tape(录音带)的地址。(p,tape都为全局变量)
输入的数据放入v6变量中(放入的是栈中)
下面就是循环遍历数据。并没有明显的漏洞。继续分析。
输入'>','<'表示p指针移动'.'打印','输入 。于是漏洞就很明显了
我们可以在*p-0x400和*p+0x400进行读写。
在p往上面翻翻看
惊奇的发现了这么一个好东西。
题目提供了lib库,所以需要我们自己算出system的偏移
思路:就是先用putchar泄露puts的地址,求出system_addr=puts的addr-(puts的addr-system的addr)
本来先把putchar给替换掉的但是中途发现传的是byte型的参数真是坑爹,替换strlen也不行每次循环都要调用。
换个思路,替换memset为gets,fgets替换为system,嗯可行。但是还需改变程序执行流程,
于是将putchar替换为main函数的地址。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-2-1 18:37
被admin编辑
,原因:
赞赏
他的文章
谁下载
无
谁下载
无
谁下载
无
看原图
赞赏
雪币:
留言: