Skip to content
微信公众号

sql注入

SQL 注入产生的原因是由于开发对用户的输入数据未做有效过滤,直接引用 SQL 语句执行,导致原本的数据被当作 SQL 语句执行。通常来说,SQL 注入分为数字型和字符型注入,我们主要通过注入参数类型来判断。

它和xss攻击有点像,数据变成了程序。 例如:

sql
select * from table where id = ${id};
//用户传入的id为 1 or 1 = 1,最终sql为select * from table where id =  1 or 1 = 1 这就形成了sql注入

sql注入的危害

  • 猜解密码
  • 获取数据
  • 删库删表
  • 拖库

sql注入防御

  • 关闭错误输出,不要将sql错误返回给浏览器
  • 检查数据类型
  • 对数据进行转义
  • 使用参数化查询
  • 使用ORM(对象关系映射)

Released under the MIT License.