精华内容
下载资源
问答
  • 数据库类型判断

    千次阅读 2019-06-14 20:37:20
    判断数据库类型,主要是通过各数据库特有的函数,字符串处理,注释等来排除、猜测数据库的类型。 常见的数据库: Oracle、MySQL、SQL Server、Access、MSsql、Postgresql,mongodb等 前端与数据库类型: asp:sql ...

    作者:小刚
    一位苦于信息安全的萌新小白帽,记得关注给个赞,谢谢
    本实验仅用于信息防御教学,切勿用于它用途

    在sql注入之前,先得学会判断web后面是个啥子数据库,这样才能对症下毒,更容易实现sql注入
    判断数据库类型,主要是通过各数据库特有的函数,字符串处理,注释等来排除、猜测数据库的类型。
    在这里插入图片描述

    常见的数据库:

    Oracle、MySQL、SQL Server、Access、Postgresql,mongodb等

    前端与数据库类型:

    asp:sql server,Access
    .net :sql server
    php:PostgreSQL,Mysql
    java:Oracle,Mysql

    常用web和数据库构造:

    1,Asp+access或sql server
    2,PHP+Mysql

    各数据库标志性信息:

    sql server:select@@version --
    Oracle :select banner from v$version
    mysql:select @@version,version() --
    length(user)>0正常
    postgresql:select version() --

    各数据库特有的函数:

    sql server: @@pack_received @@rowcount
    mysql:connection_id() last_insert_id() row_count()
    orcale:bitand(1,1)
    postgresql: select extract(dow from now())

    对于字符串处理方式:

    sql server :id=1 and 'a'+'b'='ab' --
    mysql:id=1 and 'a'+'b'='ab' , 'ab'=concat('a','b')
    oracle:id=1 and 'a'+'b'='a'||'b' ,'ab'=concat('a','b')
    postgresql :id=1 and 'a'+'b'='a'||'b' ,'ab'=concat('a','b')

    特殊符号,注释的判断

    安顺序来
    1,“null”和“%00”是Access支持的注释。
    2,“#”是MySQL中的注释符,返回错误说明该注入点可能不是MySQL,另外也支持’-- ',和/* */注释(注意mysql使用-- 时需要后面添加空格)
    3,“”和/* */是Oracle,SQL server和MSSQL支持的注释符,如果正常,说明可能就是这仨了。
    4,“;”是子句查询标识符,在Oracle中不支持多行查询,返回错误,很可能是Oracle数据库。
    这样一串下来,基本就知道了数据库类型了

    对Mssql和access数据库的判断:

    ’ and exists (select count(*) from sysobjects) >0正常,就是MSSQL数据库

    ’ and exists (select count(*) from msysobjects) >0两条都不正常,是Access数据库

    通过上面各种判断方法,各种主流数据库基本就能判断出来了。判断好数据库类型后,在结合前面说的sql注入方法,基本就那啥了。
    在这里插入图片描述

    展开全文
  • 数据库类型区分

    千次阅读 2018-01-15 10:51:43
    数据库类型主要可分为: 网状数据库(Network Database)、 关系数据库(Relational Database)、 树状数据库(Hierarchical Database)、 面向对象数据库(Object-oriented Database)等。 商业应用中主要是关系数据库...
    数据库类型主要可分为:
    网状数据库(Network Database)、
    关系数据库(Relational Database)、
    树状数据库(Hierarchical Database)、
    面向对象数据库(Object-oriented Database)等。
    商业应用中主要是关系数据库,比如DB2、Sybase、MS SQL Server、Informax、MySQL等。
    展开全文
  • 数据库、数据库类型、RDBMS以及MySQL

    千次阅读 2019-02-13 12:26:17
    什么是数据库 数据库 就是按一定的结构来组织、存储和管理数据的仓库 ...数据库类型 包括 : 关系型 和 非关系型 【关系型】 MySQL MariaDB PostgreSQL Microsoft SQL Server Oracle数据库 Sybase 【...

    什么是数据库

    • 数据库 就是按一定的结构来组织、存储和管理数据的仓库
    • 可以很方便的进行crud, 能提供多个用户共享、具有尽可能小的冗余度、与应用程序批次独立的数据集合。
    • 相比较文件操作缺点:速度慢,不灵活等

    数据库类型

    包括 : 关系型 和 非关系型

    【关系型】:通过外键关联来建立表与表之间的关系,建立在关系模型基础之上的是关系型数据库

    • MySQL
    • MariaDB
    • PostgreSQL
    • Microsoft SQL Server
    • Oracle数据库
    • Sybase

    【非关系型】: 以对象的形式储存,这些对象之间没有直接关系,而对象之间的关系都是通过本身属性决定的,对象间的属性都是独立的,数量也不相同。

    • MongoDB
    • Redis
    • BigTable
    • CouchDB

    RDBMS 特点

    RDBMS:(Relational Database Management System) 关系型数据库管理系统

    • 数据以表格形式出现
    • 每行为各种记录名称
    • 每列为记录名称所对应的数据域
    • 许多的行和列组成一张表单
    • 若干表单组成库

    RDBMS 常用术语

    • 数据库:数据库是一些关联表的集合。
    • 数据表:表示数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格。
    • 列:一列(数据元素)包含了相同的数据,例如邮政编码的数据。
    • 行:一行(类似元组,或称为记录),是一组相关的数据,例如一条用户信息数据。
    • 冗余:存储二倍数据,冗余降低了性能,但提高了数据的安全性。
    • 主键:主键是唯一的,一个数据表中只能包含一个主键。你可以使用主键来查询数据。
    • 外键:外键用于关联两个表,还有一种组合外键。
    • 复合键:或称为组合键,将多个列作为一个索引键,一般用于复合索引。
    • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似书籍目录。
    • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

    MySQL 数据库

    • 由瑞典 MySQL AB公司开发,目前属于Oracle公司。
    • MySQL是目前最流行的开源关系型数据库管理系统(RDBMS), 特别在WEB应用方面
    • MySQL版本:社区版(免费)、企业版、集群版(开源免费)、高级集群版
    展开全文
  • 数据库类型与java数据类型的对应关系1. 从 JDBC 类型映射到 Java 类型JDBC 类型Java 类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math....

    数据库类型与java数据类型的对应关系



    1. 从 JDBC 类型映射到 Java 类型

    JDBC 类型Java 类型
    CHARString
    VARCHARString
    LONGVARCHARString
    NUMERICjava.math.BigDecimal
    DECIMALjava.math.BigDecimal
    BITboolean
    TINYINTbyte
    SMALLINTshort
    INTEGERint
    BIGINTlong
    REALfloat
    FLOATdouble
    DOUBLEdouble
    BINARYbyte[]
    VARBINARYbyte[]
    LONGVARBINARYbyte[]
    DATEjava.sql.Date
    TIMEjava.sql.Time
    TIMESTAMPjava.sql.Timestamp

     2.从 Java 类型映射到 JDBC 类型


    Java 类型JDBC 类型
    StringVARCHAR 或 LONGVARCHAR
    java.math.BigDecimalNUMERIC
    booleanBIT
    byteTINYINT
    shortSMALLINT
    intINTEGER
    longBIGINT
    floatREAL
    doubleDOUBLE
    byte[]VARBINARY 或 LONGVARBINARY
    java.sql.DateDATE
    java.sql.TimeTIME
    java.sql.TimestampTIMESTAMP


     
    String 类型的映射通常是 VARCHAR,但如果所给的值超出了驱动程序对 VARCHAR 值所限定的极限,则将转换为 LONGVARCHAR 类型。对 byte[]VARBINARY 及 LONGVARBINARY 值也一样。

    3. 从 JDBC 类型到 Java Object 类型的映射

    由于 Java 内置类型(例如 boolean 和 int)不是 Object 的子类型,因此对于 getObject/setObject 方法,从 JDBC 类型到 Java object 类型的映射稍有不同。此种映射如下表所示:

     

    JDBC 类型Java Object 类型
    CHARString
    VARCHARString
    LONGVARCHARString
    NUMERICjava.math.BigDecimal
    DECIMALjava.math.BigDecimal
    BITBoolean
    TINYINTInteger
    SMALLINTInteger
    INTEGERInteger
    BIGINTLong
    REALFloat
    FLOATDouble
    DOUBLEDouble
    BINARYbyte[]
    VARBINARYbyte[]
    LONGVARBINARYbyte[]
    DATEjava.sql.Date
    TIMEjava.sql.Time
    TIMESTAMPjava.sql.Timestamp

     

    4. Java Object 类型映射到 JDBC 类型

    Java Object 类型JDBC 类型
    StringVARCHAR 或 LONGVARCHAR
    java.math.BigDecimalNUMERIC
    BooleanBIT
    IntegerINTEGER
    LongBIGINT
    FloatREAL
    DoubleDOUBLE
    byte[]VARBINARY 或 LONGVARBINARY
    java.sql.DateDATE
    java.sql.TimeTIME
    java.sql.TimestampTIMESTAMP


     
    注意,String 的映射通常为 VARCHAR,但如果所给的值超出了驱动程序对 VARCHAR 值所限定的极限值,则将转换为 LONGVARCHAR。对 byte[]VARBINARY 和 LONGVARBINARY 值也一样。

     

    5. 由 setObject 所进行的转换

    setObject

     

     T
    I
    N
    Y
    I
    N
    T
    S
    M
    A
    L
    L
    I
    N
    T
    I
    N
    T
    E
    G
    E
    R
    B
    I
    G
    I
    N
    T
    R
    E
    A
    L
    F
    L
    O
    A
    T
    D
    O
    U
    B
    L
    E
    D
    E
    C
    I
    M
    A
    L
    N
    U
    M
    E
    R
    I
    C
    B
    I
    T
    C
    H
    A
    R
    V
    A
    R
    C
    H
    A
    R
    L
    O
    N
    G
    V
    A
    R
    C
    H
    A
    R
    B
    I
    N
    A
    R
    Y
    V
    A
    R
    B
    I
    N
    A
    R
    Y
    L
    O
    N
    G
    V
    A
    R
    B
    I
    N
    A
    R
    Y
    D
    A
    T
    E
    T
    I
    M
    E
    T
    I
    M
    E
    S
    T
    A
    M
    P
    Stringxxxxxxxxxxxxxxxxxxx
    java.math.BigDecimalxxxxxxxxxxxxx      
    Booleanxxxxxxxxxxxxx      
    Integerxxxxxxxxxxxxx      
    Longxxxxxxxxxxxxx      
    Floatxxxxxxxxxxxxx      
    Doublexxxxxxxxxxxxx      
    byte[]             xxx   
    java.sql.Date          xxx   x x
    java.sql.Time          xxx    x 
    java.sql.Time- stamp          xxx   xxx


     
    从 Java object 类型到 JDBC 类型的转换。

     

    6. 由 ResultSet.getXXX 方法检索的 JDBC 类型

    "x" 表示该方法可以检索 JDBC 类型。"X" 表示建议使用该方法来检索该 JDBC 类型。

     

     T
    I
    N
    Y
    I
    N
    T
    S
    M
    A
    L
    L
    I
    N
    T
    I
    N
    T
    E
    G
    E
    R
    B
    I
    G
    I
    N
    T
    R
    E
    A
    L
    F
    L
    O
    A
    T
    D
    O
    U
    B
    L
    E
    D
    E
    C
    I
    M
    A
    L
    N
    U
    M
    E
    R
    I
    C
    B
    I
    T
    C
    H
    A
    R
    V
    A
    R
    C
    H
    A
    R
    L
    O
    N
    G
    V
    A
    R
    C
    H
    A
    R
    B
    I
    N
    A
    R
    Y
    V
    A
    R
    B
    I
    N
    A
    R
    Y
    L
    O
    N
    G
    V
    A
    R
    B
    I
    N
    A
    R
    Y
    D
    A
    T
    E
    T
    I
    M
    E
    T
    I
    M
    E
    S
    T
    A
    M
    P
    getByteXxxxxxxxxxxxx      
    getShortxXxxxxxxxxxxx      
    getIntxxXxxxxxxxxxx      
    getLongxxxXxxxxxxxxx      
    getFloatxxxxXxxxxxxxx      
    getDoublexxxxxXXxxxxxx      
    getBigDecimalxxxxxxxXXxxxx      
    getBooleanxxxxxxxxxXxxx      
    getStringxxxxxxxxxxXXxxxxxxx
    getBytes             XXx   
    getDate          xxx   X x
    getTime          xxx    Xx
    getTimestamp          xxx   x X
    getAsciiStream          xxXxxx   
    getUnicodeStream          xxXxxx   
    getBinaryStream             xxX   
    getObjectxxxxxxxxxxxxxxxxxxx


    展开全文
  • java中类型和数据库类型对应

    千次阅读 2017-12-21 09:33:24
    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述    VARCHAR L+N VARCHAR java.lang.String 12  CHAR N CHAR java.lang.String 1 字符型  BLOB L+N BLOB java.lang.byte[]...
  • NoSQL数据库类型简介

    万次阅读 多人点赞 2019-06-27 15:00:01
    但是,归结起来,可以将典型的 NoSQL 划分为 4 种类型,分别是键值数据库、列式数据库、文档数据库和图形数据库,如图 1 所示。 图 14 种类型的 NoSQL 数据库 图 2键值数据库举例 1. 键值数据库 键值数据库...
  • 判断jdbc连接的数据库类型

    千次阅读 2018-08-15 10:23:34
    jeeplus框架中,对sqlserver数据库的分页不支持。 需要进行分页工具类的修改,所以需要对数据库类型进行判断 https://blog.csdn.net/yu452148611/article/details/46314699...
  • sql判断数据库类型

    千次阅读 2013-12-03 22:41:41
    用工具暂无法判断数据库类型,可以调用某些SQL函数也可判断数据库类型,虽然SQL语句大部分是通用 的。但一些内置的函数还是有一定的区别。 len和length 在mssql和mysql以及db2内,返回长度值是调用len...
  • 使用 mybatis-generator 发现数据库类型是 tinyint(4) , 生成 model 时字段类型是 Byte ,使用的时候有点不便数据库的类型和 Model 中 Java 类型的关系是由 JavaTypeResolver 控制的, 查资料发现可以在生成配置中指定...
  • 以下不同的数据库类型中,哪些不属于关系数据库范畴 正确答案: A C D 你的答案: A C (错误) MongoDB PostgreSQL Redis HBase 添加笔记 求解答(0) 收藏 纠错 ...
  • 根据数据源获得数据库类型

    千次阅读 2013-12-03 17:52:24
    根据数据源获得数据库类型
  • 在java中,对于String 类型的字段,我们在设计数据库的时候,会有两个选择,一个char,一个varchar,那我们应该怎么选择呢? 我们先来看一下char和varchar的区别: char是定长的,varchar是可变的。 举个例子:...
  • 数据库类型与JDBC TYPE 和Java类型对应关系 SQLDatatypes JDBC Typecodes Standard Java Types Java取值范围 NUMBER java.sql.Types.NUMERIC java.math....
  • 判断数据库类型

    千次阅读 2018-06-23 15:51:55
    判断数据类型 and (select count(*)fromsysobjects)>0 判断SQLserver返回正常,可能为SqlServer 和mysql,错误可能为access;and(select count(*) from msysobjects)>0 判断ACCESS 返回不够权限...
  • jdbc,jdbcTemplate获取数据库类型

    千次阅读 2015-02-02 09:54:08
    很多时候,系统需要连接多个数据库处理,或者考虑代码兼容不同数据库的问题。当然是用hibernate无需考虑这些...那如何确定获取数据库类型呢,在网上搜罗了许久,终于有所收获。如下: 如果使用的spring的jdbcTem
  • 判断当前数据库类型是mysql还是oracle

    千次阅读 2017-11-20 16:50:29
    判断使用的数据库类型,可以从配置文件,从获取连接判断。 databaseName = 配置方法.SourceTransactionManager().getDataSource().getConnection() .getMetaData().getDatabaseProductName(); 从数据源开始获取...
  • 后台数据库类型判断:一、通过页面返回的报错信息,一般情况下页面报错会显示是什么数据库类型,在此不多说;二、通过各个数据库特有的数据表来判断:1、mssql数据库 http://127.0.0.1/test.php?id=1and(select ...
  • 数据库有很多种,根据存储模型划分,数据库类型主要可分为:网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等。...
  • 关系型数据库 (数据库类型

    千次阅读 2015-12-18 09:51:46
    关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的...
  • Hibernate HBM里的 数据库类型

    千次阅读 2012-09-14 13:10:23
    Hibernate 的配置文件里的 SQL-type ...在 HSQL里 不指定 SqL -TYPE 当 数据类型为 java.util.Date的时候 默认使用 datatime 作为 数据库类型 但是在 sql 2005 里 会自动转变为 时间戳 timestamp 对应的 java
  • 大数据:数据库类型简介

    千次阅读 2019-02-23 22:21:08
    这篇文章,作为抛砖引玉,给大家介绍各种常见数据库的类别。在之后还有发布一些文章,针对性地分析同一个类别中的数据库的优缺点。 这将是一个系列的文章,几个从事大数据工作的朋友,组成一个大数据学习小组,对...
  • PDM转数据库类型,并导出建表脚本

    千次阅读 2015-04-02 16:12:49
    1、转数据库类型 选择Database->Change Current DBMS...打开对话框,选择新的数据库系统。 2、导出 菜单 Database -->Database Generation ① 设置输出文件     ②选择是否需要导出创建...
  • Hibernate类型和数据库类型对应

    千次阅读 2014-01-13 16:39:41
    Hibernate映射类型 Java类型 标准SQL类型 integer /int java.lang.Integer /int INTEGER 4字节  long java.lang.Long /long BIGINT 8字节  short jav
  • Java数据类型对应的各数据库类型

    万次阅读 2018-09-25 11:49:58
    Java与Oracle、IBM Content Manager、Informix及SQL Server映射表: ...对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。 ...
  • Winform开发框架中实现同时兼容多种数据库类型处理 在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的...
  • 四种NoSQL数据库类型

    千次阅读 2018-02-25 16:24:49
    转载别人的csdn http://blog.csdn.net/arthursunbao/article/details/38340637一网打尽当下NoSQL类型、适用场景及使用公司在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统...
  • 强制转换数据库类型

    2017-11-29 11:02:26
    CAST(select 字段 as NVARCHAR(100))
  • 时间类型的转换: java.util.Date–>java.sql.Date、Time、Timestamp 把util的Date转换成毫秒值 使用毫秒值创建sql的Date、Time、Timestamp java . util . Date date = new java . util . Date ( ) ;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,099
精华内容 61,239
关键字:

数据库类型