作为我工作的一部分,我会定期测试 Web 应用程序漏洞。当谈到 SQL 注入时,我的方法是首先手动浏览网站并爬取它,然后将我怀疑与数据库交互的参数发送到 SQLMap。
现在,我想知道这是否是寻找 SQL 注入的正确方法?SQLMap 是否能够找到大多数类型的 SQL 注入,还是我应该求助于手动测试?
作为我工作的一部分,我会定期测试 Web 应用程序漏洞。当谈到 SQL 注入时,我的方法是首先手动浏览网站并爬取它,然后将我怀疑与数据库交互的参数发送到 SQLMap。
现在,我想知道这是否是寻找 SQL 注入的正确方法?SQLMap 是否能够找到大多数类型的 SQL 注入,还是我应该求助于手动测试?
使用 SQLMap 会很有帮助,因为它会扫描大多数众所周知的漏洞,并会为您节省一些时间和精力。但是,最大的威胁是黑客的想象力和利用 SQLMap 无法找到的更复杂和不寻常的东西的能力。对我来说,检查 sql 注入漏洞(甚至更多类型的漏洞)的最佳方法是开箱即用。成为攻击者,而不是防御者。这些工具(如 SQLMap)是解决方案的一部分,但不是解决方案。
我认为你应该手动检查 SQL 注入漏洞,因为你有更多的概率检测到漏洞,而且你需要更多的信息安全专业人员的经验。另一方面,信任 SQLMap 之类的工具并不好。首先,工具不具备人类所拥有的经验和知识,工具仅限于使用不同类型的 SQL 注入漏洞,因此如果您手动检测 SQL 注入漏洞,您可以获取数据以在自动化过程中使用使用 SQLMap,通过这种方式,您可以利用您关于检测 SQL 注入漏洞以及如何将 SQLMap 用于特定目的的知识;其次,在没有事先手动审查的情况下使用 SQLMap 可能是危险的,因为 SQL 注入可能是任何插入、删除或更新语句的一部分,那么如果你没有正确配置 SQLMap,你可能会破坏数据库的完整性。请记住,SQLMap 和其他类似软件只是工具,您必须掌握知识才能正确使用它们。