Web 安全入門1-書籍及建議
最近比較忙,靈感稍微有點缺乏,本著寧缺毋濫的想法,所以一直也沒憋出一篇文章來,希望大家見諒,想了想,整理了一篇關於 Web學習的文章,因為總有人會問類似的問題,所以想著直接整理下以前回答以及自己的一些經驗,我想對大家的學習應該有一些參考價值!這是該系列的第一篇,後續應該還有有工具等其他篇。
我接觸安全行業有8年了,在高中的時候開始感興趣並且學習安全的,啟蒙老師是《黑客X檔案》以及《黑客防線》,後來才看到的《非安全手冊》,基本剛開始的時候,很多人學的估計都是網吧黑客(萬象之類的)、黑站(很多人估計第一個黑的就自己學校的),我也不例外,反正在網吧免費上網的那段日子是快樂的,至今還印象很深刻,挺懷念那段日子的,那時候留校,每周的生活費基本就花在買書上了,雖然生活周邊找不到志同道合者,不過在網路上有一堆朋友。
其實在我接觸安全之前,我最早接觸的是編程,我記得最早學的是我姐他們上課的書,是譚浩強的《C語言》,再後來參加信息奧賽,學的 Pascal,以及後面自學了 VB、Delphi(這個還是受啊D注入工具影響的)、C#、Python等,甚至於易語言我也學了,還用了挺長一段時間。
所以首先要推薦的是編程,我覺得學習安全必須得掌握一定的編程,本質上,Web 開發與 Web 安全是不分家的,所以說要求掌握一定的 Web 開發能力,順帶一些腳本開發、資料庫查詢能力:
1、基本的HTML/CSS/JavaScript
前兩者就不說了,JS 推薦書籍《JavaScript DOM 編程藝術 》2、Python
我覺得 Python 是身為黑客必備的編程語言,推薦書籍《Python 核心編程》,現在中文版最新應該是第三版,至於有同學會問學2.x好還是學3.x,我的建議是學3.x,雖然現在很多老的代碼是2.x,不過3.x是趨勢,另外其實不管是3.x還是2.x,掌握一個,再切換都很容易3、結構化查詢語言 SQL
SQL 的學習是必要的,比如說 SQL 注入,就要求前提掌握 SQL,因為我沒有專門的去買書學過 SQL,大部分是通過網上資料自學,因為沒看過,所以沒什麼書籍可以推薦,推薦下w3school的教程,SQL編程方面就推薦這三部分把,我覺得是基本的必須要學的,其他的比如 PHP,我覺得也很有必要,比如 PHP注入、PHP代碼審計等,還有 Web 漏洞里常見的有 Struts 漏洞、Java反序列漏洞,是否 Java 也需要學下?我覺得精力有限,因人而異,也看自己的方向,更多的看自己在學習、研究過程中的需求,碰到不懂的就加強下,就針對性的去學習,但不可能說追求所有都精通之類的。
後來的話,陸續也看了一些 Web 安全方面的書籍,相關的書籍比較多,我就不一一列舉了,就推薦一些我覺得不錯的中文書籍(因為我英文不好,雖然也看了幾本英文書,但是還是不好意思推薦):
1、《Web 前端黑客技術與揭秘》 前端黑客必備,cos 和 xisigr 出的書
2、《白帽子講Web安全》道哥出的書
3、《黑客攻防技術寶典-Web實戰篇》
4、《Web之困》
5、《Web應用安全權威指南》
6、《SQL注入攻擊與防禦》
7、《XSS跨站腳本-攻擊剖析與防禦》
這裡同樣不展開,在細分領域也有不同的書,具體的我也不多做推薦了,這裡關於 XSS 特別推薦下 PKAV 團隊整理的思維導圖(http://pkav.net/XSS.png、http://pkav.net/XSS2.png),關於 PHP 方面推薦下 80vul,也就是黑哥他們團隊的成果:https://code.google.com/archive/p/pasc2at/wikis/SimplifiedChinese.wiki。
其他的一些我覺得需要學習或者了解的:
1、需要掌握 OWasp Top 10,包含原理、測試方法、防護方法(Category:OWASP Top Ten Project)
2、需要了解掌握網路請求
3、掌握使用一些安全工具(後續文章)
4、學會關注、分析漏洞和編寫 PoC
5、關注一些網站,關注最新的安全/漏洞動態、技術(後續文章)
6、關注一些安全圈微信公眾號/專欄等
7、Twitter 是一個獲取最新漏洞、最新技術點的好地方,前提是你要關注些大牛(這個後續考慮單獨文章來講)
8、安全公司/甲方公司安全團隊除了人品之外,更多時候看中的是個人的實戰能力,以及做過的一些事,所以建議可以適當的刷一些 SRC(後續整理列表)、寫一些漏洞分析、PoC等
9、雖然我不想承認,但是適當的參加一些 CTF 也是不錯的
10、融入這個圈子,比如參加一些安全會議等
接下來,推薦幾個我覺得可以作為參考的技能表、知識整理和問答:
1、http://blog.knownsec.com/Knownsec_RD_Checklist/index.html 來自我們團隊的知道創宇技能表,當前最新版本 3.1(點擊『閱讀原文』訪問)
2、零基礎如何學習 Web 安全? 零基礎如何學習 Web 安全? - 餘弦的回答
3、西電信安協會-技能時間軸 http://file.anquanquan.info/tuijian/jinengzhou.pdf
4、i 春秋學習規劃圖 i春秋網路安全培訓學院
整理來說,如果一定要讓我給一個路線的話,我覺得按照我從上到下的路線去學習,以及最後的建議去掌握這些技能即可,當然,文章中可能還欠缺一些內容,比如工具的掌握等,後續會繼續寫,大家可以關注我後續的文章。
然後,最重要的,更多時候,我覺得光看不練是沒有用的,用黑哥的話『做』,所以不止是學習,更多的時候去動手操作,去實踐。
-----------------
這是這個系列的第一篇,後續在一些比如應該關注的Twitter、博客、公眾號,應該使用的安全工具、需要關注的網站等方面會繼續寫後文,大家可以持續關注!
最後,歡迎大家給我留言,你想了解哪方面的內容,不僅限於安全,其他的比如招人、產品、研發等,我能寫的都可以,如果你自己有寫了好的文章,也可以投稿給我;最後,我創建了一個微信群,歡迎大家加入(掃描底下二維碼)。
http://weixin.qq.com/g/A-1oey2l-F80LBxD (二維碼自動識別)
---------------------------
優主張
關注信息安全,產品運營以及各種好玩的東西;分享一些個人的體驗與心得,一些想法,一些安全的科普。推薦閱讀:
※我這麼學數據分析肯定快!怎麼快?沉得快!
※考香港的大學難嗎?
※茶葉圈的常見謠言我們給你總結出來了
※如何對待學習認真但天資不高的學生?
※遇到能力比自己強的人怎麼調整心態?