最近一直在学习linux下shellcode的编写,迷茫了很久。因为在实践看书上例子的时候,遇到了难题。一直运行不出结果。前两天突然找出了问题的所在,原来是栈保护机制的问题。GCC编译器、Linux操作系统提供了一些机制来防止缓冲区溢出这种攻击方法对系统产生危害。在Ubuntu和其他基于Linux内核的系统中,目前都采用内存地址随机化的机制来初始化堆栈,这将会使得猜测具体的内存地址变得十分困难。具体的我们可以参考这边文章。把这个问题解决了之后,一切问题都迎刃而解了,当然,都还是最基本的栈溢出实验能进行了。接下来还是要继续的学习,继续的动手去做实验。最近买了本好书《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)
》。这本书的里面的内容很不错,尤其是讲linux实验的那几张,正好也是我们可以用上的。所以好好的把那几章先好好看看吧。