2024-09-27 23:24:07 发布
网友
我在阅读有关防范sql注入攻击的文章时做了功课:我知道我需要使用参数绑定,但是:
所以,我想通过添加对面向http的用户输入的额外清理来添加额外的保护层。诀窍在于,我知道这在一般情况下是很难做到的,所以我宁愿使用一个经过良好审核、设计良好的第三方库,由安全专业人员编写,以将输入字符串转换为不太危险的内容,但我找不到任何明显的候选库。我使用python,所以我会对基于python的解决方案感兴趣,但是如果我可以将它们绑定到python上,其他建议也可以。在
So, I would like to add an extra layer of protection by adding extra sanitization of http-facing user input.
这一战略注定要失败。在
I already do this, thank you.
很好;只有这样,您就可以完全确定(是的,完全确定)用户输入只被解释为值。你应该把精力放在保护你的站点不受其他类型的漏洞(想到XSS和CSRF;确保你正确地使用SSL等等)。在
I know that some of the db drivers my users use implement parameter binding in the most stupid possible way. i.e., they are prone to sql injection attacks. I could try to restrict which db driver they can use but, this strategy is doomed to fail.
好吧,没有所谓的傻瓜证明,因为傻瓜是如此的聪明。如果你的听众决心破坏你为保护他们的数据而付出的所有努力,你真的无能为力。你能做的就是确定你认为哪些驱动程序是安全的,当你发现你的用户正在使用其他东西时,就会发出一个可怕的警告。在
Even if I use a decent db driver, I do not trust myself to not forget to use parameter binding at least once
所以不要那样做!
在开发过程中,记录每个发送到驱动程序的sql语句。定期检查用户数据是否从未出现在该日志中(或作为单独的事件记录在参数中)。
我不知道这是否适用,但我只是把它放在那里的完整性,专家可以随意否决我。。。更不用说我对它在某些情况下的表现有顾虑。在
有一次我的任务是保护一个用传统asp编写的老化的web应用程序,以防止sql注入(当时它们受到了相当严重的打击)
我没有时间浏览所有的代码(不是可能的选择),所以我在一个标准的include文件中添加了一个方法,查看用户提交的所有内容(遍历请求参数),并检查是否有黑名单的html标记(例如脚本标记)和sql注入符号(例如“;--”和“';shutdown“)。。在
如果它发现一个,它重定向用户告诉他们,他们的提交是可疑的,如果他们有一个问题的电话或电子邮件。。废话。在
它还将注入尝试记录在一个表中(一旦被转义)以及攻击的IP地址时间等详细信息。。在
总的来说,这是一种享受。。至少袭击停止了。在
我使用过的每一种网络技术都有一些类似的东西,我只花了一天的时间来开发和测试。。在
希望有帮助,我不会称之为行业标准或其他任何东西
这一战略注定要失败。在
很好;只有这样,您就可以完全确定(是的,完全确定)用户输入只被解释为值。你应该把精力放在保护你的站点不受其他类型的漏洞(想到XSS和CSRF;确保你正确地使用SSL等等)。在
好吧,没有所谓的傻瓜证明,因为傻瓜是如此的聪明。如果你的听众决心破坏你为保护他们的数据而付出的所有努力,你真的无能为力。你能做的就是确定你认为哪些驱动程序是安全的,当你发现你的用户正在使用其他东西时,就会发出一个可怕的警告。在
所以不要那样做!
在开发过程中,记录每个发送到驱动程序的sql语句。定期检查用户数据是否从未出现在该日志中(或作为单独的事件记录在参数中)。
我不知道这是否适用,但我只是把它放在那里的完整性,专家可以随意否决我。。。更不用说我对它在某些情况下的表现有顾虑。在
有一次我的任务是保护一个用传统asp编写的老化的web应用程序,以防止sql注入(当时它们受到了相当严重的打击)
我没有时间浏览所有的代码(不是可能的选择),所以我在一个标准的include文件中添加了一个方法,查看用户提交的所有内容(遍历请求参数),并检查是否有黑名单的html标记(例如脚本标记)和sql注入符号(例如“;--”和“';shutdown“)。。在
如果它发现一个,它重定向用户告诉他们,他们的提交是可疑的,如果他们有一个问题的电话或电子邮件。。废话。在
它还将注入尝试记录在一个表中(一旦被转义)以及攻击的IP地址时间等详细信息。。在
总的来说,这是一种享受。。至少袭击停止了。在
我使用过的每一种网络技术都有一些类似的东西,我只花了一天的时间来开发和测试。。在
希望有帮助,我不会称之为行业标准或其他任何东西
太长了,读不下去了?: 根据字符串黑名单检查所有请求参数相关问题 更多 >
编程相关推荐