2021web安全最全學習路線,從入門到入職(含面試題、書籍、視頻、路線圖)
最近很多粉絲問我,為什么自己已經會黑客很多技巧了,但出去投簡歷都石沉大海了,本文是給粉絲總結了Web安全所要掌握哪些內容。
Web 安全
主要包括 HTTP 協(xié)議、注入漏洞、XSS 漏洞、SSRF 漏洞、CSRF 漏洞、文件處理漏洞、訪問控制漏洞、會話管理漏洞等。
1.1 HTTP協(xié)議
http是一個簡單的請求-響應協(xié)議,它通常運行在TCP之上。
它指定了客戶端可能發(fā)送給服務器什么樣的消息以及得到什么樣的響應。
請求和響應消息的頭以ASCII碼形式給出;而消息內容則具有一個類似MIME的格式。
學習要點:
請求方法:OPTIONS, PUT, DELETE,和TRACE 方法的基本概念
HTTP請求的基本方法和產生的請求結果
HTTP 狀態(tài)碼的規(guī)范
HTTP 狀態(tài)碼的作用
常見的 HTTP 狀態(tài)碼
HTTP 狀態(tài)碼 2**,3**,4**,5** 代表的含義
用計算機語言獲取 HTTP 狀態(tài)碼的方法
GET 請求的標準格式
POST 請求提交表單,上傳文件的方法
HEAD 請求與 GET 請求的區(qū)別
常見的 HTTP 響應頭
HTTP 響應頭的作用
HTTP 響應頭的名稱
HTTP 響應頭的格式
URL 的基本概念
URL 的結構
URL 編碼格式
1.2 注入漏洞
1.2.1 SQL注入
SQL注入即是指web應用程序對用戶輸入數據的合法性沒有判斷或過濾不嚴,攻擊者可以在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,在管理員不知情的情況下實現(xiàn)非法操作,以此來實現(xiàn)欺騙數據庫服務器執(zhí)行非授權的任意查詢,從而進一步得到相應的數據信息。
學習要點
SQL 注入漏洞原理
SQL 注入漏洞對于數據安全的影響
SQL 注入漏洞的方法
常見數據庫的 SQL 查詢語法
MSSQL,MYSQL,ORACLE 數據庫的注入方法
SQL 注入漏洞的類型
SQL 注入漏洞修復和防范方法
一些 SQL 注入漏洞檢測工具的使用方法
1.2.2 XML注入
XXE漏洞全稱XML External Entity Injection即xml外部實體注入漏洞,XXE漏洞發(fā)生在應用程序解析XML輸入時,沒有禁止外部實體的加載,導致可加載惡意外部文件,造成文件讀取、命令執(zhí)行、內網端口掃描、攻擊內網網站、發(fā)起dos攻擊等危害。xxe漏洞觸發(fā)的點往往是可以上傳xml文件的位置,沒有對上傳的xml文件進行過濾,導致可上傳惡意xml文件。
學習要點
XML 注入漏洞產生的原因
XML 注入漏洞的利用方式
如何修復 XML 注入漏洞
1.2.3 代碼注入
1.2.3.1遠程文件包含
即服務器通過 PHP 的特性(函數)去包含任意文件時,由于要包含的這個文件來源過濾不嚴格,從而可以去包含一個惡意文件,攻擊者就可以遠程構造一個特定的惡意文件達到攻擊目的。
學習要點
遠程文件包含漏洞所用到的函數
遠程文件包含漏洞的利用方式
遠程文件包含漏洞代碼審計方法
修復遠程文件包含漏洞的方法
1.2.3.2本地文件包含
文件包含漏洞的產生原因是 PHP 語言在通過引入文件時,引用的文件名,用戶可控,由于傳入的文件名沒有經過合理的校驗,或者校驗被繞過,從而操作了預想之外的文件,就可能導致意外的文件泄露甚至惡意的代碼注入。當被包含的文件在服務器本地時,就形成的本地文件包含漏洞。了解 PHP 腳本語言本地文件包含漏洞形成的原因,通過代碼審計可以找到漏洞,并且會修復該漏洞。
學習要點
什么是本地文件包含漏洞
本地文件包含漏洞產生的原因
本地文件包含漏洞利用的方式
PHP 語言中的封裝協(xié)議
本地文件包含漏洞修復方法
1.2.4 命令執(zhí)行
命令執(zhí)行漏洞是指應用有時需要調用一些執(zhí)行系統(tǒng)命令的函數,如:system()、exec()、shell_exec()、eval()、passthru(),代碼未對用戶可控參數做過濾,當用戶能控制這些函數中的參數時,就可以將惡意系統(tǒng)命令拼接到正常命令中,從而造成命令執(zhí)行攻擊。
學習要點
什么是命令注入漏洞
命令注入漏洞對系統(tǒng)安全產生的危害
腳本語言中可以執(zhí)行系統(tǒng)命令的函數
第三方組件存在的代碼執(zhí)行漏洞如 struts2,weblogic等
命令注入漏洞的修復方法
1.3 跨站腳本漏洞(XSS)
1.3.1 存儲型XSS
攻擊者事先將惡意代碼上傳或儲存到漏洞服務器中,只要受害者瀏覽包含此惡意代碼的頁面就會執(zhí)行惡意代碼。這就意味著只要訪問了這個頁面的訪客,都有可能會執(zhí)行這段惡意腳本,因此儲存型XSS的危害會更大。因為存儲型XSS的代碼存在于網頁的代碼中,可以說是永久型的。
學習要點
存儲式 XSS 漏洞對安全的影響
存儲式 XSS 漏洞的特征和檢測方法
存儲式 XSS 漏洞的危害
修復存儲式 XSS 漏洞的方式
常用 WEB 漏洞掃描工具對存儲式 XSS 漏洞掃描方法
1.3.2反射型XSS
反射型 XSS 也被稱為非持久性 XSS。當用戶訪問一個帶有 XSS 代碼的 URL 請求時,服務器端接收數據后處理,然后把帶有 XSS 代碼的數據發(fā)送到瀏覽器,瀏覽器解析這段帶有 XSS 代碼的數據后,最終造成 XSS 漏洞。這個過程就像一次反射,故稱為反射型 XSS 漏洞。
學習要點
反射式 XSS 漏洞與存儲式 XSS 漏洞的區(qū)別
反射式 XSS 漏洞的觸發(fā)形式
反射式 XSS 漏洞利用的方式
反射式 XSS 漏洞檢測和修復方法
1.3.3DOM型XSS
DOM—based XSS漏洞是基于文檔對象模型Document Objeet Model,DOM)的一種漏洞。
學習要點
DOM 式 XSS 漏洞的觸發(fā)形式
DOM 式 XSS 漏洞的檢測方法
DOM 式 XSS 漏洞的修復方法
1.4 請求偽造漏洞
1.4.1 服務器請求偽造SSRF
SSRF(Server-Side Request Forgery:服務器端請求偽造) 是一種由攻擊者構造形成由服務端發(fā)起請求的一個安全漏洞。一般情況下,SSRF是要目標網站的內部系統(tǒng)。(因為他是從內部系統(tǒng)訪問的,所有可以通過它攻擊外網無法訪問的內部系統(tǒng),也就是把目標網站當中間人)。
學習要點
什么是 SSRF 漏洞
利用 SSRF 漏洞進行端口探測的方法
SSRF 漏洞的檢測方法
SSRF 漏洞的修復方法
1.4.2 跨站請求偽造CSRF
跨站請求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 session riding,通??s寫為 CSRF 或者 XSRF, 是一種挾制用戶在當前已登錄的Web應用程序上執(zhí)行非本意的操作的攻擊方法。跟跨網站腳本(XSS)相比,XSS 利用的是用戶對指定網站的信任,CSRF 利用的是網站對用戶網頁瀏覽器的信任。
學習要點
CSRF 漏洞產生的原因
CSRF 漏洞的原理
CSRF 漏洞與 XSS 漏洞的區(qū)別
CSRF 漏洞的挖掘和修復方
1.5 文件處理漏洞
1.5.1 任意文件上傳
文件上傳包括了上傳頭像,上傳相冊,上傳附件,添加新聞圖片,自定義主題背景,新聞投稿等等,開發(fā)者由于對安全意識不足,或者編寫代碼時對上傳文件的合法校驗存在缺陷,導致上傳漏洞的產生或Web容器漏洞、CGI、配置不當等等
學習要點
任意文件上傳漏洞產生的原因
服務端語言對上傳文件類型限制方法
任意文件上傳漏洞的危害
上傳漏洞的檢測思路和修復方法
1.5.2 任意文件下載
許多網站開放下載文件功能,由于下載功能代碼對下載文件類型、目錄未做限制或限制不當,導致攻擊者可下載服務器任意文件。
學習要點
什么是文件下載漏洞
通過文件下載漏洞讀取服務端文件的方法
能夠通過代碼審計和測試找到文件下載漏洞
修復文件下載漏洞的方法
1.6 訪問控制漏洞
1.6.1 水平越權
水平越權訪問是一種“基于數據的訪問控制”設計缺陷引起的漏洞。由于服務器端在接收到請求數據進行操作時沒有判斷數據的所屬人/所屬部門而導致的越權數據訪問漏洞。
學習要點
水平越權漏洞的基本概念
水平越權漏洞的形式
水平越權漏洞對網站安全的影響
水平越權漏洞的測試和修復方法
1.6.2 垂直越權
垂直越權是一種“基于URL的訪問控制”設計缺陷引起的漏洞,又叫做權限提升攻擊。由于后臺應用沒有做權限控制,或僅僅在菜單、按鈕上做了權限控制,導致惡意用戶只要猜測其他管理頁面的URL或者敏感的參數信息,就可以訪問或控制其他角色擁有的數據或頁面,達到權限提升的目的。
學習要點
垂直越權漏洞的基本概念
垂直越權漏洞的種類和形式
對網站安全的影響
越權漏洞的測試方法和修復
1.6.3 未授權訪問
未授權訪問漏洞可以理解為需要安全配置或權限認證的地址、授權頁面存在缺陷導致其他用戶可以直接訪問從而引發(fā)重要權限可被操作、數據庫或網站目錄等敏感信息泄露。
學習要點
如何去挖掘未授權訪問
未授權訪問的危害
未授權訪問的修復方法
1.6.4 目錄遍歷
目錄遍歷漏洞原理比較簡單,就是程序在實現(xiàn)上沒有充分過濾用戶輸入的../之類的目錄跳轉符,導致惡意用戶可以通過提交目錄跳轉來遍歷服務器上的任意文件。這里的目錄跳轉符可以是../,也可是../的ASCII編碼或者是unicode編碼等。
學習要點
目錄遍歷的成因以及概率
如何探索目錄遍歷
目錄遍歷的修復方法
1.7 會話管理漏洞
1.7.1 會話劫持
例如你Telnet到某臺主機,這就是一次Telnet會話;你瀏覽某個網站,這就是一次HTTP會話。而會話劫持(Session Hijack),就是結合了嗅探以及欺騙技術在內的攻擊手段。例如,在一次正常的會話過程當中,攻擊者作為第三方參與到其中,他可以在正常數據包中插入惡意數據,也可以在雙方的會話當中進行監(jiān)聽,甚至可以是代替某一方主機接管會話。
學習要點
什么是會話劫持漏洞
會話劫持漏洞的危害
Session 機制
HttpOnly 的設置方法
會話劫持漏洞防御方法
1.7.2 會話固定
會話固定攻擊(session fixation attack)是利用應用系統(tǒng)在服務器的會話ID固定不變機制,借助他人用相同的會話ID獲取認證和授權,然后利用該會話ID劫持他人的會話以成功冒充他人,造成會話固定攻擊。
學習要點
什么是會話固定漏洞
會話固定漏洞的檢測方法
會話固定漏洞的形成的原因
會話固定漏洞的風險
會話固定漏洞的防范方法
那么如何來學習這些內容,小編為大家整理了網安系統(tǒng)學習路徑圖、Web安全視頻、Web配套學習視頻、面試題等(文末領取)

由于篇幅有限,只截取了Web安全部分



掃碼獲取
