
轉眼間從大三開始學安全到現在也有五年了也算是對滲透測試有一定理解準備出一些入門教程以實操為主希望可以幫助到想入門滲透測試的小白。如果覺得有用可以在文章后面支持一下我作為我寫下去的動力。1. 什么是滲透測試滲透測試就是模擬真實黑客的攻擊手法對目標網站或主機進行全面的安全評估與黑客攻擊不一樣的是滲透測試的目的是盡可能多地發(fā)現安全漏洞而真實黑客攻擊只要發(fā)現一處入侵點即可以進入目標系統。一名優(yōu)秀的滲透測試工程師也可以認為是一個厲害的黑客也可以被稱呼為白帽子。一定要注意的是在進行滲透測試前需要獲得目標客戶的授權如果未獲得授權千萬不要對目標系統進行滲透測試后果請查看《網絡安全法》。同時要有良好的職業(yè)操守不能干一些違法的事情。2. 為什么要學滲透測試學滲透測試的好處不外乎以下幾點心理滿足感。很酷就像小時候看黑客的電影一樣自己也成為了他們。有一份可觀的收入??梢匀ジ鞔笳衅妇W站上看下這個崗位的薪資。還可以做兼職在業(yè)余時間參加漏洞眾測可以獲得比較豐厚的收入。沒那么卷。在軟件開發(fā)、金融行業(yè)卷上天的時代網絡安全行業(yè)的競爭可以說相當小因為這方面的人才實在太少了。3. 學習滲透測試的前置技能學習滲透測試其實最重要的是有興趣要有一顆好奇的心一個對知識渴望的心以及足夠的毅力這樣可以支撐我們在這條道路上不斷學習。當然學滲透測試還是有點門檻的如果是計算機專業(yè)的人可以輕松上手在一兩個月內入門。如果是其它專業(yè)的或者是電腦小白那么還是比較有難度的但是也不用擔心我身邊有很多大牛都是零基礎入行的所以興趣還是最重要的。下面說一些滲透測試需要的基本前置知識HTTP協議基礎知識。HTTP協議屬于計算機網絡的知識因為滲透測試基本是對網站的請求數據進行修改查找漏洞所以了解HTTP協議請求的格式是必不可以的。cmd / shell 操作。這里說的 cmd 操作是指會使用 Windows 系統的 cmd 命令行窗口執(zhí)行一些常見的命令按 win R 鍵輸入 cmd 回車可以打開cmd 窗口。還有就是要會使用 linux 執(zhí)行一些常見的 shell 命令。Linux 操作系統使用。由于很多滲透測試工具只能運行在 Linux 操作系統中所以我們要會使用 Linux 系統可以通過 VMWare 虛擬機軟件安裝 Ubuntu linux 虛擬機來練習使用也可以直接安裝 Kali Linux 來練習。前面說的是一些基本知識下面是一些可選知識沒有這些知識也可以做滲透測試只是局限性會比較大。python 編程語言。作為一個腳本小子會 python 語言可以幫助我們開發(fā)一些工具減輕平時的工作量用 python 來做一些重復性的工作如自動化信息收集最重要的是可以寫一些漏洞利用工具。Java/PHP 編程語言。滲透測試大部分時間都是對網站進行操作這些網站大多數是使用 Java 或 PHP 語言開發(fā)的有些是使用一些開源的系統進行二次開發(fā)的我們可以對這些開源的系統進行代碼審計直接從代碼中發(fā)現漏洞。4. 如何學習滲透測試回到文章主題如何學習滲透測試。第一步先確定要學習的方向在學習滲透測試前可以先了解一下滲透測試有哪些方向因為滲透測試的范圍還是比較廣的按方向分可以大致分為 Web 滲透 、 APP 滲透、 內網滲透 、物聯網滲透、 工控滲透。 按難度來排序我認為的難度排序是 Web滲透 內網滲透 APP 滲透 物聯網滲透工控滲透。理想情況下當然是所有都會最好但凡事都需要一步步來可以先從最簡單的 Web 滲透開始學當Web 滲透掌握了再擴展到其它方向。為什么這樣排序說下我的理由Web 滲透主要是要找網站的漏洞只需要了解一些基礎的計算機網絡知識也就是 HTTP 協議的知識然后會一些工具的使用就可以了剩下的就是了解一些常見 Web 漏洞的測試方法。內網滲透是指在我們通過 Web 滲透獲取 Web 服務器權限或者使用釣魚郵件等方式獲取了目標內網主機權限后對目標公司的內部網絡進行滲透測試。其中需要掌握更加多的計算機網絡知識比如子網劃分、網絡拓撲圖、各種網絡協議。還要了解 Windows 域知識權限提升技術、橫向移動技術、權限維持技術、免殺技術。要學習的內容難度也不算大所以只要肯花時間也是可以掌握的。由于知識點比 Web 滲透多所以難度比 Web 滲透大。APP 滲透可以理解是 Web 滲透的擴展主要是對 安卓 APP 和 iOS APP 進行滲透測試APP 也需要和服務器后臺進行數據交互這部分的測試和 Web 滲透一樣。另外還需要對 APP 本身的漏洞進行測試這需要逆向分析的能力而逆向分析其實也屬于安全的一個大方向需要我們掌握一些脫殼技術、動態(tài)調試技術、反編譯工具使用、Java 編程語言、C/C 編程語言、匯編語言、 Swift 編程語言、Object-C 編程語言。在編程語言方面我們不需要像軟件開發(fā)人員一樣精通但至少需要能看懂代碼。由于 APP 滲透需要逆向分析能力并且學習的計算機底層知識更多而因此 APP 滲透難度更大。物聯網滲透、 工控滲透其實都差不多區(qū)別其實就是物聯網設備需要聯網工控設備一般是在隔離的網絡中相同點是都需要接觸物理設備。不同于上面的各項滲透只需要有網絡就可以開始如果沒有物聯網和工控設備根本無法開始或者只能做部分的測試在能否接觸到設備這里就攔住了很多人。這方面的學習需要花錢買硬件或者公司進行投入采購硬件。在技能方面除了要會逆向分析外還需要了解各種硬件知識、電氣知識、工業(yè)協議、物聯網協議因此難度是最高的。第二步了解所學習方向的框架和知識點。了解所學習方向的框架和知識點比較重要這樣不至于盲目學習不重要的知識點。要入門滲透測試先從最簡單的 Web 滲透開始入門級的 Web 滲透知識點框架我認為可以分為三部分。一、信息收集流程。如子域名收集、備案查詢、github 敏感信息查找等等知道的方式越多收集的信息也越多。二、滲透測試常用工具使用。對于入門級的滲透測試會使用 nmap、Burpsuite、Kali Linux 、sqlmap 就基本足夠了。三、Web滲透常見漏洞測試。 對于入門級的滲透測試可以先掌握 OWASP Top 10 的漏洞如最常見的 SQL 注入漏洞、XSS 漏洞、文件上傳漏洞、越權漏洞、弱口令等。??重點提醒學習漏洞不要只背Payload一定要弄懂漏洞產生原理、復現步驟、利用思路以及對應的修復方案知其然更要知其所以然。第三步本地靶場實操練習看懂教程不等于真正掌握滲透技術紙上談兵沒有意義實操才是滲透入門的核心。新手優(yōu)先選擇開源免費靶場練習Pikachu、DVWA、WebGoat。每學完一類漏洞就在靶場完整復現一遍觀察漏洞現象思考漏洞為什么會產生什么樣的代碼會造成該漏洞。不要直接復制Payload跑通就完事多做嘗試體會不同傳入參數帶來的差異。小提示不要直接拿互聯網真實網站練習一定要在本地靶場環(huán)境操作遵守法律要求。第四步整理筆記持續(xù)積累復盤滲透知識點零碎繁多非常建議養(yǎng)成記筆記的習慣。把漏洞原理、Payload、踩坑問題、實操步驟全部記錄下來。后續(xù)復習、面試刷題都可以直接翻閱避免學了后面忘記前面。第五步拓展學習渠道保持長期學習網絡安全行業(yè)更新迭代很快不斷有新漏洞、新防護產品出現停止學習就等于退步。日??梢远嗫醇夹g公眾號、安全社區(qū)閱讀別人的實戰(zhàn)文章學習他人的測試思路。有條件可以參與合法漏洞眾測平臺在授權范圍內進行實戰(zhàn)鍛煉。最后寫給想入行的小白滲透測試不是幾天速成的行業(yè)不存在一周速成大神。零基礎會經歷一段枯燥難熬的階段遇到看不懂協議、命令報錯、漏洞復現失敗都是常態(tài)。只要保持興趣、堅持實操、遵守法律底線一步一個腳印普通人也可以順利踏入網絡安全行業(yè)。互動話題如果你想學習更多**網絡安全方面**的知識和工具可以看看以下面網絡安全學習資源分享:給大家分享一份全套的網絡安全學習資料給那些想學習 網絡安全的小伙伴們一點幫助①網絡安全學習路線②20份滲透測試電子書③安全攻防357頁筆記④50份安全攻防面試指南⑤安全紅隊滲透工具包⑥網絡安全必備書籍⑦100個漏洞實戰(zhàn)案例⑧安全大廠內部視頻資源⑨歷年CTF奪旗賽題解析對于從來沒有接觸過網絡安全的同學我們幫你準備了詳細的學習成長路線圖??梢哉f是最科學最系統的學習路線大家跟著這個大的方向學習準沒問題。因篇幅有限僅展示部分資料完整版的網絡安全學習資料已經上傳CSDN朋友們如果需要可以在下方CSDN官方認證二維碼免費領取【保證100%免費】