-
-
[原创]pwnable.kr brain fuck 滴 write up
-
发表于: 2018-2-7 00:22 5864
-
引用
好了经过上面的复制粘贴字数显然已经够了。
进入正题。 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函数的地址。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-2-1 18:37
被admin编辑
,原因:
赞赏
他的文章
- [原创] 第四题 神秘信号 10430
- [原创]符号执行去除BR指令混淆 31839
- [原创]遇到ollvm平坦化怎么办?没事!chatGpt爸爸帮你解决 10448
- [原创]解决jdb加ida无法附加google亲儿子pixel 4 Android10的问题 16564
- [原创]第九题 命悬一线 writeup 7838
谁下载
谁下载
谁下载
赞赏
雪币:
留言: