判断不同数据库的方法tips

目录


title: sql注入判断不同数据库的tips date: tags: 外围打点


经验之谈

Asp和.net通常使用sqlserver

Php通常使用mysql或者postgresql

Java通常是oracle或mysql

Iis服务器是基于windows的架构,后台数据库有可能是sqlserver

Apache服务器,可能使用开源数据库mysql或postgresql

字符串拼接

ORACLE:'a'||'a' =aa
MS-SQL:'a'+'a' =aa
MYSQL:'a' 'a' =aa

特有函数

时间延迟函数

oracle: 使用UTL_HTTP向一个不存在的ip发起链接请求,若返回页面大幅度延迟则可判定为oracle

mssql:使用语句 waitfor delay '0:0:10' 若返回页面大幅度延迟则可判定为mssql

mysql: sleep函数来产生延迟

mysql特有函数

BENCHMARK. 用于测试特定操作的执行速度 select BENCHMARK(1000000,md5('admin'))

报错

尝试让语句报错,从错误信息中获取数据库信息

版本信息

preview

系统表

mssql:(select count(*) from sysobjects)>0
access: (select count(*) from msysobjects)>0
mysql:(select count(*) from information_schema.TABLES)>0
orcle:(select count(*) from sys.user_tables)>0