
转眼间从大三开始学安全到现在也有五年了也算是对渗透测试有一定理解准备出一些入门教程以实操为主希望可以帮助到想入门渗透测试的小白。如果觉得有用可以在文章后面支持一下我作为我写下去的动力。1. 什么是渗透测试渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估与黑客攻击不一样的是渗透测试的目的是尽可能多地发现安全漏洞而真实黑客攻击只要发现一处入侵点即可以进入目标系统。一名优秀的渗透测试工程师也可以认为是一个厉害的黑客也可以被称呼为白帽子。一定要注意的是在进行渗透测试前需要获得目标客户的授权如果未获得授权千万不要对目标系统进行渗透测试后果请查看《网络安全法》。同时要有良好的职业操守不能干一些违法的事情。2. 为什么要学渗透测试学渗透测试的好处不外乎以下几点心理满足感。很酷就像小时候看黑客的电影一样自己也成为了他们。有一份可观的收入。可以去各大招聘网站上看下这个岗位的薪资。还可以做兼职在业余时间参加漏洞众测可以获得比较丰厚的收入。没那么卷。在软件开发、金融行业卷上天的时代网络安全行业的竞争可以说相当小因为这方面的人才实在太少了。3. 学习渗透测试的前置技能学习渗透测试其实最重要的是有兴趣要有一颗好奇的心一个对知识渴望的心以及足够的毅力这样可以支撑我们在这条道路上不断学习。当然学渗透测试还是有点门槛的如果是计算机专业的人可以轻松上手在一两个月内入门。如果是其它专业的或者是电脑小白那么还是比较有难度的但是也不用担心我身边有很多大牛都是零基础入行的所以兴趣还是最重要的。下面说一些渗透测试需要的基本前置知识HTTP协议基础知识。HTTP协议属于计算机网络的知识因为渗透测试基本是对网站的请求数据进行修改查找漏洞所以了解HTTP协议请求的格式是必不可以的。cmd / shell 操作。这里说的 cmd 操作是指会使用 Windows 系统的 cmd 命令行窗口执行一些常见的命令按 win R 键输入 cmd 回车可以打开cmd 窗口。还有就是要会使用 linux 执行一些常见的 shell 命令。Linux 操作系统使用。由于很多渗透测试工具只能运行在 Linux 操作系统中所以我们要会使用 Linux 系统可以通过 VMWare 虚拟机软件安装 Ubuntu linux 虚拟机来练习使用也可以直接安装 Kali Linux 来练习。前面说的是一些基本知识下面是一些可选知识没有这些知识也可以做渗透测试只是局限性会比较大。python 编程语言。作为一个脚本小子会 python 语言可以帮助我们开发一些工具减轻平时的工作量用 python 来做一些重复性的工作如自动化信息收集最重要的是可以写一些漏洞利用工具。Java/PHP 编程语言。渗透测试大部分时间都是对网站进行操作这些网站大多数是使用 Java 或 PHP 语言开发的有些是使用一些开源的系统进行二次开发的我们可以对这些开源的系统进行代码审计直接从代码中发现漏洞。4. 如何学习渗透测试回到文章主题如何学习渗透测试。第一步先确定要学习的方向在学习渗透测试前可以先了解一下渗透测试有哪些方向因为渗透测试的范围还是比较广的按方向分可以大致分为 Web 渗透 、 APP 渗透、 内网渗透 、物联网渗透、 工控渗透。 按难度来排序我认为的难度排序是 Web渗透 内网渗透 APP 渗透 物联网渗透工控渗透。理想情况下当然是所有都会最好但凡事都需要一步步来可以先从最简单的 Web 渗透开始学当Web 渗透掌握了再扩展到其它方向。为什么这样排序说下我的理由Web 渗透主要是要找网站的漏洞只需要了解一些基础的计算机网络知识也就是 HTTP 协议的知识然后会一些工具的使用就可以了剩下的就是了解一些常见 Web 漏洞的测试方法。内网渗透是指在我们通过 Web 渗透获取 Web 服务器权限或者使用钓鱼邮件等方式获取了目标内网主机权限后对目标公司的内部网络进行渗透测试。其中需要掌握更加多的计算机网络知识比如子网划分、网络拓扑图、各种网络协议。还要了解 Windows 域知识权限提升技术、横向移动技术、权限维持技术、免杀技术。要学习的内容难度也不算大所以只要肯花时间也是可以掌握的。由于知识点比 Web 渗透多所以难度比 Web 渗透大。APP 渗透可以理解是 Web 渗透的扩展主要是对 安卓 APP 和 iOS APP 进行渗透测试APP 也需要和服务器后台进行数据交互这部分的测试和 Web 渗透一样。另外还需要对 APP 本身的漏洞进行测试这需要逆向分析的能力而逆向分析其实也属于安全的一个大方向需要我们掌握一些脱壳技术、动态调试技术、反编译工具使用、Java 编程语言、C/C 编程语言、汇编语言、 Swift 编程语言、Object-C 编程语言。在编程语言方面我们不需要像软件开发人员一样精通但至少需要能看懂代码。由于 APP 渗透需要逆向分析能力并且学习的计算机底层知识更多而因此 APP 渗透难度更大。物联网渗透、 工控渗透其实都差不多区别其实就是物联网设备需要联网工控设备一般是在隔离的网络中相同点是都需要接触物理设备。不同于上面的各项渗透只需要有网络就可以开始如果没有物联网和工控设备根本无法开始或者只能做部分的测试在能否接触到设备这里就拦住了很多人。这方面的学习需要花钱买硬件或者公司进行投入采购硬件。在技能方面除了要会逆向分析外还需要了解各种硬件知识、电气知识、工业协议、物联网协议因此难度是最高的。第二步了解所学习方向的框架和知识点。了解所学习方向的框架和知识点比较重要这样不至于盲目学习不重要的知识点。要入门渗透测试先从最简单的 Web 渗透开始入门级的 Web 渗透知识点框架我认为可以分为三部分。一、信息收集流程。如子域名收集、备案查询、github 敏感信息查找等等知道的方式越多收集的信息也越多。二、渗透测试常用工具使用。对于入门级的渗透测试会使用 nmap、Burpsuite、Kali Linux 、sqlmap 就基本足够了。三、Web渗透常见漏洞测试。 对于入门级的渗透测试可以先掌握 OWASP Top 10 的漏洞如最常见的 SQL 注入漏洞、XSS 漏洞、文件上传漏洞、越权漏洞、弱口令等。⚠️重点提醒学习漏洞不要只背Payload一定要弄懂漏洞产生原理、复现步骤、利用思路以及对应的修复方案知其然更要知其所以然。第三步本地靶场实操练习看懂教程不等于真正掌握渗透技术纸上谈兵没有意义实操才是渗透入门的核心。新手优先选择开源免费靶场练习Pikachu、DVWA、WebGoat。每学完一类漏洞就在靶场完整复现一遍观察漏洞现象思考漏洞为什么会产生什么样的代码会造成该漏洞。不要直接复制Payload跑通就完事多做尝试体会不同传入参数带来的差异。小提示不要直接拿互联网真实网站练习一定要在本地靶场环境操作遵守法律要求。第四步整理笔记持续积累复盘渗透知识点零碎繁多非常建议养成记笔记的习惯。把漏洞原理、Payload、踩坑问题、实操步骤全部记录下来。后续复习、面试刷题都可以直接翻阅避免学了后面忘记前面。第五步拓展学习渠道保持长期学习网络安全行业更新迭代很快不断有新漏洞、新防护产品出现停止学习就等于退步。日常可以多看技术公众号、安全社区阅读别人的实战文章学习他人的测试思路。有条件可以参与合法漏洞众测平台在授权范围内进行实战锻炼。最后写给想入行的小白渗透测试不是几天速成的行业不存在一周速成大神。零基础会经历一段枯燥难熬的阶段遇到看不懂协议、命令报错、漏洞复现失败都是常态。只要保持兴趣、坚持实操、遵守法律底线一步一个脚印普通人也可以顺利踏入网络安全行业。互动话题如果你想学习更多**网络安全方面**的知识和工具可以看看以下面网络安全学习资源分享:给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】