判断数据库类型

Posted LemonSec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断数据库类型相关的知识,希望对你有一定的参考价值。

目前,互联网上动态网页所使用的数据库,最常见的就是Microsoft Access和Microsoft SQL Server了。在判断过动态网页使用的是何种脚本以后,就要判断数据库类型了。这在脚本注入的过程中,是最基础最重要的一个过程。

 
 
 
 
菜鸟级别使用的一般有2种方法:
 
 
 
一、 利用数据库服务器的系统变量进行数据库判断
 
 
 
 
http://www.2cto.com /index.asp?ID=1 and user>0
 
 
 
在为过滤的脚本系统中,此语句直接被判断为正常语句,执行并给用户进行反馈,则此脚本系统使用的是Microsoft SQL Server数据库;还可以得到当前连接的数据库的用户名是否存在“user”中。
 
 
 
 
二、 利用系统表进行数据库判断
 
 
 
 
 
 
http://www.2cto.com /index.asp?ID=1 and (select count (*) from sysobjects)>0
 
 
 
 
 
 
http://www.2cto.com /index.asp?ID=1 and (select count (*) from msysobjects)>0
 
 
 
一般情况下,Microsoft Access的系统表是msysobjects,默认状态下用户没有访问权限,而Microsoft SQL Server的系统表是sysobjects,默认状态下用户是有访问权限的。
 
若数据库是Microsoft SQL Server,且没有进行参数的过滤,则运行第一个语句后,显示的页面是正常的,第二条语句的结果是异常的;若数据库是Microsoft Access,那么两个链接得到的页面都是异常的




查看更多文章,关注下方二维码


以上是关于判断数据库类型的主要内容,如果未能解决你的问题,请参考以下文章

在java中,怎样判断一个变量是啥类型的?

javascript数据类型的判断

如何判断java中一个数据是否一个类的对象

javasript数据类型以及如何判断数据类型

python 判断数据类型及释疑

(转)python 判断数据类型