跳到主要内容
uencoder

SQL Injection

SQL 注入是攻击者将恶意 SQL 片段拼入查询字符串,使数据库执行非预期命令的漏洞。

用途

防止攻击者通过输入操纵 SQL 查询,窃取或篡改数据库。

机制

当用户输入直接拼入 SQL 字符串(如 "SELECT * WHERE name='"+input+"'"),输入 ' OR 1=1 -- 可绕过条件。防御:参数化查询(预编译语句)、ORM、输入验证、最小权限账户。

用例

  • 登录绕过(' OR 1=1)
  • 数据泄露(UNION SELECT)
  • 数据篡改(UPDATE/DELETE)
  • 命令执行(xp_cmdshell)

示例

  • 输入
    admin' --
    输出
    Bypasses password verification

    Comments out the password condition

常见错误

Building SQL with string concatenation
Always use parameterized queries

相关词条

相关工具

参考链接