Web安全基礎

2021-09-18 07:20:41 字數 1812 閱讀 6369

《http**》讀書筆記及總結

從整體上看,http就是乙個通用的單純協議機制,具備較多優勢,但在安全性方面則呈劣勢。比如現在web**都會使用的會話管理(session),加密處理等安全性的功能,http協議內並不具備,需要開發者自行設計並實現。

通過url查詢欄位或表單,http首部,cookie等途徑把攻擊**傳入。

攻擊者通過直接訪問web應用,把攻擊**傳入,主要來攻擊伺服器上的資源。常見的攻擊是sql注入和os命令注入攻擊。

被動攻擊是利用圈套策略執行攻擊**的攻擊模式,攻擊者不直接對目標web應用發起攻擊(借刀殺人),主要攻擊使用者的資源和許可權。

通常的攻擊模式如下:

被動攻擊模式中具有代表性的攻擊是跨站指令碼攻擊(xss)和誇站點請求偽造(csrf)

安全對策大致可分為:

跨站指令碼攻擊(cross-site scripting, xss)是在瀏覽器內執行非法的html標籤或js指令碼進行的一種攻擊。動態建立的html部分有可能隱藏著安全漏洞。

攻擊案例:

">"
如果響應資訊中cookie設定成httponly,指令碼就無法取到

現在後端程式設計師很少用字串拼接吧,做個了解

//sql語句

select * from party where username =

//傳過來是這樣的字串 'xx' or 1 = 1

//拼接後,就可以把所有的使用者查詢出來

select * from party where username = 'xx' or 1 = 1

有時服務端會把外部就收到的資料賦給首部欄位location和set-cookie或者其他字段,攻擊者便可以在響應首部欄位內插入換行,新增任意響應或主體的一種攻擊。

強制瀏覽

對那些不願公開的檔案,為了保證安全會隱藏其url,可一旦知道了url,也就意味著可以瀏覽url對應的檔案。直接顯示容易推測的檔名或檔案目錄索引是,通過某些方法可能會使url產生洩露。

不正確的錯誤訊息處理

web應用不必在使用者瀏覽畫面上展現詳細的錯誤訊息,對攻擊者來說,詳細的錯誤訊息有可能給他們下一次攻擊以提示。

開放重定向

開放重定向(open redirect)是一種對置頂的任意url作重定向跳轉的功能。如果重定向的url到某個具有惡意的web**,那麼使用者就回被誘導到那個web**。

攻擊者通過某種手段拿到了使用者的會話id,並非法使用此會話id偽裝成使用者,達到攻擊的目的。

獲取會話id的途徑:

攻擊者通過設定好的陷阱,強制對已完成認證的使用者進行非預期的個人資訊或設定資訊等某些狀態更新,屬於被動攻擊。

攻擊案例:

觸發陷阱,使用者a中瀏覽器的cookie持有已認證的會話id,利用使用者a的許可權執行發表動作

http在安全方面有以下缺點:

通訊使用明文(不加密),內容可能會被竊聽

不驗證通訊方的身份,因此有可能遭遇偽裝

無法證明報文的完整性,有可能已遭篡改

https就是在http上再加入加密處理和認證等機制。

為什麼不一直使用https?

加密通訊會消耗更多的cpu及記憶體資源。如果每次通訊都加密,會消耗更多的資源,平攤到一台計算機上,能夠處理的請求數量也會隨之減少

節約購買證書的開銷

因此,如果是非敏感資訊則使用http通訊,只有在包含個人資訊等敏感資料時才使用https加密通訊。

Web安全基礎學習筆記

1 web不是網際網路,是網際網路提供的服務之一 2 web工作流程 3 web常見危害 web2.0 從1.0的危害伺服器到更多的危害客戶端 web1.0 sql注入 檔案上傳 掛馬 暗鏈等 web2.0 xss csrf 邏輯漏洞 釣魚 劫持 4 發展史 只記得第一款多點觸控瀏覽器 2009年火...

安全入門之web基礎3

二 http 5.ip屬性 ftp 檔案傳輸協議 是tcp ip協議組之一,它由ftp伺服器和ftp客戶端組成,使用者可以使用ftp客戶端通過ftp協議訪問ftp伺服器資源。預設情況下ftp協議使用tcp埠中的20和21兩個埠,20埠用於傳輸資料,21埠用於傳輸控制資訊。ftp協議支援兩種模式 po...

Web安全 後端開發基礎 PHP

超文字預處理器 hypertext preprocessor 一種使用廣泛的開源的指令碼語言,常用於網頁開發 php指令碼在伺服器上執行 指令碼範圍 注釋 echo和print tips echo語句,一次輸出多個 print為函式,有返回值 串接 點 函式 function 函式名 變數 變數名 ...