zoukankan      html  css  js  c++  java
  • SQL注入攻击

    SQL注入多见于动态SQL,利用拼接SQL的不安全性,在用户输入时输入特定的字符串、已到达非正常的目的。

    举个最简单的例子,假设没有一定的安全意识,客户端用一下VB代码构造查询和验证用户身份


    Visual Basic code12 sql=" select count(*) as cnt from dbo.users where usernmae='"_ & InputUserName & "' and pass'" & InputPass "';"


    正常的用户user1在输入框内输入
    InputUserName ='user1'
    InputPass='123'
    代码构造成下面的查询返回行数结果1.

    SQL code1 select count(*) as cnt from dbo.users where usernmae='user1' and pass='123'

    返回结果>0,则允许用户登陆。

    sql注入示例,在输入框输入
    InputUserName ="' or 1=1 --"
    InputPass= ""
    VB代码将构造成:

    SQL code1 select count(*) as cnt from dbo.users where usernmae='' or 1=1 --'and pass= '';

    注入原理是关闭了用户名前面开始的引号,添加表达式1=1,破折号'--'注释后面其余部分代码。这样返回的结果总是会大于0.那么就可以正常登陆系统了。
    还可以用户名输入框内输入
    "' or 1=1 drop database <db_name>--"
    --或者
    "'or 1=1 EXEC master.dbo.xp_cmdshell"format d:"--"


    SQL注入多见于动态SQL,利用拼接SQL的不安全性,在用户输入时输入特定的字符串、已到达非正常的目的。

    举个最简单的例子,假设没有一定的安全意识,客户端用一下VB代码构造查询和验证用户身份


    Visual Basic code12 sql=" select count(*) as cnt from dbo.users where usernmae='"_ & InputUserName & "' and pass'" & InputPass "';"


    正常的用户user1在输入框内输入
    InputUserName ='user1'
    InputPass='123'
    代码构造成下面的查询返回行数结果1.

    SQL code1 select count(*) as cnt from dbo.users where usernmae='user1' and pass='123'

    返回结果>0,则允许用户登陆。

    sql注入示例,在输入框输入
    InputUserName ="' or 1=1 --"
    InputPass= ""
    VB代码将构造成:

    SQL code1 select count(*) as cnt from dbo.users where usernmae='' or 1=1 --'and pass= '';

    注入原理是关闭了用户名前面开始的引号,添加表达式1=1,破折号'--'注释后面其余部分代码。这样返回的结果总是会大于0.那么就可以正常登陆系统了。
    还可以用户名输入框内输入
    "' or 1=1 drop database <db_name>--"
    --或者
    "'or 1=1 EXEC master.dbo.xp_cmdshell"format d:"--"

  • 相关阅读:
    CAD中的各种Polyline
    在CAD二次开发中使用状态条按钮
    在CAD二次开发中使用进度条
    EXSI6.5复制文件太慢的解决方法
    vlan交换机的端口模式有哪几种
    此计算机上的安全设置禁止访问其他域的数据源
    Could not write to output file 'c:WindowsMicrosoft.NET ASP.NET Filesxx' -- 'Access is denied
    添加现有文件夹到项目解决方案
    SSM-MyBatis-18:Mybatis中二级缓存和第三方Ehcache配置
    SSM-MyBatis-17:Mybatis中一级缓存(主要是一级缓存存在性的证明,增删改对一级缓存会造成什么影响)
  • 原文地址:https://www.cnblogs.com/tianliang/p/3117104.html
Copyright © 2011-2022 走看看