• SQL注入


    是什么?

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

    如何防止SQL注入

      1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。

      2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

      3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

      4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

      5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

      6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。

    实例:

      在用户名输入框中输入:' or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为:

      select * from users where username='' or 1=1#' and password=md5('')

      语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价:

      select * from users where username='' or 1=1#' and password=md5('')

      等价于

      select * from users where username='' or 1=1

  • 相关阅读:
    mysql索引
    mysql主从复制(同步)
    MySQL事务与锁
    四大高阶函数
    客户端、服务端通信值统计字符串个数【网络程序设计
    《Unicast QoS Routing Algorithms for SDN Survey 2018》【毕设
    CDQ分治【待补充,数据结构
    KD树学习小结【待补充,数据结构
    线段树模板【数据结构
    【牛客网】牛客练习赛19 F 算式子【数学--递推 、前缀、数字】
  • 原文地址:https://www.cnblogs.com/flypea93/p/9208172.html
Copyright © 2020-2023  润新知