在學習 XSS 前應該學習什麼?
在這幾天看了餘弦的《Web前端黑客技術揭秘》。但是其中的代碼全都看不懂,所以來知乎請教各位應該在學習XSS前我應該有什麼基礎
可惜了,我沒下決心認真照顧好入門的同學。第一次寫書也造成書的跳躍性有些誇張,還望吃力的同學諒解,因為我肯定這本書有足夠的含金量。
只要你有認真看,尤其是我在第二章說了,基礎很關鍵,我不會去教科書般的介紹基礎,其實第一章與第二章是全書的基礎。如果理解不好,註定會是半吊子。
但是第二章篇幅很大,要全部看明白又需要很多真正的基礎,這些基礎就是:javascript, html, dom, css, actionscript等。尤其是javascript。我在第二章內容中實際上是有推薦一些快速入門javascript和dom的書的,比如《javascript dom編程藝術》,可能你們沒注意。至於actionscript,這是flash安全必掌握的,flash安全屬於前端安全一個非常重要分支,只是很多人都是半吊子,沒真正去玩,書里我感覺已經介紹夠詳細了,還扔出個google flash xss 0day,雖然是雞肋,不過很經典。
我給大家一個建議:這本書既然都這樣了,又有足夠含金量,那大家多baidu/google去擴展學習所涉及到的基礎,多跟進實戰,多融會貫通,大不了加我Q,我也許還能抽空指點一二。我保證你會受益匪淺。
最後,希望大家能獨立找到屬於自己的一條方法論。以下是我學習xss時的一些紀錄共享給你,你可以用瀏覽器打開下面鏈接研究page參數後面的值是如何觸發xss的,
00x1 這個最簡單什麼也沒過濾
http://xsst.sinaapp.com/example/1-1.php?page=%3Cimg%20src=x
00x2 兩種觸發xss方法
No1
1.打開http://xsst.sinaapp.com/example/1-2.php?page=2 以確保惡意 cookie的所在域
2.先執行 javascript:alert(document.cookie="x=&") 設置一個含有跨站代碼的COOKIE
3.打開http://xsst.sinaapp.com/example/1-2.php?page=2 即可觸發跨站
No2
http://xsst.sinaapp.com/example/1-2.php?page=22;alert(0);
0x3 &
JavaScript 教程
web安全方面有兩本書都很值得推薦,一本是餘弦老師的《Web前端黑客技術揭秘》 還一本是道哥的《白帽子講web安全》。
但如果題主只是對於xss這一個漏洞十分感興趣,或者出於各種各樣的目的需要深入學習,其實絕大多數網路上博客、包括一些開源的工具,時效性較差,給初學者帶來很多困擾和不必要的坑。
我僅以xss這個漏洞的名稱來舉例:本身這個漏洞的名字叫 corss site scripting 簡寫為css,但是之所以叫xss是因為css與web瀏覽器中解析的層疊樣式表(css)重名,故取名xss。然而,cross site scripting 直譯過來叫做跨站腳本攻擊,其實這個名字本身也存在誤導性。如今的web前端開發者應該都清楚,在現代瀏覽器的同源策略保護下,瀏覽器中的跨域行為受到了限制,並且其實從xss這個漏洞的攻擊原理上講,「跨站」這兩個字其實真的沒有什麼必要。
出於工作關係,我們團隊的工作涉及到很多金額支付方面的業務,前段時間一直在做web方面的安全問題調研,產出了一些博客和開源工具,如果有興趣,你可以看下我的博客作為一個初學階段的掃盲。
博客傳送門:
XSS漏洞的原理
xss掃描工具的代碼和使用文檔 在博客里有。
還有什麼問題也可以直接回復我進行溝通。
當然是各種前端規範。
這些是根基:
- ECMAScript 2015 Language Specification ECMAScript
- http://developers.whatwg.org/ HTML5 spec
- http://dev.w3.org/html5/markup/ HTML5 reference
- http://platform.html5.org/ 瀏覽器技術嚮導
比較新的:
- Content Security Policy Level 2
- Payment Request API
- WebUSB API
一切都在不斷變化,太多的技巧都只是細枝末葉,就像 Flash XSS 的奇技淫巧的一樣,很快就消逝。
跟隨潮流,不如創造潮流。
不需要太多基礎,可以自己構造一個html看看。
&這樣。
html,javascript
&
其實是html,javascript;各種編碼知識;瀏覽器對各種編碼的解析順序以及解析的基本知識。
&
先了解具體的各個類型和實現手法,像延伸到客戶端的UXSS:Android安全之WebViewUXSS漏洞 - 李大師的文章 - 知乎專欄
會HTML js,剛畢業接觸了web安全這塊很想學習,但是不知道從哪裡入手,希望大神指點一下。
沒有html 和 js 基礎看餘弦大大的書,真的很難。學好js ,xss入門自然而然就懂了。後面更猥瑣的方法就可以參考學習大牛們寫的書了。
學網路技術的前提是必須是要掌握一門編程!
白帽子講web安全這本書挺不錯,通俗易懂易上手
推薦閱讀:
※怎樣在知乎上寫出高質量的好答案?
※初三了 應該學古箏嗎?
※你所知道的著作等身的人?
※為什麼在知乎大部分人選擇替別人打工?
※19:00 - 24:00 睡覺,然後起床學習一天是否有效率?