第一种方法:
首先判断是否存在注入点

由此可知,网站存在注入,并未sqlserver注入
“--”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。

注意:sqlserver中的if()函数与mysql中的不一样
mysql:if(1=1,1,0)
sqlserver:if(1=1) (sql语句) else (sql语句)
此时开始注出数据


第二种方法:

这种方法里构造的sql语句,是利用了sqlserver中构造变量的方法
declare @x char(9) 构造一个char型的@x
set @x=0x303a303a35 为@x赋值“0x303a303a35”也就是“0:0:5” 注意这里赋的值是为了用在候面的"waitfor delay @x"这里
waifor delay @x 等价于 waitfor delay ’0:0:5‘
注意:declare变量的作用域是所在的批处理,if也阻断不了它的作用域。
网友评论