[BT]小迪安全2023学习笔记(第29天:Web攻防-SQL注入)
第29天
盲注
基于布尔
?id=1 and length(database())=7
通过AND
,当数据库名字长度等于7时返回正常页面,否则返回其他(或错误)页面
其他函数:
left(databse(),a):截取数据库名的左侧前a位字符
substr(a,b,c):从位置b开始,截取c个长度的字符串a
mid(a,b,c):从位置b开始,接触字符串a的第c位
基于延时
?id=1 and if(1=1,sleep(5),0)
if
:if(条件,5,0) 条件成立返回 5
,否则返回 0
可以通过BP抓包放包后通过查看右下角的时间参数确定是否有延迟
延时是注入里比较好用的
基于报错
?id=1 and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)
and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) 是注入的部分,updatexml()尝试对第一个参数(这里是数字1,通常应该是一个XML路径表达式)进行操作,第二个参数是concat()函数,它连接了波浪线(0x7e,即~字符)和数据库版本号。
@@version 是一个系统变量,用于返回数据库服务器的版本信息。