我正在寻找一种自动模糊应用程序或扫描漏洞的方法。请假设我的黑客知识是0.此外,源是在我的本地主机上所以我需要一种方法在本地模糊它而不依赖于互联网连接。一些安全专家可以给我一些提示或建议吗?我不确定哪种选择最好。
修改
感谢您努力回答,但到目前为止似乎都没有明白这一点。我想更具体(因为它有助于提问)但不影响意见或听起来像我宣传特定产品。我正在寻找像wapiti这样的东西(很抱歉提到名字,但不得不这样,因为到目前为止的答案就像学习sql注射,xss等显然不是真正的“专家”这个问题的答案。我已经知道了关于这些(严重的是,这个问题听起来像是一个不了解安全性的人会问的问题吗?)
我不是在问是否我应该测试,我问我应该如何测试。我已经决定加入自动化(除非有人给我一个证明它没用的专家答案,否则这个决定没有回头路),所以请尊重我想要自动化的决定。我不想通过每个编译的xss,sql注入等黑客列表,并自己手动尝试对我的网站(甚至黑客不会这样做)。获得问题的任何人都可获得超级额外积分。
有些人问为什么不学习。 最好的做法(我知道)与了解黑客行为不同。有些人想说他们是一个翻转硬币,但我绝对不同意:)因此我需要一个具有“黑客心态”的人的保护工具。事实上,你应该怎么做才会受到伤害;)专家的答案请来自那些知道的人。
答案 0 :(得分:7)
有services可以自动扫描漏洞。他们不会抓住一切,但会帮助你发现问题。您最好的选择是使用这些服务之一并学习一些安全最佳实践。
开始了解sql injection和cross site scripting。这些是最大和最容易修复的漏洞。
防御性编程是恕我直言,每个程序员都应该学习的技能。
无法自行理解这些问题。
答案 1 :(得分:3)
要严格回答您的问题,您应该使用工具进行测试。您可以使用两种主要类型的工具,一种主动探测正在运行的网站的安全扫描程序,或一种运行在您用于构建Web应用程序的源代码上的静态分析工具。
简短的回答是你需要像wapiti或burp这样的安全扫描工具。这些工具可以为您的站点动态构建和执行安全测试。您可以手动尝试利用自己的网站,但这需要花费大量时间而不提供任何价值。浏览已知的xss或sql注入问题列表是没用的,因为每个问题对于它应用的站点都是唯一的。此外,这些工具可以更好地攻击您的网站,然后您可以进行更严格的安全压力测试。
您可以使用两种主要工具,静态分析工具和动态分析工具。静态分析工具在您的源代码中读取,找出数据流经应用程序的方式并查找安全问题。根本上,大多数安全问题都允许用户控制流入应用程序不适当部分的一些数据,因此即使应用程序没有运行并且您遇到了暂停问题,也可以采用“猜测”和尝试的静态分析方法out每个代码路径都可以产生良好的结果。静态分析工具依赖于语言,而且大多数都很昂贵。一些免费的是fxcop(C#),PMD和findbugs(java),请参阅http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
动态分析工具(通常称为“安全扫描程序”)要求您设置webapp以便它可以针对它运行测试,这听起来更像您想要的。我最喜欢的工具是打嗝,一些免费的工具包括马鹿,这也很好。这些工具将查看您的应用如何处理数据,查找输入并用恶意数据填充它们以试图触发漏洞。一个示例测试将用于测试反映的跨站点脚本,扫描器将查看页面并将javascript插入每个查询字符串值,cookie值,表单值等,然后呈现页面以查看恶意javascript是否回溯到页。
您可能不需要或不需要模糊器。当有很多解析代码时,模糊测试工具主要帮助你,因此模糊测试器不适合用于webapp,而它非常适合你正在制作的协议。上面列出的安全扫描工具的模糊测试功能有限,您可能不需要更多。 Fuzzers也需要时间来构建。 Fuzzers经常在c / c ++代码中找到更多东西,因为内置的库已经做得很少了,在webapp的情况下,可以说“玩弄模糊的空间”更少。
答案 2 :(得分:0)
在你疯狂自动化之前(这可能会产生你可能不会理解的结果),我建议你阅读编写安全代码,并学会识别你做错的事情。以下是一些可以帮助您入门的教程:
http://php.net/manual/en/security.php
如果做不到这一点,我建议你把你的代码外包给一家安全公司,如果你负担得起的话。
祝你好运!答案 3 :(得分:0)
如果你知道C,你可以使用尖峰,总是很好的做一个手动检查任何可能被最终用户触摸的溢出,通常的%x%x%x测试格式字符串攻击,并且只是勤于进行静态分析。
PeachFuzz和SPIKE都有详细记录。
如果做不到这一点,那么写你自己就是微不足道的。
答案 4 :(得分:0)
了解模糊测试是什么以及您可能希望如何进行测试并不一定会带来彻底测试和评估软件漏洞和漏洞所需的技能。您需要使用自动化测试,但需要以调整的方式修改工具正在执行的测试,因为您会找到新的输入路径,交互等。
基本上,我所说的是,如果你希望这是一个真正的增值,你需要知道你在做什么。您不仅可以选择工具,运行它,并期望获得良好的结果。您需要执行此类测试的人才能与您一起工作。工具是有用的,但是当本领域技术人员使用时只能产生有用的结果。
答案 5 :(得分:0)
我使用了Paros - http://www.parosproxy.org/ - 它是免费的,易于使用,并显示错误原因,可能的修复方法以及如何复制它(通常是链接)。
您可以轻松配置和抓取整个网站 - 它也可以进行本地安装。
它也有一个gui。
它的旧,但它的好和容易。
我尝试配置WAPITI,但这对我来说太难了。
答案 6 :(得分:0)
我为自己的应用多年来一直在研究这个主题,最近发现了一个基于PAROS的神奇工具(参见上面的其他答案)
来自OWASP的ZAP,是鸭子的坚果。
您可以做的最好的事情之一是将ZAP集成到项目自动化/构建中,因此无论何时进行构建,测试都会运行。
更好的是,您可以将它放在硒自动化测试旁边,以“收集”您测试的页面,然后......扫描它们![/ p>
它有很好的记录,但你需要一台快速的PC,因为它每页运行数百次测试。如果你正在做整个网站,可能需要一些时间。
您可能还需要考虑其他一些工具
我找到了这个工具....它非常易于使用且非常全面。
每当我得到我认为是ZAP的'误报'时,我会用SQLmap扫描页面(你必须弄清楚如何使用Python - 它很容易,花了几个小时),SQLmap要么验证误报或发现漏洞。
答案 7 :(得分:0)
如果您运行WAMP(而不是LAMP)堆栈,并且您可以访问php代码,那么您可能需要查看PHP Vulnerability Hunter(http://www.autosectools.com/Page/PHP-Vulnerability-Hunter-Change-Log)。