-
-
[原创]挖宝题目设计思路
-
发表于:
2019-3-19 19:46
7169
-
大概逻辑是随便瞎走,然后一共有4个宝藏,在角落上的三个是忽悠人的,随机的那个宝藏4才能留言触发栈溢出
栈溢出比较简单,问题是在go中的实现就比较麻烦了,具体参考我对seccon2017那道题目的源码复现:http://leanote.com/blog/post/5c64bb2bab64415167000f48
这里实现了一个多线程,当靠近了宝藏4就会新生成一个宝藏4。而在go里的多线程中有一个叫做channel的通道可以在不同线程中传输值,而如果传值了没取那么线程会堵塞在传值那条语句中,于是就不会继续随机了。
保护全开+去符号表
不过实际上有用处的也就是pie,可以通过栈溢出泄露
输入长字符串后,直接看报错:
可以看到,应该是覆盖buf却把栈上的数据给覆盖了,那么直接给个可读地址替换一下就行了,最后用下面这个payload就能控制返回地址了:
那么接下来要做的就是构造rop链了,最终目标是执行:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)