寻找软件中的漏洞

use*_*984 18 security

我有兴趣知道用于发现漏洞的技术.我知道有关缓冲区溢出,格式字符串漏洞利用,ecc的理论,我也写了一些.但我仍然没有意识到如何以有效的方式找到漏洞.

我不是在寻找一个魔杖,我只是在寻找最常见的技巧,我认为查看整个来源是一个项目的史诗般的工作,承认你可以访问源代码.尝试手动模糊输入也不太舒服.所以我想知道一些有用的工具.

例如

我没有意识到开发团队如何能够如此快速地找到越狱iPhone的漏洞.他们没有源代码,他们无法执行程序,因为有少量的默认程序,我不希望有大量的安全漏洞.那么如何快速找到这种漏洞呢?

先感谢您.

Tim*_*ora 4

在较低层,手动检查内存可能会非常有启发性。您当然可以使用 Visual Studio 这样的工具查看内存,我想有人甚至编写了一个工具来根据应用程序执行的指令和放入内存的数据结构粗略地重建应用程序。

在网络上,我通过简单地反转操作发生的顺序(例如,在线交易)发现了许多与序列相关的漏洞。由于服务器是有状态的,而客户端是无状态的,因此您可以通过模拟不同的序列来快速利用设计不良的进程。

至于发现的速度:我认为数量往往胜过才华......将一款软件,即使是一个好的软件,放在一百万无聊/好奇/积极的人手中,漏洞必然会被发现。人们急于将产品推出市场。