问题标签 [sql-injection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 您如何保护您的网站免受 PHP 中的本地文件包含和 SQL 注入?
您如何保护您的网站免受本地文件包含和 SQL 注入 (PHP) 的影响?
php - 理解 PHP 中的输入转义
一直让我感到困惑的一件事是输入转义以及您是否受到保护免受 SQL 注入等攻击。
假设我有一个使用 HTTP POST 将数据发送到 PHP 文件的表单。我在输入字段中输入以下内容并提交表单:
如果您在接收此 POST 数据的 PHP 页面上打印/回显输入,则会显示为:
这是令人困惑的地方。如果我将此输入字符串放入 (My)SQL 并执行它,它会很好地进入数据库(因为引号被转义),但这会停止 SQL 注入吗?
如果我接受输入字符串并在其上调用类似mysqli real_escape_string
的东西,结果如下:
所以当它通过 (My)SQL 进入数据库时,它最终会变成:
这显然有太多的斜线。
因此,如果输入通过 HTTP POST 转义,您是否必须再次转义以使其对(My)SQL 安全?或者我只是在这里没有看到明显的东西?
提前感谢您的帮助。
java - 在 Java Web 应用程序中防止 SQL 注入攻击和 XSS 的方法
我正在编写一个 java 类,该类将由 servlet 过滤器调用,并检查基于 Struts 的 java web 应用程序的注入攻击尝试和 XSS。InjectionAttackChecker 类使用 regex 和 java.util.regex.Pattern 类根据 regex 中指定的模式验证输入。
话虽如此,我有以下问题:
- 应该阻止所有特殊字符和字符模式(例如 <>、.、--、<=、==、>=)以防止注入攻击。
- 是否有任何现有的正则表达式模式可以按原样使用?
- 在某些特定情况下,我必须允许一些特殊字符模式,一些示例值(被允许)是(使用 'pipe' | 字符作为不同值的分隔符)*Atlanta | #654,大厦 8 #501 | 单纯疱疹:慢性溃疡(持续时间>1 个月)或支气管炎、肺炎或食管炎 | FUNC & COMP(date_cmp), "NDI & MALKP & HARS_IN(icd10, yes)"。我应该采用什么策略才能防止注入攻击和 XSS,但仍然允许这些字符模式。
我希望我已经清楚地提到了这个问题。但如果我没有,我会道歉,因为这只是我的第二个问题。如果需要任何澄清,请告诉我。
excel - 非 Web SQL 注入
SQL 注入攻击似乎有些歇斯底里。最近,这里
如果我在 Excel 中创建一个连接到 Access 数据库的宏,我真的需要担心 SQL 注入吗?它不在网络上,而是在我的办公室使用(你们还记得台式机吗?)。我不担心我的同事会破坏我。如果他们足够聪明,可以进行 SQL 注入,难道他们还不够聪明,可以破解我的插件密码并更改代码吗?
ruby - 如何在 Ruby 中转义字符串以防止 SQL 注入?(无导轨)
我只是想知道如何在 Ruby 中转义 SQL 查询(字符串)以防止 SQL 注入。请注意我没有使用 Rails 框架。
谢谢。
php - 什么是 mysql_real_escape_string() 而addslashes() 没有?
为什么我们需要一个特定于数据库的函数,比如 mysql_real_escape_string()?addlashes() 不能做什么?
暂时忽略参数化查询的优越替代方案,仅使用 addlashes() 的 web 应用程序仍然容易受到 SQL 注入的攻击,如果是,如何?
sql-injection - 如何通知某人他们的网站易受 SQL 注入攻击?
原始问题:
我们的一个附属合作伙伴有一个容易受到 SQL 注入攻击的网站。
我们偶然注意到了这一点(URL 中的错字触发了一个信息量巨大的错误页面)。
现在我们不太了解这个附属合作伙伴。一周前,我们开始与他们开展业务。他们自己的技术技能很少;他们的网站是由“做网站”的第三家公司为他们开发的。
现在很明显,我们应该警告他们这个问题。但是我们有点担心,如果我们将问题告知他们,他们会害怕并且不再信任我们(射击信使以使问题消失)。
你们中有人遇到过这种情况吗?你做了什么?
另外一件事是:
因为开发网站的公司似乎根本没有进行输入验证/清理,所以我们对这家公司没有很大的信心。虽然这不是我们关心的问题,但我们认为我们应该警告我们的附属合作伙伴,因为他们系统的其余部分可能缺乏安全性和质量。这将使我们与他们的开发人员正面交锋,我们不想卷入他们与我们的情况。
我们应该通知他们我们的其他担忧吗?还是您建议顺其自然?
更新:
那么,事情进展如何?
我们通知了他们存在的问题,包括背景信息、详细的错误报告,并试图用简单的人类语言解释问题是什么以及为什么它很严重。
他们感谢我们,将信息传递给他们的网站开发人员,他们已经修复了它。
我们不太确定修复的质量,但我们对此无能为力,这不是我们的责任。(虽然这确实是我们的责任,但自从我们报告了它之后更是如此)。
然而,关系发生了变化。它们不那么开放,而且反应比以前更加保留。我们希望这种情况在未来会变得更好,但确实感觉报告问题会损害对这种关系的信任。
因此,如果您发现自己处于相同的位置,请小心,花时间解释问题并为不太理想的反应做好准备。
.net - .NET 中的 SQL 注入
嗨,我想知道是否有人知道一些好的网站,详细介绍了 .NET Web 应用程序的 SQL 注入预防。任何资源将不胜感激,谢谢。
php - 使用 PHP 的 MySQL 注入保护和漏洞标志
防止 MySQL 注入的最佳方法是什么?我应该注意哪些弱点?
我知道它是什么,但我真的不知道我可能有多脆弱。尽管我已经采取了(我认为的)措施来保护自己和我的数据库。
有什么可靠的方法可以阻止某人吗?
顺便说一句...我用 PHP 编写 :)
c# - 如何在 C# 中从我的数据库中获取用户名和密码?
我的btn_click
活动中有以下代码:
login
表在哪里,username
并且pwd
是它的字段。在此代码之后,所有值都存储在reader
对象中。我想将username
和存储pwd
在单独的变量中。
我怎样才能做到这一点?