ctfshow web入門 零基礎版
前言
??我在刷題之前沒有學過php,但是會python和C++,也就是說,如果你和我一樣會一門高級語言,就可以開始刷題了。我會以完全沒學過php的視角來寫題解,你也完全沒有必要專門學習php,這對于一個學過高級語言的人來說相當無聊。邊刷題邊補充知識,這更接近與探索,而不是有規律的學習,優點是讓人持續保持新鮮感,保持對web安全的渴求和熱愛,弊端是知識比較零碎,可能需要額外的時間整理。
??如果你沒有學過一門計算機語言,那你可能暫時還沒有明白編程的基本邏輯,函數是如何調用工作的,也就可能無法理解為什么這個情況下會出現漏洞,這不利于后續的學習。推薦學習過高級語言,或至少學習過C語言再開始web安全的學習。
??我推薦使用python或php來編寫腳本,這些語言能夠以簡單的語句寫成非常好的腳本,對于學習過高級語言的人來說,這兩個語言非常容易上手,我們并不需要使用多么高深強大的功能,只用一些簡單語法就能構造出滿足要求的腳本。我認為高級語言之間的差別并不大,你也可以用其他語言代替。
??最后提醒一下,動手操作遠比看博客看視頻有用,能夠做出來的才是屬于自己的。
ctfshow題庫:
https://ctf.show/challenges
現在題庫web入門需要花錢買了。花錢能夠直接使用別人的靶場,節約時間,有時間的學生黨可以找其他靶場學習。
這篇博客我將做成一個目錄,用于索引題目的解答博客。
注:
例如web1超鏈接的是已更新,[web1]是未更新的占位符。
我會補充解題的相關知識,寫在前置知識或知識拓展標題下,以此來展現解題思路,使用哪一個我會以文章流暢度決定。前置知識不是必須提前掌握的知識,而是當前需要學習的新知識。如果遇到了不懂的知識點,需要發揮主觀能動性自行查閱。永遠記住刷題不是目的,是過程。
目錄
信息收集
web1 | web2 | web3 | web4 |
web5 | web6 | web7 | web8 |
web9 | web10 | web11 | web12 |
web13 | web14 | web15 | web16 |
web17 | web18 | web19 | web20 |
爆破
web22 題目已棄用
web21 | [web22] | web23 | web24 |
web25 | web26 | web27 | web28 |
命令執行
[web29] | [web30] | [web31] | [web32] |
[web33] | [web34] | [web35] | [web36] |
[web37] | [web38] | [web39] | [web40] |
[web41] | [web42] | [web43] | [web44] |
[web45] | [web46] | [web47] | [web48] |
[web49] | [web50] | [web51] | [web52] |
[web53] | [web54] | [web55] | [web56] |
[web57] | [web58] | [web59] | [web60] |
[web61] | [web62] | [web63] | [web64] |
[web65] | [web66] | [web67] | [web68] |
[web69] | [web70] | [web71] | [web72] |
[web73] | [web74] | [web75] | [web76] |
[web77] |
寫題解的原因
??我已經刷了幾百題了,但是我覺得效果欠佳。我希望這個系列能讓我整理web相關知識,形成知識體系,以便我能夠更快入門,通過考試,找到工作。當我找到了工作,才會放緩更新。
??另外談一談我對知識的理解。一個普通人的知識如同天上繁星,如果想要找到天狼星,那必須逐個尋找,找到那最亮的那顆星星,復雜度O(n);一個學霸的知識體系如同樹狀,大樹枝連接小樹枝,最小樹枝上長了葉子,檢索時永遠走對的的路徑縮小搜索范圍,復雜度O(log n);一個天才的知識我設想是網狀的,即他們腦子所有知識點都被一個個表示特征的直線所貫穿,他們只要獲取足夠多的特征就能通過特征交點迅速鎖定目標,復雜度O(1)。我們也許無法成為天才,但能通過努力成為學霸。
??逆向安全我看不到盡頭,但愿有一天我還能變成那個少年,重新拾起吧。
最后,如果我幫助到你了,能給我點個贊嗎,每一個贊都是對我的肯定,我會非常開心的。