SQL注入--报错和盲注

目录

报错注入

        floor函数报错注入

        extractvalue()函数报错注入

        updatexml()函数报错注入 

盲注

 布尔盲注

 时间盲注


报错注入

文章内容篇幅较长,请认真研读

回顾之前的文章(sql注入基础),了解到sql注入的分类有

基于正常回显
    联合查询 union select
基于错误回显
    floor()
    extractvalue()
  updatexml()
盲注
    布尔型盲注
    基于时间盲注sleep()

报错注入的前提

        页面上没有显示位,但是需要输出SQL语句执行错误信息。比如mysql_error()

        优点: 不需要显示位

        缺点: 需要输出mysql_error()的报错信息

构造报错注入的步骤

        1、构造目标数据查询语句

        2、选择报错注入函数

        3、构造报错注入语句

        4、拼接报错注入语句

        floor函数报错注入

利用union select 1,count(*) from information_schema.tables group by concat(0x7e,database(),0x7e,floor(rand(0)*2))导致数据库报错,通过concat函数连接注入语句与floor(rand(0)*2)函数,实现将注入结果与报错信息回显的注入方式。

rand()可以产生一个在0和1之间的随机数,直接使用rand函数每次产生的数值不一样,但当我们提供了一个固定的数字0之后,每次产生的值都是相同的。

SQL注入--报错和盲注_第1张图片

你可能感兴趣的:(sql,数据库,安全)