首页
社区
课程
招聘
[原创]pwnable.kr brain fuck 滴 write up
发表于: 2018-2-7 00:22 5628

[原创]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编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//