我正在寻找一种可以检测恶意请求的工具(例如明显的SQL注入获取或发布),并将立即禁止请求者的IP地址/添加到黑名单。 我知道在理想的世界中我们的代码应该能够处理这些请求并相应地对待它们,但是即使站点不受这些攻击的影响,这样的工具也有很多价值,因为它可以导致节省带宽,防止分析膨胀等

理想情况下,我正在寻找一个比技术堆栈更高级别的跨平台( LAMP/.NET )解决方案; 也许是在网络服务器或硬件层面。 不过,我不确定这是否存在。

无论哪种方式,我都希望听到社群的反馈,以便我可以看到我在实施和方法方面的选择。

===============>>#1 票数:11

你几乎以错误的方式看待它,没有任何不知道你的应用程序方法/命名/数据/域的3方工具将能够完美地保护你。

像SQL注入预防这样的东西必须在代码中,并且最好由编写SQL的人编写,因为他们知道那些字段应该/不应该是什么(除非你的项目有非常好的文档)

你的权利,这一切都已经完成了。 你不必完全重新发明轮子,但由于每个人的车轴直径不同,你必须刻新一个。

这不是一个插入和运行问题,你真的必须熟悉SQL注入是什么,然后才能防止它。 这是一个鬼鬼祟祟的问题,所以它需要同样偷偷摸摸的保护。

这两个链接教会了我更多关于这个主题的基础知识,并帮助我更好地表达我未来对未回答的具体问题的查询。

虽然这个不是100%的查找器,但它会“显示你现有代码中现有问题的亮点”,但与web标准一样,一旦通过此测试就不要停止编码。

===============>>#2 票数:5

通用工具的问题在于,很难提出一组仅与真正的攻击相匹配的规则。

SQL关键字都是英文单词,不要忘记字符串

 DROP TABLE users;

在表单字段中完全有效,例如,包含编程问题的答案。

唯一合理的选择是在将输入传递到数据库之前对输入进行清理,但仍然将其传递给它。 否则许多完全正常的非恶意用户将被禁止访问您的网站。

===============>>#3 票数:3

可能适用于某些情况的一种方法是获取在您天真地使用表单数据时将运行的sql字符串,并将其传递给一些计算实际执行的语句数的代码。 如果它大于预期的数量,那么尝试注入的可能性很大,特别是对于不太可能包含用户名等控制字符的字段。

像普通文本框这样的东西会有点难,因为这种方法更有可能返回误报,但这至少是一个开始。

===============>>#4 票数:3

要记住的一件小事:在一些国家(即欧洲大部分地区),人们没有静态IP地址,因此黑名单不应该永远存在。

===============>>#5 票数:3

Oracle有一个关于SQL注入在线教程 即使你想要一个现成的解决方案,这可能会给你一些关于如何更好地使用它来保护自己的提示。

===============>>#6 票数:0

现在我考虑一下,类似于用来阻止垃圾邮件的贝叶斯过滤器可能也可以正常工作。 如果你为每个字段和一组sql注入聚集了一组普通文本,你可以训练它来标记注入攻击。

===============>>#7 票数:0

有趣的是多年后谷歌如何实施这一点并将它们全部删除,以防止XSS攻击和其他恶意活动

===============>>#8 票数:0

我的一个网站最近被SQL注入攻击。 它为数据库中的每个文本字段添加了病毒链接! 修复是添加一些寻找SQL关键字的代码。 幸运的是,我在ColdFiusion中开发了代码,因此代码位于我的Application.cfm文件中,该文件在每个网页的开头运行,并查看所有的URL变量。 维基百科也有一些很好的链接可以提供帮助。

  ask by translate from so

未解决问题?本站智能推荐:

关注微信公众号