Web 攻擊技術(shù)

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

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

針對 Web 應(yīng)用的攻擊模式有以下兩種:

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

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

    1. 攻擊者布置好陷阱岔乔,誘使用戶觸發(fā)陷阱酥筝。
    2. 瀏覽器會(huì)把含有攻擊代碼的 HTTP 請求發(fā)送給作為攻擊目標(biāo)的 Web 應(yīng)用,運(yùn)行攻擊代碼雏门。
    3. 執(zhí)行完攻擊代碼嘿歌,存在安全漏洞的 Web 應(yīng)用會(huì)成為攻擊者的跳板,可能導(dǎo)致用戶所持的 Cookie 等個(gè)人信息被竊取茁影, 登錄狀態(tài)中的用戶權(quán)限遭惡意濫用等后果宙帝。

    被動(dòng)攻擊模式中具有代表性的攻擊是跨站腳本攻擊和跨站點(diǎn)請求偽造。

跨站腳本攻擊

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

XSS 是攻擊者利用預(yù)先設(shè)置的陷阱觸發(fā)的被動(dòng)攻擊鸳君。可能造成的結(jié)果包括:

  • 利用虛假輸入表單騙取用戶個(gè)人信息厨幻;
  • 利用腳本竊取用戶的 Cookie 值相嵌,被害者在不知情的情況下,幫助攻擊者發(fā)送惡意請求;
  • 顯示偽造的文章或圖片况脆。

SQL 注入攻擊

SQL 注入(SQL Injection)是指針對 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)需要對數(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)的程序等助泽;

OS 命令注入攻擊

OS 命令注入攻擊(OS Command Injection)是指通過 Web 應(yīng)用,執(zhí)行非法的操作系統(tǒng)命令達(dá)到攻擊的目的嚎京。只要在能調(diào)用 Shell 函數(shù)的地方就有存在被攻擊的風(fēng)險(xiǎn)嗡贺。OS 命令注入攻擊可以向 Shell 發(fā)送命令,讓 Windows 或 Linux 操作系統(tǒng)的命令行啟動(dòng)程序鞍帝。也就是說诫睬,通過 OS 注入攻擊可執(zhí)行 OS 上安裝著的各種程序。

HTTP 首部注入攻擊

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

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

  • 設(shè)置任何 Cookie 信息亲澡;
  • 重定向至任意 URL;
  • 顯示任意的主體(HTTP 響應(yīng)截?cái)喙簦?/li>

如下所示:

101%0D%0ASet-Cookie:+SID=123456789

郵件首部注入攻擊

郵件首部注入(Mail Header Injection)是指 Web 應(yīng)用中的郵件發(fā)送功能辟躏,攻擊者通過向郵件首部 To 或 Subject 內(nèi)任意添加非法內(nèi)容發(fā)起的攻擊谷扣。利用存在安全漏洞的 Web 網(wǎng)站,可對任意郵件地址發(fā)送廣告郵件或病毒郵件捎琐。

目錄遍歷攻擊

目錄遍歷(Directory Traversal)攻擊是指對本無意公開的文件目錄会涎, 通過非法截?cái)嗥淠夸浡窂胶螅_(dá)成訪問目的的一種攻擊瑞凑。這種攻擊有時(shí)也稱為路徑遍歷(Path Traversal)攻擊末秃。

通過 Web 應(yīng)用對文件處理操作時(shí),在由外部指定文件名的處理存在疏漏的情況下籽御,用戶可使用 .../ 等相對路徑定位到 /etc/passed 等絕對路徑上练慕,因此服務(wù)器上任意的文件或文件目錄皆有可能被訪問到。這樣一來技掏,就有可能非法瀏覽铃将、篡改或刪除 Web 服務(wù)器上的文件。

固然存在輸出值轉(zhuǎn)義的問題哑梳,但更應(yīng)該關(guān)閉指定對任意文件名的訪問權(quán)限劲阎。

遠(yuǎn)程文件包含漏洞

遠(yuǎn)程文件包含漏洞(Remote File Inclusion)是指當(dāng)部分腳本內(nèi)容需要從其他文件讀入時(shí),攻擊者利用指定外部服務(wù)器的 URL 充當(dāng)依賴文件鸠真,讓腳本讀取之后悯仙,就可運(yùn)行任意腳本的一種攻擊龄毡。

這主要是 PHP 存在的安全漏洞,對 PHP 的 include 或 require 來說锡垄, 這是一種可通過設(shè)定沦零,指定外部服務(wù)器的 URL 作為文件名的功能。 但是货岭,該功能太危險(xiǎn)路操,PHP5.2.0 之后默認(rèn)設(shè)定此功能無效。

強(qiáng)制瀏覽安全漏洞

強(qiáng)制瀏覽(Forced Browsing)安全漏洞是指茴她,從安置在 Web 服務(wù)器的公開目錄下的文件中寻拂,瀏覽那些原本非自愿公開的文件。強(qiáng)制瀏覽安全漏洞類似于目目錄遍歷攻擊丈牢,可能造成的影響包括:

  • 泄露顧客的個(gè)人信息等重要情報(bào)祭钉;
  • 泄露原本需要具有訪問權(quán)限的用戶才可查閱的信息內(nèi)容;
  • 泄露未外連到外界的文件己沛;

不正確的錯(cuò)誤消息處理

不正確的錯(cuò)誤消息處理(Error Handling Vulnerability)的安全漏洞是指慌核,Web 應(yīng)用的錯(cuò)誤信息內(nèi)包含對攻擊者有用的信息。與 Web 應(yīng)用有關(guān)的主要錯(cuò)誤信息包括:

  • Web 應(yīng)用拋出的錯(cuò)誤消息申尼;
  • 數(shù)據(jù)庫等系統(tǒng)拋出的錯(cuò)誤消息垮卓;

Web 應(yīng)用不必在用戶的瀏覽畫面上展現(xiàn)詳細(xì)的錯(cuò)誤消息。對攻擊者來說师幕,詳細(xì)的錯(cuò)誤消息有可能給他們下一次攻擊以提示粟按。

開放重定向

開放重定向(Open Redirect)是一種對指定的任意 URL 作重定向跳轉(zhuǎn)的功能。而于此功能相關(guān)聯(lián)的安全漏洞是指霹粥,假如指定的重定向 URL 到某個(gè)具有惡意的 Web 網(wǎng)站灭将,那么用戶就會(huì)被誘導(dǎo)至那個(gè) Web 網(wǎng)站。

如下所示:

http://example.com/?redirect=http://hacker.com

會(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)行一對一匹配管理砂蔽。獲得會(huì)話 ID 的途徑包括:

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

會(huì)話固定攻擊

會(huì)話固定攻擊(Session Fixation)會(huì)強(qiáng)制用戶使用攻擊者指定的會(huì)話 ID,等待用戶拿著這個(gè)會(huì)話 ID 前去認(rèn)證時(shí)泽台,觸發(fā)陷阱什荣,記錄會(huì)話 ID 在服務(wù)器上的狀態(tài),之后再利用這個(gè)會(huì)話 ID 偽裝為此用戶進(jìn)行攻擊怀酷。會(huì)話固定攻擊屬于被動(dòng)攻擊稻爬。

跨站點(diǎn)請求偽造

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

跨站點(diǎn)請求偽造有可能會(huì)造成以下等影響:

  • 利用已通過認(rèn)證的用戶權(quán)限更新設(shè)定信息等样眠;
  • 利用已通過認(rèn)證的用戶權(quán)限購買商品友瘤;
  • 利用已通過認(rèn)證的用戶權(quán)限在留言板上發(fā)表言論;

密碼破解

密碼破解攻擊(Password Cracking)即算出密碼檐束,突破認(rèn)證辫秧。攻擊不僅限于 Web 應(yīng)用,還包括其他的系統(tǒng)(如 FTP 或 SSH 等)被丧。密碼破解有以下兩種手段:

  • 通過網(wǎng)絡(luò)的密碼試錯(cuò)盟戏;
  • 對已加密密碼的破解(指攻擊者入侵系統(tǒng),已獲得加密或散列處理的密碼數(shù)據(jù)的情況)甥桂;

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

  • 通過網(wǎng)絡(luò)的密碼試錯(cuò)主要有以下兩種方式:

    • 窮舉法:窮舉法(Brute-force Attack蝇摸,又稱暴力破解法)是指對所有密鑰集合構(gòu)成的密鑰空間(Keyspace)進(jìn)行窮舉。即用所有可行的候選密碼對目標(biāo)的密碼系統(tǒng)試錯(cuò)办陷,用以突破驗(yàn)證的一種攻擊貌夕。
    • 字典攻擊:字典攻擊是指利用事先收集好的候選密碼(經(jīng)過各種組合方式后存入字典),枚舉字典中的密碼懂诗,嘗試通過認(rèn)證的一種攻擊手法蜂嗽。

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

  • 對已加密密碼的破解主要有以下幾種方式:

    • 通過窮舉法·字典攻擊進(jìn)行類推:針對密碼使用散列函數(shù)進(jìn)行加密處理的情況,采用和窮舉法或字典攻擊相同的手法离唐,嘗試調(diào)用相同的散列函數(shù)加密候選密碼病附,然后把計(jì)算出的散列值與目標(biāo)散列值匹配,類推出密碼亥鬓。
    • 彩虹表:彩虹表(Rainbow Table)是由明文密碼及與之對應(yīng)的散列值構(gòu)成的一張數(shù)據(jù)庫表完沪,是一種通過事先制作龐大的彩虹表,可在窮舉法 ? 字典攻擊等實(shí)際破解過程中縮短消耗時(shí)間的技巧。從彩虹表內(nèi)搜索散列值就可以推導(dǎo)出對應(yīng)的明文密碼覆积。
    • 拿到密鑰:使用共享密鑰加密方式對密碼數(shù)據(jù)進(jìn)行加密處理的情況下听皿,如果能通過某種手段拿到加密使用的密鑰,也就可以對密碼數(shù)據(jù)解密了宽档。
    • 加密算法的漏洞:考慮到加密算法本身可能存在的漏洞尉姨,利用該漏洞嘗試解密也是一種可行的方法。但是要找到那些已廣泛使用的加密算法的漏洞吗冤,又談何容易又厉,因此困難極大,不易成功椎瘟。

點(diǎn)擊劫持

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

Dos 攻擊

DoS 攻擊(Denial of Service attack)是一種讓運(yùn)行中的服務(wù)呈停止?fàn)顟B(tài)的攻擊婆排。有時(shí)也叫做服務(wù)停止攻擊或拒絕服務(wù)攻擊声旺。DoS 攻擊的對象不僅限于 Web 網(wǎng)站,還包括網(wǎng)絡(luò)設(shè)備及服務(wù)器等段只。

主要有以下兩種 DoS 攻擊方式:

  • 集中利用訪問請求造成資源過載腮猖,資源用盡的同時(shí)郭脂,實(shí)際上服務(wù)也就呈停止?fàn)顟B(tài)感昼。
  • 通過攻擊安全漏洞使服務(wù)停止。

其中塌鸯,集中利用訪問請求的 DoS 攻擊炕婶,單純來講就是發(fā)送大量的合法請求姐赡。服務(wù)器很難分辨何為正常請求,何為攻擊請求柠掂,因此很難防 止 DoS 攻擊项滑。

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

后門攻擊

后門程序(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)容合作請聯(lián)系作者
  • 序言:七十年代末毫深,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子杭措,更是在濱河造成了極大的恐慌费什,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件手素,死亡現(xiàn)場離奇詭異,居然都是意外死亡瘩蚪,警方通過查閱死者的電腦和手機(jī)泉懦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疹瘦,“玉大人崩哩,你說我怎么就攤上這事⊙糟澹” “怎么了邓嘹?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長险胰。 經(jīng)常有香客問我汹押,道長,這世上最難降的妖魔是什么起便? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任棚贾,我火速辦了婚禮,結(jié)果婚禮上榆综,老公的妹妹穿的比我還像新娘妙痹。我一直安慰自己,他們只是感情好鼻疮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布怯伊。 她就那樣靜靜地躺著,像睡著了一般判沟。 火紅的嫁衣襯著肌膚如雪耿芹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天水评,我揣著相機(jī)與錄音猩系,去河邊找鬼。 笑死中燥,一個(gè)胖子當(dāng)著我的面吹牛寇甸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拿霉,長吁一口氣:“原來是場噩夢啊……” “哼吟秩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绽淘,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤涵防,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沪铭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壮池,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年杀怠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了椰憋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赔退,死狀恐怖橙依,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情硕旗,我是刑警寧澤窗骑,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站漆枚,受9級特大地震影響创译,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浪读,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一昔榴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碘橘,春花似錦互订、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纺蛆,卻和暖如春吐葵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桥氏。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工温峭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人字支。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓凤藏,卻偏偏與公主長得像奸忽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子揖庄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 讀《圖解HTTP》記錄 上一篇 讀書筆記_圖解HTTP(五) 確認(rèn)訪問用戶身份的認(rèn)證以及基于HTTP的功能追加協(xié)議...
    我是李小米閱讀 683評論 0 2
  • 嗯......→_→基本為《圖解http》筆記 導(dǎo)言: 簡單的HTTP協(xié)議本身并不存在安全性問題栗菜,因此協(xié)議本身幾乎...
    冒險(xiǎn)小A閱讀 749評論 0 1
  • 1.針對web的攻擊 1.1以服務(wù)器為目標(biāo)的主動(dòng)攻擊主動(dòng)攻擊(active attack)是指攻擊者通過直接訪問 ...
    Trigger_o閱讀 910評論 0 0
  • 本文主要講解具體有哪些攻擊 Web 站點(diǎn)的手段,以及攻擊會(huì)造成怎樣的影響蹄梢。 針對 Web 應(yīng)用的攻擊模式 對 We...
    杰哥長得帥閱讀 1,689評論 0 5
  • 針對Web的攻擊技術(shù): 簡單的 HTTP 協(xié)議本身并不存在安全性問題疙筹,因此協(xié)議本身幾乎不會(huì)成為攻擊的對象。應(yīng)用 H...
    大唐雷戀閱讀 504評論 0 0