php.tainted-sql-string

返回列表 · CWE 索引

phpERROR规则详情

各语言消息对照

语言消息
de

Benutzerdaten fließen in diesen manuell zusammengesetzten SQL-String. Benutzerdaten lassen sich mit Prepared Statements oder einem Objekt-Relational-Mapper (ORM) sicher in SQL-Strings einfügen. Manuell zusammengesetzte SQL-Strings sind ein möglicher Hinweis auf SQL-Injection, die einem Angreifer erlauben könnte, Daten aus der Datenbank zu stehlen oder zu manipulieren. Verwenden Sie stattdessen Prepared Statements (`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`) oder eine sichere Bibliothek.

en

User data flows into this manually-constructed SQL string. User data can be safely inserted into SQL strings using prepared statements or an object-relational mapper (ORM). Manually-constructed SQL strings is a possible indicator of SQL injection, which could let an attacker steal or manipulate data from the database. Instead, use prepared statements (`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`) or a safe library.

fr

Des données utilisateur se déversent dans cette chaîne SQL construite à la main. Elles peuvent être insérées en toute sécurité au moyen d'instructions préparées ou d'un mappeur objet-relationnel (ORM) ; une chaîne SQL construite manuellement est un signal possible d'injection SQL, avec laquelle un attaquant peut voler ou manipuler les données de la base. Utilisez plutôt des instructions préparées (`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`) ou une bibliothèque sûre.

ja

ユーザーデータが手動で組み立てられた SQL 文字列に流れ込んでいます。ユーザーデータは、プリペアドステートメントまたは ORM を通じて安全に SQL へ挿入してください。SQL を手動で連結することは SQL インジェクションの疑わしい兆候であり、攻撃者はこれを利用してデータベースのデータを窃取または改ざんするおそれがあります。プリペアドステートメント(`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`)または安全なライブラリに切り替えてください。

ko

사용자 데이터가 수동으로 작성한 SQL 문자열로 흘러 들어갑니다. 사용자 데이터는 사전 컴파일된 문장 또는 ORM을 통해 SQL에 안전하게 삽입해야 합니다. SQL을 수동으로 조립하는 것은 SQL 인젝션의 의심 신호이며, 공격자는 이를 악용해 데이터베이스 데이터를 탈취하거나 변조할 수 있습니다. 사전 컴파일된 문장(`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`) 또는 안전한 라이브러리를 대신 사용하십시오.

ru

Пользовательские данные попадают в собранную вручную SQL-строку. Безопасно вставлять пользовательские данные в SQL позволяют подготовленные выражения или ORM. Ручная сборка SQL — признак возможной SQL-инъекции, через которую злоумышленник похитит или изменит данные базы. Используйте подготовленные выражения (`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`) или безопасную библиотеку.

zh

用户数据流入手工构造的 SQL 字符串。用户数据应通过预编译语句或 ORM 安全地插入 SQL。手工拼接 SQL 是 SQL 注入的可疑信号,攻击者可借此窃取或篡改数据库数据。请改用预编译语句(`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`)或安全的库。

zh-Hant

使用者資料流入手工建構的 SQL 字串。使用者資料應透過預備陳述式或 ORM 安全地插入 SQL。手工串接 SQL 是 SQL 注入的可疑訊號,攻擊者可藉此竊取或篡改資料庫資料。請改用預備陳述式(`$mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");`)或安全的程式庫。

CWE 知识卡

语言名称修复建议
deSQL-InjectionVerwenden Sie durchgängig parametrisierte Abfragen/Prepared Statements, verketten Sie keine SQL-Strings und schließen Sie beim ORM die Schnittstellen für rohe Verkettung.
en——
frNeutralisation inappropriée des éléments spéciaux dans une commande SQL (injection SQL)Utilisez systématiquement des requêtes paramétrées ou des instructions préparées ; interdisez la concaténation de SQL et fermez les points d'entrée SQL brut de l'ORM.
jaSQL インジェクションすべてパラメーター化クエリ/プリペアドステートメントを使用し、SQL を文字列連結で組み立てないでください。ORM ではネイティブな連結の入り口を無効化してください。
koSQL 인젝션모든 곳에서 매개변수화된 쿼리나 사전 컴파일된 문장을 사용하고, SQL을 문자열로 이어 붙이지 말며, ORM이 SQL을 문자열로 이어 붙이는 네이티브 진입점은 비활성화하십시오.
ruSQL-инъекцияВезде применяйте параметризованные запросы и подготовленные выражения; склейка SQL-строк запрещена, а нативные пути ORM закрывайте.
zhSQL 注入全部使用参数化查询/预编译语句,禁止字符串拼接 SQL,ORM 关闭原生拼接入口。
zh-HantSQL 注入全部使用參數化查詢/預備陳述式,禁止字串串接 SQL,ORM 關閉原生串接入口。

OWASP

A01:2017 - InjectionA03:2021 - Injection

元数据

likelihoodHIGH
impactMEDIUM
confidenceMEDIUM

修复字段

fix无
fix-regex无

上游规则源

github.com/opengrep/opengrep-rules/tree/main/php/lang/security/injection/tainted-sql-string.yaml