• sql注入与sqlmap的使用


    一.sql注入产生的原因

    sql注入用一句概况就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 通过控制部分SQL语句,攻击者可以查询数据库中任何自己需要的数据,利用数据库的一些特性,可以直接获取数据库服务器的系统权限。

    要利用sql注入必须要满足两个必要的条件:

    1)用户能够控制数据的输入

    2)原本要执行的代码,拼接了用户的输入

    正是由于这种拼接,导致了代码的注入。对于一个web请求来说,sql注入可能存在的URL参数,cookie,POST数据,以及HTTP消息头等。

    二. 漏洞分类

    根据是否回显可以分为:显示注入,盲注

    根据注入类型分为: 字符型,数字型

    三.检测是否存在sql注入

    1.注入字符串数字类型时

    1)提交一个单引号看是否会引发与正常响应不同或者报错

    2)如果有错误,输入两个单引号,把后面的单引号进行转义,看错误是否消失,消失中则表明可能存在sql注入

    3)进一步确定漏洞是否存在,构造”良性“输入

    oracle:'||'foo
    ms-sql:'+'foo
    mysql:' 'foo

    2.注入类型为数字

    1)尝试输入一个结果等于原始数字值的简单数学表达式,例如1+1,如果做出相同的响应,则表明它易于受到攻击(前提是改变数字会对响应有较大的改变)

    2)如果第一个测试成功,可以用更复杂的方式:67-ASCII('A')或者51-ASCII(1)

    3.时间延迟判断

    主要是构造语句达到时间延迟的目的。

    常用的语句:

    UserName=fff';waitfor%20delay%20'0:0:10'%20--%

  • 相关阅读:
    RadRails插件在MyEclipse的安装
    如何取消电脑的自动播放功能
    程序员怎么提高自己的技术书籍
    PHP网站,两个域名在一个空间,如何做301转向
    下载和安装Tcl/Tk:
    Hibernate 3.0配置Proxool 0.8.3数据库连接池
    CSS滤镜属性详解
    使用InstantRails搭建Ruby On Rails开发环境
    hibernate 二级缓存配置
    Ruby on rails开发从头来(windows)(二)创建项目和第一个Hello world
  • 原文地址:https://www.cnblogs.com/yonghegn/p/10066123.html
Copyright © 2020-2023  润新知