圖解 HTTP

常見 Web 的攻擊技術(shù)

互聯(lián)網(wǎng)上的攻擊大都將 Web 站點作為目標(biāo)。常見的攻擊手段有哪些挖诸,以及攻擊會造成怎樣的影響法精。

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

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

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

被動攻擊:被動攻擊(passive attack)是指利用圈套策略執(zhí)行攻擊代碼的攻擊模式。在被動攻擊過程中阳堕,攻擊者不直接對目標(biāo) Web 應(yīng)用訪問發(fā)起攻擊恬总。被動攻擊模式中具有代表性的攻擊是跨站腳本攻擊(xss)和跨站點請求偽造(csrf)肚邢。

被動攻擊通常的攻擊模式如下所示骡湖。

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

實施 Web 應(yīng)用的安全對策可大致分為以下兩部分扛或。

  • 客戶端的驗證Web 應(yīng)用端(服務(wù)器端)的驗證
  • 輸入值驗證
  • 輸出值轉(zhuǎn)義

多數(shù)情況下采用 JavaScript 在客戶端驗證數(shù)據(jù)熙兔。可是在客戶端允許篡改數(shù)據(jù)或關(guān)閉 JavaScript拢切,不適合將 JavaScript 驗證作為安全的防范對策淮椰。保留客戶端驗證只是為了盡早地辨識輸入錯誤主穗,起到提高 UI 體驗的作用忽媒。Web 應(yīng)用端的輸入值驗證按 Web 應(yīng)用內(nèi)的處理則有可能被誤認(rèn)為是具有攻擊性意義的代碼腋粥。輸入值驗證通常是指檢查是否是符合系統(tǒng)業(yè)務(wù)邏輯的數(shù)值或檢查字符編碼等預(yù)防對策隘冲。

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

跨站腳本攻擊有可能造成以下影響:

  • 利用虛假輸入表單騙取用戶個人信息已慢。
  • 利用腳本竊取用戶的 Cookie 值佑惠,被害者在不知情的情況下膜楷,幫助攻擊者發(fā)送惡意請求。
  • 顯示偽造的文章或圖片特愿。

HTTP 頭信息

請求字段(Request)

字段名 說明 示例
Accept 指定客戶端能夠接收的內(nèi)容類型 Accept: text/html
Accept-Charset 客戶端可以接受的字符編碼集 Accept-Charset: utf-8
Accept-Encoding 能夠接受的內(nèi)容編碼方式 Accept-Encoding:gzip, deflate
Accept-Language 可以接受的自然語言列表 Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
Accept-Datetime 指定接受的版本時間 Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
Authorization 用于身份認(rèn)證的憑證信息 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定請求緩存機制 Cache-Control: no-cache
Connection 連接類型(默認(rèn)持久連接) Connection: keep-alive
Cookie 向服務(wù)器發(fā)送的Cookie信息 Cookie: $Version=1; Skin=new;
Content-Length 請求信息長度 Content-Length: 348
Content-Type 當(dāng)前請求MIME類型 Content-Type:application/json; charset=utf-8
Date 發(fā)送時間 Date:Thu, 23 Nov 2017 14:41:17 GMT
Expect 指明需要的特定服務(wù)器行為 Expect: 100-continue
From 發(fā)起請求的用戶郵箱 From: admin@321dh.com
Host 指明請求服務(wù)器的域名和端口號 Host:www.321dh.com:80
If-Match 只有請求內(nèi)容與實體相匹配才有效 If-Match: "737060cd8c284d8af7ad3082f209582d"
If-Modified-Since 設(shè)置更新時間 If-Modified-Since: Sat,29 Oct 1994 19:43:31 GMT
If-None-Match 設(shè)置客戶端ETag值 If-None-Match: "737060cd8c284d8af7ad3082f209582d"
If-Range 適用于斷點續(xù)傳下載 If-Range: "737060cd8c284d8af7ad3082f209582d"
If-Unmodified-Since 請求體在給定時間未修改才響應(yīng) If-Unmodified-Since: Sat,29 Oct 1994 19:43:31 GMT
Max-Forwards 限制代理或網(wǎng)關(guān)轉(zhuǎn)發(fā)消息的次數(shù) Max-Forwards: 10
Origin 跨域資源請求的地址 Origin: http://www.321dh.com
Pragma 設(shè)置特殊實現(xiàn)的指令 Pragma: no-cache
Proxy-Authorization 向連接代理認(rèn)證的憑證信息 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 指定請求返回的字節(jié)數(shù)范圍 Range: bytes=500-999
Referer 表明當(dāng)前請求從哪個頁面過來的 Referer: http://www.321dh.com
TE 指明期望使用的傳輸編碼 TE: trailers, deflate
User-Agent 請求用戶的身份信息 Mozilla/5.0 (Mac OS X 10_13_1) Chrome/62.0.3202.94 Safari/537.36
Upgrade 請求服務(wù)端升級協(xié)議 Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Via 表明請求代理的來源地址 Via: 1.0 fred, 1.1 example.com(Apache/1.1)
Warning 消息實體中可能存在錯誤的警告 Warning: 199 Miscellaneous warning

常見的非標(biāo)準(zhǔn)請求字段

字段名 說明 示例
X-Requested-With 指明Ajax及可擴展標(biāo)記語言請求 X-Requested-With: XMLHttpRequest
DNT 設(shè)置是否停止跟蹤用戶 DNT: 1
X-Forwarded-For 表明客戶端最終連接服務(wù)器的地址 X-Forwarded-For: client1, proxy1, proxy2
X-Forwarded-Host 表明客戶端要請求的原始主機 X-Forwarded-Host: www.321dh.com:80
X-Csrf-Token 防止跨站請求偽造 X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql

響應(yīng)字段(Response)

字段名 說明 示例
Access-Control-Allow-Origin 指定參與跨域的網(wǎng)站 Access-Control-Allow-Origin: *
Access-Control-Allow-Methods 允許的請求方法 Access-Control-Allow-Methods: GET, PUT, POST, DELETE
Accept-Patch 支持的文件類型 Accept-Patch: text/example;charset=utf-8
Accept-Ranges 支持的部分內(nèi)容范圍類型 Accept-Ranges: bytes
Age 當(dāng)前對象緩存時長 Age: 244
Allow 對于特定資源有效的動作 Allow: GET, HEAD
Cache-Control 指定緩存機制 Cache-Control: max-age=3600
Connection 連接類型(默認(rèn)持久連接) Connection: keep-alive
Content-Disposition 告知下載文件的名稱 Content-Disposition: attachment; filename="name.ext"
Content-Encoding 數(shù)據(jù)編碼方式 Content-Encoding: gzip
Content-Language 響應(yīng)內(nèi)容使用的語言 Content-Language: da
Content-Length 信息長度 Content-Length: 348
Content-Location 響應(yīng)數(shù)據(jù)的地址選項 Content-Location: /index.htm
Content-Type 當(dāng)前內(nèi)容的MIME類型 Content-Type:application/json
Date 響應(yīng)時間 Date:Fri, 24 Nov 2017 02:59:05 GMT
Expires 過期時間 Expires:Mon, 27 Nov 2017 15:20:50 GMT
Last-Modified 最后修改時間 Last-Modified:Mon, 13 Nov 2017 20:19:12 GMT
Location 重定向地址 Location: http://www.321dh.com/index.html
Pragma 特殊實現(xiàn)的指令 Pragma: no-cache
Public-Key-Pins 用于緩解中間人攻擊 Public-Key-Pins: max-age=250; pin-sha256="ozYqqbQ2yXLVKB9="
Refresh 設(shè)置重定向跳轉(zhuǎn) Refresh: 5; url=http://www.321dh.com
Server 服務(wù)器信息 Server: nginx/1.13.3
Set-Cookie 發(fā)送給客戶端的數(shù)據(jù) Set-Cookie: UserID=JohnDoe; Max-Age=3600;
Status 狀態(tài) Status: 304
Transfer-Encoding 數(shù)據(jù)傳輸?shù)木幋a方式 Transfer-Encoding: chunked
Upgrade 要求客戶端升級協(xié)議 Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
Vary 匹配請求協(xié)議方式 Vary: Accept-Encoding
Via 告知客戶端當(dāng)前響應(yīng)發(fā)送的途徑 Via: 1.0 fred, 1.1 321dh.com
WWW-Authenticate 指定請求使用的認(rèn)證方式 WWW-Authenticate: Basic

常見的非標(biāo)準(zhǔn)響應(yīng)字段

字段名 說明 示例
X-XSS-Protection XSS跨站腳本攻擊過濾器 X-XSS-Protection: 1; mode=block
X-Content-Type-Options 防止客戶端嗅探文件MIME類型 X-Content-Type-Options: nosniff
X-Powered-By 顯示響應(yīng)腳本語言 X-Powered-By: PHP/5.4.0
X-UA-Compatible 推薦指定的渲染引擎來顯示內(nèi)容 X-UA-Compatible: IE=edge
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菲嘴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌复唤,老刑警劉巖妓局,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異存炮,居然都是意外死亡穆桂,警方通過查閱死者的電腦和手機享完,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笋熬,你說我怎么就攤上這事胳螟√撬剩” “怎么了嘉竟?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵希坚,是天一觀的道長裁僧。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么殿如? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮谨胞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叶沛。我一直安慰自己,他們只是感情好溉箕,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般拦坠。 火紅的嫁衣襯著肌膚如雪贪婉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天幅垮,我揣著相機與錄音忙芒,去河邊找鬼奏属。 笑死囱皿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的齿兔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掏颊,長吁一口氣:“原來是場噩夢啊……” “哼乌叶!你這毒婦竟也來了事扭?” 一聲冷哼從身側(cè)響起今野,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤涵亏,失蹤者是張志新(化名)和其女友劉穎拆内,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體或南,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡冰垄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年蝴罪,在試婚紗的時候發(fā)現(xiàn)自己被綠了虏肾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖粘都,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布嘁圈,位于F島的核電站钞澳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦弯洗、人聲如沸逢勾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溺拱。三九已至逃贝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迫摔,已是汗流浹背沐扳。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留句占,地道東北人沪摄。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像纱烘,于是被迫代替她去往敵國和親杨拐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

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

  • 本文是《圖解HTTP》讀書筆記的第二篇擂啥,主要包括此書的第六章內(nèi)容哄陶,因為第六章的內(nèi)容較多,而且比較重要啤它,所以單獨寫為...
    lijiankun24閱讀 1,363評論 0 6
  • HTTP是不保存狀態(tài)的協(xié)議奕筐,協(xié)議本身不保留之前一切的請求或響應(yīng)報文的信息。這是為了更快地處理大量事物变骡,確保協(xié)議的可...
    奉灬孝閱讀 488評論 0 0
  • 1. HTTP報文首部 HTTP協(xié)議的請求和響應(yīng)報文中必定包含HTTP首部离赫。首部內(nèi)容為客戶端和服務(wù)器分別處理請求和...
    笙繩省盛閱讀 1,811評論 0 5
  • 4天讀完 一、了解web及網(wǎng)絡(luò)基礎(chǔ) 1.1 三項www構(gòu)建技術(shù): HTML:超文本標(biāo)記語言 HTTP:文本傳輸協(xié)議...
    15d843cd48a8閱讀 786評論 1 4
  • 你的同事和朋友或許會勸你找個漂亮的姑娘塌碌,實際上那是因為他們的年紀(jì)還不夠大渊胸,還沒有完全體驗到美貌的成本。假如你25歲...
    了不起的王藝璇閱讀 325評論 0 0