首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle中泄露“天机”的TNS

笔者结合多年的经验与实践总结出黑客通过TNS获取ORACLE数据库版本信息主要有以下三种方式: 1. 身份验证前部分函数泄露数据库版本 在TNS的通讯包中存在大量的函数调用。...箭头所指的方向 VS NNUM=169869568 是ORACLE客户端的版本号。把这组数转成16进制变成 A200100 3. TNS命令不合理使用泄露数据版本 第三种也是最危险的一种。...只需要有IP就能获取端口号、数据库版本号甚至操作系统版本号。危险的来源是本来lsnrctl的命令应该只在本地执行,但oracle为了照顾操作的灵活性,某些版本支持lsnrctl 远程使用。...对比3种获取数据库版本信息的方法,第三种方法要求最低,收益最高,但缺点是这种方式只支持到Oracle10R2版本。而方法一和方法二,则是任何一个版本的oracle数据库都存在安全隐患。...1.设置TNS Listener 口令 默认情况下,TNS Listener 没有设置口令,任何可以连接到系统的人都可以管理它。设置Listener口令可以防止对Listener的无授权管理。

1.4K50

【DB笔试面试542】简述Oracle中的密码文件。

(二)Oracle的两种认证方式 在Oracle中有两类特殊的权限SYSDBA和SYSOPER,当DBA需要对数据库进行维护管理操作的时候必须具有这两类特殊权限之中的一种。...在数据库没有打开的时候,使用数据库内建的账号是无法登陆数据库的,但是拥有SYSDBA或是SYSOPER权限的用户是可以登陆的。认证用户是否拥有这两类特殊权限的方法有两种:OS认证和密码文件认证。...使用Oracle数据库的密码文件进行身份认证,例如:sqlplus lhr/lhr@orcl,只要是使用TNS的方式以sysdba或sysoper身份登录数据库,都是密码文件验证方式。...但是,如果在本地数据库服务器上通过监听(tns)连接到数据库,那么将不再支持密码文件认证,而会报错:ORA-12641: Authentication service failed to initialize...认证和密码文件认证,只有在设置了(NTS)值之后运行在Windows系统上的Oracle才支持OS认证。

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 Oracle 的 Security External Password Store 功能实现数据库加密登陆

    一个解决方案是使用操作系统身份验证,但 Oracle 10g 第 2 版提供了使用安全外部密码存储的 功能。...我们来说,连接到数据库的密码证书是存储在Oracle wallet 里,这个 wallet(钱夹)是一个用来保存认证和签名证书的一种安全软件容器。...这种钱包使用可以简化依靠密码凭据连接到数据库的大规模部 署。 配置此功能时,应用程序代码,批处理作业和脚本不再需要嵌入的用户名和密码。...这些字符串里包括用户名、密码和网络服务名,或者是在 tnsnames.ora 文件当中列出的 TNS 别名,还有另一种连接字符串的 形式是主机名:端口号:sid(这种形式在应用程序连接到 Oracle...connect /@db_connect_string 在这种情况下,数据库证书、用户名和密码是安全地存储在创建的 Oracle 钱夹里,由于 wallet 的自动登录特性(auto login)是打开的

    2K60

    Oracle数据库漏洞分析:无需用户名和密码进入你的数据库

    摘要 一般性的数据库漏洞,都是在成功连接或登录数据库后实现入侵;本文介绍两个在2012年暴露的Oracle漏洞,通过这两种漏洞的结合,可以在不掌握用户名/密码的情况下入侵Oracle,从而完成对数据的窃取或者破坏...本文的作者通过对Oracle俩种漏洞的组合研究,设计了一套在不掌握用户名/密码的方式入侵到Oracle中;这种方法,比传统的需要登录到数据库中的入侵方法,具有更大的安全隐患和破坏性。...CVE-2012-1675漏洞是Oracle允许攻击者在不提供用户名/密码的情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。...我们通过如下的步骤和过程可以实现对Oracle的入侵: (1)利用CVE-2012-1675进行TNS劫持,在监听下利用远程注册,注册同名数据库实例; (2)新登陆的用户,在TNS的负载均衡策略下,有可能流量登录到伪造的监听服务上...,还有使用了SHA-1的10.2.0.3(运行在z/OS下)版本。

    4.1K61

    TNS-12541: TNS: 无监听程序与TNS-12560: TNS: 协议适配器错误

    一、环境描述: OS : Windows Server 2008 32Bit DB : Oracle 11.2.0 二、排错过程: 前天应用不能访问Oracle数据库了 (后台应用能访问数据库),故障发生...正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=john-PC)(PORT= TNS-12541: TNS: 无监听程序 TNS-12560: TNS:...协议适配器错误   TNS-00511: 无监听程序   32-bit Windows Error: 61: Unknown error 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL...三、解决方案步骤 **网上有个解决TNS-12535错误的案例,平台和版本都很类似,如下: 1、在 sqlnet.ora文件中 增加如下行: DIAG_ADR_ENABLED = OFF 2、在listener.ora....先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!!

    2.7K20

    SQL Developer 连接 oracle数据库 报错 Io 异常 The Network Adapter could not establish the connection的三种解决方法

    在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 数据库服务器不正确:ping 服务器IP是否正确。...进行一下操作:在DOS上键入sqlplus,检查oracle是否开启 一却正常,执行下面第2步。 2。防火墙 如果机器上安装有放火墙,可能是服务器端口号屏蔽而造成的。...数据库监听未启动 修改PC上注册表中的ImagePath值。...我下面以现在主流的数据库ORACLE为例 重新手动启动数据库监听: 1:开始 → 运行→ 输入CMD→ 进入DOS命令提示界面 d:>lsnrctl LSNRCTL> status 或者 LSNRCTL...TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 2: No such file or directory 正在连接到

    3.4K10

    关于UR=A的测试

    当数据库在nomount,mount或者restricted这类特殊状态下,同时动态监听显示状态为BLOCKED,客户端无法直接连接到实例,此时可通过配置UR=A进行连接。...最常见的场景就是10g版本的RAC,配置OGG时需要访问ASM实例的情况(实测11.2版本的RAC ASM实例动态监听的显示状态为Ready,无需添加UR=A配置即可连接)。...下面是测试过程: 1.测试10.2.0.5连接ASM 2.测试11.2.0.4连接ASM 1.测试10.2.0.5连接ASM 环境:Oracle 10.2.0.5 RAC + ASM tnsnames.ora...ERROR: ORA-12528: TNS:listener: all appropriate instances are blocking new connections Enter user-name...The command completed successfully [grid@db01 admin]$ 在没有配置UR=A的情况下,就可以正常连接到ASM实例: --没有指定as sysasm会报错

    98910

    在Oracle 12c中,在RMAN方面有哪些增强的新特性?

    因此,可以在数据库中创建一个本地用户并在不授予其SYSDBA权限的情况下,通过授予SYSBACKUP权限让其能够在RMAN中执行备份和恢复相关的任务,不再需要SYSDBA这个超级权限。...(二)可以直接在RMAN中执行SQL语句 在Oracle 12c中,可以在不需要SQL前缀的情况下在RMAN中执行任何SQL和PL/SQL命令。当然,原来的加SQL前缀的方式依然有效。...当然也可以选择不导入,如果选择不导入就必须使用impdp手工导入。 6.(可选操作)在目标数据库中rename恢复表或表分区。...l 存储于SYSAUX和SYSTEM表空间下的表和分区无法恢复。 l Standby数据库上的表或表分区不能进行恢复。 l 在使用REMAP的情况下,有NOT NULL 约束的表不能进行恢复。...primary_db_tns USING COMPRESSED BACKUPSET; 以上案例使用备用数据库上定义的primary_db_tns连接字符串连接到主数据库,然后执行了一个增量备份,再将这些增量备份传输至备用目的地

    89720

    Log Miner 挖挖挖

    | Log Miner简介 Log Miner是Oracle自Oracle 8i以后推出的一个可以分析数据库redo log和archivelog内容的工具,可以通过日志分析所有对数据库的DDL和DML...| Log Miner组成 源数据库产生LogMiner分析的所有重做日志文件的数据库 挖掘数据库是执行LogMiner分析时使用的数据库。...由于将Log Miner数据字典提取到操作系统文件在未设置参数的情况下需要重启数据库,使用场景比较狭隘,所以以下测试场景为使用Online catalog数据字典模式和将字典提取到redo log。...(TNS V1-V3) truncate table test1; | Log Miner的一些限制 当然,这个工具也有一定的限制 源数据库与挖掘数据库 · 源数据库和挖掘数据库都必须在同一操作系统平台上运行...· 必须来自8i或更高版本的Oracle数据库。 这些限制都不算苛刻,如果灵活使用这个工具的话,可以使归档日志利用最大化,在关键时间有非常大的作用。

    77750

    【DB笔试面试432】在Oracle 12c中,在RMAN方面有哪些增强的新特性?

    因此,可以在数据库中创建一个本地用户并在不授予其SYSDBA权限的情况下,通过授予SYSBACKUP权限让其能够在RMAN中执行备份和恢复相关的任务,不再需要SYSDBA这个超级权限。...(二)可以直接在RMAN中执行SQL语句 在Oracle 12c中,可以在不需要SQL前缀的情况下在RMAN中执行任何SQL和PL/SQL命令。当然,原来的加SQL前缀的方式依然有效。...当然也可以选择不导入,如果选择不导入就必须使用impdp手工导入。 6.(可选操作)在目标数据库中rename恢复表或表分区。...l 存储于SYSAUX和SYSTEM表空间下的表和分区无法恢复。 l Standby数据库上的表或表分区不能进行恢复。 l 在使用REMAP的情况下,有NOT NULL 约束的表不能进行恢复。...primary_db_tns USING COMPRESSED BACKUPSET; 以上案例使用备用数据库上定义的primary_db_tns连接字符串连接到主数据库,然后执行了一个增量备份,再将这些增量备份传输至备用目的地

    87220

    监听故障TNS-12537: TNS:connection closed 解决对策

    一组的同事找我说,有很多应用不能连接数据库,让我去帮忙看看,一开始以为是process 和session 数不构,去了查了一下,发现远没到设置的数,且主机未发现有性能问题,查看等待事件,全是军空闲类的,...这下我就有点朦了,后来查看监听状态,执行lsnrctl  status 后出来两行字之后卡在那儿了,没有反应,所以kill掉进程后重启监听,重启后,没有服务注册时正常,过1分种在查看监听状态,还是卡在那儿了...,查看监听日志没什么收获,后来查看数据库alter日志,发现如下: Fatal NI connect error 12537, connecting to:  (LOCAL=NO)   VERSION...INFORMATION: TNS for Linux: Version 11.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux...解决方法 注释掉 /etc/resolve.conf 配置文件中对 DNS 的解析解决

    2.3K10

    【新书连载】应用无法连接数据库问题分析

    前不久某运营商客户反映某套业务系统在2016年8月4日凌晨出现过无法访问数据库的情况。当接到客户请求之后我才通过V**登录进行日志分析。...TNS:protocoladapter error TNS-00517: Lost contact SolarisError: 32: Broken pipe Oracle 监听日志在这里其实抛出了一连串的告警信息...我们知道操作系统资源主要分为CPU/IO以及内存资源,接下来从数据库监控角度来判断一下数据库资源在故障期间内的使用情况如何。...Oracle数据库是基于操作系统,因此实际上,当数据库出现异常之后,我们在进行问题分析时,首先应该确认操作系统本身是否正常,比如内核参数设置是否正确等。...在操作系统命令来看,一个进程和信号灯等对应关系通常是一对多。而且从查询结果来看Oracle实际上只分配了9个信号组,每组最大的信号灯数量是256。如果根据这个计算也就是9×256=2304。

    1.6K50

    一个普通数据库用户所能查到的意料之外的信息(r2笔记98天)

    可能你都不知道你所拥有的数据库用户都能查到哪些你想象不到的数据库信息,其实你知道还是不知道,哪些东西就在那儿:) 假定现在给你一台机器,让你在一个已经登录的sqlplus环境下自己探索一把,在短时间内完成下面的工作...得到当前的用户名和所用的os账户名称 得到当前的用户创建的时间,默认的表空间是哪一个,是否是dba账户 查看当前数据库的表空间大体情况。...查看当前数据库的实例名称,所在服务器名称和字符集 查看以PROFILE为关键字的相关数据字典名称 查看当前数据库是否处于归档模式 答案并非固定的,可以根据自己的思路来自己分析,以下是我的分析。...SQL> select *from cat; no rows selected 虽然当前的用户下没有任何表和其他数据库对象,但是你还能查到一些其他的信息。...最后一个问题抛砖引玉,怎么查看数据库是否处于归档状态。一般命令archive log list连普通dba都没权限查看。dba倒是可以根据其他的数据字典来查看。普通用户也能完成。

    74780

    dg broker校验失败的一个奇怪问题(二) (r8笔记第51天)

    对昨天提出的问题做了一个简单的分析和排查,也算是有了一个交代,上一篇文章在 dg broker校验失败的一个奇怪问题 我查看了最近的日志,发现在半个月以前有一行日志引起了我的注意。...原来的主库发生了硬件电源故障,启用备用电源之后,勉强撑了几个小时,因为数据库之前使用的异机逻辑备份,恢复起来还是需要些时间,直接就找了台机器搭建 了dataguard,然后做了switchover,把数据库迁移到了新的服务器上...,然后在新的备库上又搭建了一套相应的dataguard环境,在搭 建新的dataguard之前,原有存在电源故障的机器还是可用,但是因为硬件已经过保,就直接做了服务器退还。...那么这个问题不设置defer,是否会出现reset的操作呢,能否复现,可以简单再测试一下。...,可以看到这个问题其实不奇怪,备库重启,但是备库在nomount阶段导致了这个奇怪的现象,但是对于dataguard而言,归档路径的状态有defer,reset,enable几种情况,可能会以reset

    84450

    险恶江湖:Oracle的TNS_ADMIN获取与设置混乱误删除案例

    在微信群中有朋友提出一个问题:如何获得Oracle的TNS_ADMIN的变量值? TNS_ADMIN 是Oracle的一个环境变量,指向 SQL*Net 配置文件的位置。...现在,TNS_ADMIN指向的目录(下面简称TNS_ADMIN目录)和%ORACLE_HOME%\NETWORK\ADMIN(下面简称Oracle目录)下都有tnsnames.ora这个文件。...OEM在启动后,左边的数据库目录树是从Oracle目录的tnsnames.ora中解析出来的,完全忽略了TNS_ADMIN环境变量,即使是执行“将数据库添加到树”操作,也是完全忽略了TNS_ADMIN变量...OEM中显示的那个数据库上,结果却连接到了另一个库上。...通过使用触发器,来限制可以进行的ddl操作。 数据库运维,备份重于一切: ---- 1. 有效的备份是在发生数据丢失和损坏后能够进行恢复的基础。每一个数据库DBA都应该切实关注备份问题。

    4.5K60

    在Oracle数据迁移中,本地磁盘空间不足的情况下如何使用数据泵来迁移数据库

    /orclasm/dpdump [oracle@rhel6_lhr dpdump]$ 而在这种情况下必须将exptable.dmp 拷贝到windows XP上的相应目录下才能使用impdp来进行导入...C:\Users\Administrator> 日志文件路径: 这样操作非常麻烦,那么如何将生成的文件放在目标数据库而不放在源数据库呢,答案就是在expdp中使用network_link选项。...在expdp中使用network_link选项时,会将文件直接导出到目标端的相关路径中。...5、impdp使用network_link 如果想不生成dmp文件而直接将需要的数据导入到target数据库,那么还可以直接使用impdp+network_link选项 ,这样就可以直接将源库的数据迁移到目标库中...5.3、总结 不生成数据文件而直径导入的方法类似于在目标库中执行create table xxx as select * from xxx@dblink ,不过impdp+nework_link一并将数据及其索引触发器等都导入到了目标端

    3.1K20

    Oracle 启动实例(instance)、打开数据库

    OPEN—开启实例,加载数据库,打开数据库,等同STARTUP FORCE-在启动或关闭遇到问题时,强制启动实例 OPEN RECOVER—在完成完整的备份后启动实例。...适用场景: 1)开启、禁用重做日志归档操作 2)执行数据库完整的备份操作 例:在启动时限制实例访问 在RESTRICT模式下开启实例,加载并打开数据库,这样,仅管理员用户可以访问实例。...通常情况下,所有带有CREATE SESSION系统权限的用户可以连接到数据库。...RESTRICT模式下,仅同时拥有CREATE SESSION和RESTRICTED SESSION系统权限的用户可以访问实例。...说明: 1)只读模式下,数据库不会往数据文件和日志文件写入数据,不会限制不生成重做日志文件的数据库恢复或改变数据库的操作。

    2.7K10

    案例:数据库无法登录发生ORA-12560ORA-12557错误

    ##解决错误的基本思路: 1.确认用户连接方法和数据库认证方式,是否使用了Listener监听登陆,在BEQ登陆的方式下是否有同样的问题 2.查看网络相关的配置文件sqlnet.ora、listener.ora...、tnsnames.ora的配置 3.查看告警日志alert和trace中,发生问题时是否有其他的错误或异常发生 4.查看用户环境变量的设置 ##解决过程: 1.用户的连接方法: 用户在不使用监听...用户的连接方法如下,即使用了OS认证。...= (NTS) 3.查看警日志alert和trace,有相关的TNS错误 TNS-12537: TNS:connection closed ns secondary err code: 12560...可能是由于同一台机器装了不同的客户端和服务器端,而卸载时没有卸载干净导致的。 5. 要求用户设定ORACLE_HOME和ORACLE_SID以及PATH后连接成功。

    3K20
    领券