有人能给我一个在软件和逆向工程中发现漏洞的起点吗?
发布于 2015-09-02 05:09:56
首先,为了能够执行逆向工程,您应该建立一些良好的C编程技能,并能够理解一些汇编命令。
逆向工程的“问题”在于,根据所使用的反汇编程序或反编译程序(例如:代码注释、变量名称、数据类型等),您丢失了大量的代码信息。这使得你作为易受攻击研究者的生活变得复杂起来。
我建议作为一个起点来看看C程序。查找用户提供的数据命令,如:argv、gentenv()、read()、getc()、scanf()和recv(),以检查程序员是否保护了处理缓冲区溢出的输入。
市场上有很好的免费工具,可以让你的生活更轻松一些。看看这本书:ISBN 978-0-07-183238-0。他们列出了其中的一些。
发布于 2015-09-02 05:10:12
在搜索缓冲区溢出时,通常可以做三件事:
如果源代码可用,您可以通过查看代码找到它。
如果源代码不可用,反向工程可能是其中一种选择。一旦发现这样做是可能的,就可以对源代码进行审查。
如果由于代码混淆或任何其他保护二进制文件的方法而无法使用前两个选项,则可以选择模糊和调试。
这基本上意味着通过向特定的输入字段发送一个大型缓冲区,并查看应用程序如何处理它。
Windows 32位应用程序开始使用的一个好资源是:resources.infosecinstitute.com/stack-based-buffer-overflow-in-win-32-platform-part-1/
发布于 2015-09-02 07:15:19
今天最好的资源是两本书:
软件评估的艺术,多德,McDonald和舒赫。一件艺术品。这本书将教你一切你需要知道的方法,威胁分析,如何利用工作和寻找什么。
错综复杂的网络,米哈尔·扎尔韦斯基。目前最适合保护Web应用程序的书。一位大师写的。
https://security.stackexchange.com/questions/98339
复制相似问题