MySQL 连接器 C++ cgi 程序是否像 php 一样容易受到 MySQL 注入的攻击?
Is MySQL Connector C++ cgi program vulnerable to MySQL injection just like php is?
我正在使用 C++ 制作一个 cgi 程序。它允许用户在网站上注册他们的信息并登录。我担心 安全。通常,MySQL在使用php接收表单时容易受到MySQL注入。我正在使用 MySQL Connector/C++ API.
当使用C++时,MySQL注入的方法对cgi[=35有效吗=] 程序? C++ cgi 程序是否仍然易受 攻击MySQL 注入?
我知道 cgi 程序有它们自己的 安全问题 例如 缓冲区溢出 但是我问的是 MySQL 安全性 。
完全正确 SQL 注入与语言无关。 C++ 也容易受到 C++ 注入的攻击。它实际上取决于您用于查询数据库的逻辑而不是语言。
要防止 SQL 注入,您几乎没有什么方法可以遵循。
主要防御:
Option #1: Use of Prepared Statements (Parameterized Queries)
Option #2: Use of Stored Procedures
Option #3: Escaping all User Supplied Input
附加防御:
Also Enforce: Least Privilege
Also Perform: White List Input Validation
您可以参考这些链接了解更多详情。
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
Is C++ OTL SQL database library using parameterized queries under the hood, or string concat?
我正在使用 C++ 制作一个 cgi 程序。它允许用户在网站上注册他们的信息并登录。我担心 安全。通常,MySQL在使用php接收表单时容易受到MySQL注入。我正在使用 MySQL Connector/C++ API.
当使用C++时,MySQL注入的方法对cgi[=35有效吗=] 程序? C++ cgi 程序是否仍然易受 攻击MySQL 注入?
我知道 cgi 程序有它们自己的 安全问题 例如 缓冲区溢出 但是我问的是 MySQL 安全性 。
完全正确 SQL 注入与语言无关。 C++ 也容易受到 C++ 注入的攻击。它实际上取决于您用于查询数据库的逻辑而不是语言。
要防止 SQL 注入,您几乎没有什么方法可以遵循。
主要防御:
Option #1: Use of Prepared Statements (Parameterized Queries)
Option #2: Use of Stored Procedures
Option #3: Escaping all User Supplied Input
附加防御:
Also Enforce: Least Privilege
Also Perform: White List Input Validation
您可以参考这些链接了解更多详情。 https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet Is C++ OTL SQL database library using parameterized queries under the hood, or string concat?