zoukankan      html  css  js  c++  java
  • SQL Injection

    SQL Injection:通过SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到

    欺骗服务器执行恶意的SQL命令。

    向服务器端提交事先准备好的数据,拼凑出攻击者想要的SQL语句,以改变数据库操作执行计划。

    注入途径:GET,POST,Client-Agent,Cookie,Server Enviroment...  

    注意:

    1、永远不要行人用户的输入,要对用户输入进行校验,可通过正则表达式,或限制长度,对单引号和=转换。

    2、永远不要使用动态拼装SQL,可使用参数化SQL,或直接使用存储过程进行数据库查询。数据表添加架构,降低表明被猜出来的可能性。

    3、不要使用管理员权限的数据库连接

    4、不要把机密信息明文存放,请加密

    5、应用的异常信息应该给的尽量少,最好使用自定义的错误信息进行包装

    回答总结:

    SQL injection攻击网络主要时通过SQL命令插入到web表单提交、输入域名、页面请求页面查询字符串,拼凑出攻击者想要的SQL,改变数据库操作。
    如果将输入的方式输入为,SELECT * from Users WHERE login = ''AND password = '',注入为SELECT * from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1',那么就可以获得全部的信息。
    所以,如果我们要防止SQL injection,不要动态拼装SQL,可使用参数化SQL或使用直接存储过程。还有就是要注意对输入进行校验,可以用正则表达式。不要用管理员权限进行数据连接。用户的信息要加密,不要明文存放。

  • 相关阅读:
    P4097 [HEOI2013]Segment(李超线段树模板)
    P2155 [SDOI2008]沙拉公主的困惑
    BZOJ3675 [Apio2014]序列分割[斜率优化dp]
    hdu4261 Estimation[暴力dp+对顶堆]
    poj2374 Fence Obstacle Course[线段树+DP]
    poj1463 Strategic game[树形DP]
    CH5E02 [IOI1999]花店橱窗[暴力dp]
    CH5E01[NOIP2010] 乌龟棋[暴力]
    CH5702 Count The Repetitions[倍增dp]
    P1081 [NOIP2012]开车旅行[倍增]
  • 原文地址:https://www.cnblogs.com/L-a-u-r-a/p/8558207.html
Copyright © 2011-2022 走看看