在探討Web安全學習以前,首先了解一下什麼是Webphp
看到這裏,你可能會問:這麼多內容都須要學習嗎?html
答案是:能夠不用學得很深刻,可是若是不瞭解這些研究對象,是不可能搞好的安全研究的。(原話來自餘弦大佬在知乎的回答)前端
那麼這麼多內容應該從哪裏開始學呢?別急,等了解完什麼是Web安全再學也不遲。linux
把Web服務各層串聯起來的就是數據流,掌握了數據流就能知道數據在每層是如何處理的。而在數據流中有一個關鍵的協議,就是HTTP 協議,搞明白HTTP協議後,你就會明白一個專業術語「輸入輸出」。黑客經過輸入提交‘特殊數據’,‘特殊數據’在數據流的每一個層處理,若是其中某一層沒處理好,在輸出的時候,就會出現相應層的安全問題,也就是本文的重點——Web 安全。數據庫
例如:瀏覽器
操做系統:數據若是在操做系統層上沒處理好,可能會產生命令執行等安全問題;安全
存儲:數據若是在存儲層上沒處理好,可能會產生SQL 注入等安全問題;前端框架
Web容器:數據若是在Web容器層中沒處理好,可能會產生遠程溢出、DoS等安全問題;服務器
Web服務端語言:代碼審計對於安全人員來講也是一項重要技能;網絡
Web開發框架/Web應用:數據若是在這裏沒處理好,可能會產生命令執行等安全問題;
Web前端框架:數據若是在Web前端框架中沒處理好,可能會產生 XSS 跨站腳本 等安全問題;
到這裏能夠看出「輸入輸出」對於安全的重要性了吧。
初步瞭解了什麼是Web以及容易產生的一些安全問題,下面具體來講說入門Web安全應該學什麼,怎麼學。
仍是從Web服務提及,操做系統層具體分爲Windows和Linux,Windows又有Win十、Win八、Win七、WindowsServer 201六、WindowsServer 20十二、WindowsServer 200八、WindowsServer 2003等版本,主要了解它們的安全配置及相關漏洞。
Windows系統安全配置:
www.hetianlab.com/cour.do?w=1…
經過學習Windows系統安全配置課程,基本瞭解Windows操做系統的安全加固方法
Windows系統加固:
www.hetianlab.com/expc.doec=E…
這也是和Windows系統安全加固相關的實驗。
還有不少Windows相關的好比文件系統備份、用戶管理、日誌清理、用戶口令破解等知識,均可以在
www.hetianlab.com/pages/searc…
進行學習。
而Linux又有CentOS、Redhat、Ubuntu、Debian、Fedora、openSUSE等諸多發行版本,說到Linux,不得不提那本被推薦了無數遍的——《鳥哥的Linux私房菜》
純文字的閱讀不免讓人感受枯燥,做者更喜歡一邊學習一邊動手操做:
Linux入門最佳實踐:
www.hetianlab.com/cour.do?w=1…
課程包括Linux的發展、文件管理基礎命令、管道命令、帳戶及系統管理等
存儲層主要分爲數據庫存儲、內存存儲和文件存儲,其中數據庫有MySQL、Oracle、MSSQL、access、MongoDB、Redis
等,數據庫是SQL注入
學習的基礎。
MySQL數據庫相關基礎學習:
www.hetianlab.com/expc.do?ec=…
瞭解MySQL表的結構與內容,增長用戶及受權,刪除用戶等操做。
MongoDB安全配置:
www.hetianlab.com/expc.do?ec=…
實驗介紹了MongoDB數據庫及其安全攻防實踐,經過學習此實驗瞭解MongoDB的基本操做和安全特性。
Redis數據庫安全實踐:
系統性的SQL、MySQL學習也能夠到w3cschool上進行。
Web容器包括Apache、IIS和Nginx,這裏推薦幾個集合環境軟件:
php集合環境軟件phpStudy:
jsp集合環境軟件jspStudy:
ASP集合環境軟件小旋風ASP服務器:
第一個phpStudy集合了Apache、MySQL和PHP,將Web源碼放到phpStudy裏就搭建好了本身的Web服務器。具體教程自行百度,這裏就不放連接了。
Web服務端語言:前面提到了代碼審計,入門Web安全其實不須要對語言進行系統性的學習,這樣很浪費時間,只要平時在分析漏洞原理、查看目標網站源代碼等時候,對重要的函數、方法等有所瞭解,可以觸類旁通便可。
PHP基礎:
www.hetianlab.com/cour.do?w=1…
經過基礎實驗瞭解PHP語言,爲後續的學習打下基礎。
PHP代碼審計:
www.hetianlab.com/cour.do?w=1…
經過此實驗學習PHP代碼審計的基礎知識及PHP常見危險函數
Web框架/應用:開發框架包括Struts二、React、Django、thinkPHP等,前端框架包括jQuery、Bootstrap、HTML五、semanticUI、Pure等,Web應用包括BBS,blog,discuz、metinfo、Joomla等各類CMS,不須要你們用這些框架搭建Web應用,只須要了解各框架/CMS存在哪些漏洞,其原理、利用以及如何進行修復等。
橫向的學習路徑介紹完,開始縱向學習數據流之《HTTP從入門到放棄》。
協議這個東西光靠看書學習很費勁,有什麼快速掌握的途徑嗎?
還真的有,經過學習一些入門的HTTP 協議,而後瀏覽器F12看看‘Network’標籤裏的HTTP請求響應,結合wireshark等協議分析軟件,不出幾個小時,就大概能知道HTTP協議是什麼了。
HTTP協議基礎:
wireshark數據抓包分析之HTTP協議:
www.hetianlab.com/expc.do?ec=…
掌握wireshark的基本操做,加深對HTTP協議的理解。
經過wireshark分析其餘協議:
梳理完Web服務的學習,下面正式開始入門Web安全,掌握了下面這些,就算Web安全入門了。
命令執行漏洞:
www.hetianlab.com/expc.do?ec=…
經過實驗瞭解命令執行漏洞產生的緣由,學習漏洞的利用和修復。
ImageMagick命令執行漏洞:
www.hetianlab.com/expc.do?ec=…
因爲大量的Web程序都使用了ImageMagic的拓展,致使本地命令執行漏洞在Web環境裏能夠被遠程觸發,危害巨大。
Memcached遠程命令執行漏洞:
經過實驗學習memcached遠程命令執行漏洞的利用及修復方法。
還有不少命令執行漏洞的學習實例:
包括布爾盲注、時間盲注、報錯注入、聯合查詢注入、寬字節注入、二次注入等。
滲透SQL注入:
www.hetianlab.com/cour.do?w=1…
在入門以前先了解SQL注入的原理:
SQL注入初級:
www.hetianlab.com/cour.do?w=1…
九個實驗帶你入門SQL注入:
[公開課]有一種注入叫SQL注入:
www.hetianlab.com/expc.do?ce=…
從SQL語句基礎到SQL注入漏洞造成原理和實戰利用,讓你認識什麼是SQL注入。
包括客戶端繞過js檢查進行上傳及服務端繞事後綴及內容檢查進行上傳,服務端繞過又包括特殊後綴欺騙上傳、配合解析漏洞上傳、截斷上傳等。
文件上傳漏洞:
www.hetianlab.com/expc.do?ec=…
學習文件上傳漏洞產生的緣由,以及如何利用和修復。
[公開課]玩轉文件上傳漏洞:
www.hetianlab.com/expc.do?ce=…
經過此公開課學習文件上傳漏洞產生的緣由,以及文件上傳繞過的各類姿式。
kindEditor文件上傳漏洞分析和利用:
www.hetianlab.com/expc.do?ce=…
kindEditor編輯器組件最近爆出的文件上傳漏洞,經過實驗還原入侵過程,瞭解漏洞原理和防禦方法。
包括本地文件包含和遠程文件包含。
文件包含漏洞:
簡單的文件包含:
緩衝區溢出基礎與實踐:
www.hetianlab.com/expc.do?ec=…
經過實驗瞭解緩衝區溢出的原理與危害,掌握緩衝區溢出的基本方法,學會進行常見的緩衝區溢出攻擊。
緩衝區溢出漏洞調試與分析:
www.hetianlab.com/expc.do?ec=…
利用緩衝區溢出攻擊,能夠致使程序運行失敗、系統宕機、重啓等後果。
實戰挖掘某ftp服務器溢出漏洞:
www.hetianlab.com/expc.do?ec=…
瞭解ftp服務漏洞的表現形式及利用方法。
包括反射型XSS、存儲型XSS及DOM型XSS。在學習XSS前,應該熟悉HTML/CSS及JavaScript,不然很難研究好XSS。
HTML基礎:
www.hetianlab.com/expc.do?ec=…
瞭解HTML的基本結構和標籤。
JavaScript基礎:
www.hetianlab.com/expc.do?ec=…
瞭解什麼是JavaScript,瞭解DOM操做和BOM操做。
滲透XSS:
www.hetianlab.com/cour.do?w=1…
學習XSS漏洞原理,以及如何利用XSS漏洞對目標系統進行滲透測試。
分爲GET型和POST型。
滲透CSRF:
www.hetianlab.com/cour.do?w=1…
在學習XXE前,應該熟悉XML語言,不然很難研究好XXE。
XXE漏洞攻擊與防護:
www.hetianlab.com/cour.do?w=1…
包括對XXE漏洞的分析與相關組件XXE漏洞學習:
Apache解析漏洞:
www.hetianlab.com/expc.do?ec=…
瞭解解析漏洞原理,經常使用的攻擊方法以及有效的防護手段。
Nginx解析漏洞:
IIS解析漏洞在fckEditor上傳攻擊中的利用:
www.hetianlab.com/expc.do?ec=…
經過實驗學習IIS6.0中的解析漏洞,掌握IIS6.0解析漏洞在fckEditor上傳攻擊中的利用方法。
統一身份認證:
www.hetianlab.com/expc.do?ec=…
判斷一個用戶是否爲合法用戶的處理過程。
非受權訪問:
www.hetianlab.com/expc.do?ec=…
包括非法用戶進入網絡或系統進行違法操做,合法用戶以未受權的方式進行操做。
Jenkins未受權訪問漏洞利用實踐:
包括PHP反序列化、Java反序列化、Python反序列化等。
PHP反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
瞭解什麼是反序列化漏洞,其成因以及如何挖掘和預防反序列化漏洞。
Java反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
以ApacheCommons Collections3爲例,分析和復現Java反序列化漏洞。
Python反序列化漏洞:
www.hetianlab.com/expc.do?ec=…
瞭解Python反序列化漏洞產生的機理,加強安全意識。
前面提到了Struts二、React、Django、thinkPHP等開發框架,jQuery、Bootstrap、HTML五、semanticUI、Pure等前端框架,以及discuz、metinfo、Joomla等各類CMS。
Struts2框架安全:
Struts2(s2-045)遠程命令執行漏洞分析與復現:
ThinkPHP5遠程代碼執行漏洞:
Joomla未受權建立帳號/權限提高漏洞:
Joomla反序列化遠程代碼執行漏洞:
BEEF框架攻擊:
以WordPress博客系統爲基礎,典型的XSS漏洞爲案例,詳細學習beef平臺下各個模塊的經常使用命令和攻擊方法。
![image](https://upload-images.jianshu.io/upload_images/1192537-4524aafd781fe728?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
複製代碼
看到這裏有沒有一種懷疑人生的感受?
不用懷疑,入門Web安全沒有大家想象的那麼難,弄懂上面說的這些,你還會以爲你是一個什麼都不懂的小白嗎?
本文轉自合天智匯公衆號,轉載請註明來源
關於合天網安實驗室
合天網安實驗室(www.hetianlab.com)-國內領先的實操型網絡安全在線教育平臺
真實環境,在線實操學網絡安全 ; 實驗內容涵蓋:系統安全,軟件安全,網絡安全,Web安全,移動安全,CTF,取證分析,滲透測試,網安意識教育等。