巧用替换法获取数据库密码实现数据采集

作 者:

作者简介:
何红兵,安庆市怀宁县审计局

原文出处:
安徽审计

内容提要:


期刊代号:V3
分类名称:审计文摘
复印期号:2012 年 09 期

关 键 词:

字号:

      某县涉农补贴资金管理系统采用Sybase数据库,系统提供了数据查询、修改、导出Excel等功能,由于涉农补贴数据量大,数据导出过程非常耗时。被审计单位无法提供数据库管理员账号和密码,因此无法直接通过其他数据库管理系统采集数据。笔者通过替换二进制代码的方法获取数据库密码,并顺利实现数据采集。

      数据采集过程中数据库管理工具选用Adaptive Server Anywhere 9,二进制编辑工具选用Ultraedit,软件安装过程在此不再赘述。

      

      

      

      

      一、Sybase数据库管理员账号和密码

      Sybase针对数据库对象,包括数据库、表、视图和存储过程等执行自由选择的访问控制策略。每个对象都有一个所有者,具有特殊权限,而其他用户可以根据用户身份、组成员资格和活动角色授予特定的访问权限,以便允许在对象上执行适当的操作。数据库管理员具备针对数据库各个表与字段的读写权限,默认数据库管理员账号为“dba”,密码为“sql”。

      二、查看Sybase数据库管理员密码

      使用Ultraedit打开不同的Sybase数据库文件(*.db),分析二进制形式存储的数据库文件信息可以发现:右侧代码中存在“dbo”、“PUBLIC”、“DBA”、“SYS”等字样,但每个文件中“DBA”后面对应的信息都不相同,我们将该区域称为DBA密码区。

      三、修改Sybase数据库管理员密码

      修改Sybase数据库管理员密码的基本思路:通过新建一个默认管理员账户和密码的空数据库,将需要修改密码的Sybase数据库DBA密码区替换成图(3)黄色区域对应的二进制代码。

      使用Ultraedit打开采集到的Sybase数据库snbz.db,通过“搜索”查找“44 42 41”,按照图(3)对应的二进制代码修改后,保存数据库。

      

      四、利用现场审计实施系统(AO)采集数据

      利用AO采集业务数据库的方法很多,采用OLE DB数据源连接就是一种简便实用的方法。

      采集数据之前,首先需要设置ODBC数据源,数据源的驱动程序选择Adaptive Server Anywhere 9,在“Adaptive Server Anywhere 9的ODBC配置”界面,设置数据源名称为“snbz”,用户ID为“dba”,口令为“sql”,数据库文件可以通过“浏览”按钮选择数据库存储位置,通过“测试连接”按钮可以验证数据库连接设置是否正确。

      登录AO通过“采集转换”功能采集业务数据库数据,在数据源选项选择“连接其他OLE DB数据源”,点击“编辑”按钮打开“数据链接属性”界面,“OLEDB提供程序”选择“Sybase Adaptive Server Anywhere Provider 9.0”,“数据源”名称填写“snbz”,点击“测试连接”可以验证设置是否正确。

      具体采集过程较为简单,这里不再详细叙述。至此我们成功替换了数据库的密码并实现了数据的采集。

      五、总结

      通过替换二进制代码的方法修改Sybase数据库密码能够帮助我们解决无法获知数据库密码的难题。由于不同的Sybase数据库文件对应的二进制密码区域信息也不同,替换法具有很大的灵活性。

相关文章: