零基础如何入门渗透测试2024年最新版,保姆级教程,小白必看!


转眼间,从大三开始学安全,到现在也有五年了,也算是对渗透测试有一定理解,今天也是出一篇入门教程,以实操为主,希望可以帮助到想入门渗透测试的小白。如果觉得有用,可以给我点个赞和收藏,作为我写下去的动力。

前排提示:文末有CSDN独家渗透测试资料包!

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 漏洞、文件上传漏洞、越权漏洞、弱口令等。

确认了三个大的知识框架后,就需要我们通过搜索引擎来查找这三个方面的知识点,搜索引擎这里我只推荐使用谷歌(怎么用谷歌自行找资料),百度太多广告,搜索出来的东西远远不如谷歌有价值。
在这里插入图片描述

第三步,学习渗透测试知识点

大致了解渗透测试的框架和知识点后,接下来就是如何学习这些知识点了。

首先是自学,适用于想不花钱或者花很少钱的情况下入门渗透测试,比较适合在校大学生,或者空闲时间比较多的人。

自学需要使用谷歌对各个知识点进行搜索学习。现在国外也有一些渗透测试的指南,可以跟着来学。

如渗透测试执行标准,里面会介绍一些渗透测试的理论知识,侧向理论多一点,不推荐初学者看,这里只是提一下,网址如下:
http://www.pentest-standard.org/index.php/Main_Page

其中也有一些实操指南,但也是文字居多,内容是全英文的,英文不好的可以使用 chrome 浏览器的网页翻译来看。

http://www.pentest-standard.org/index.php/PTES_Technical_Guidelines
在这里插入图片描述

还有就是 OWASP Web 安全测试指南 项目,里面有一些漏洞的测试步骤,可以作为入门指南来看

https://owasp.org/www-project-web-security-testing-guide/stable/
在这里插入图片描述

除了看国外的一些渗透测试指南,也可以买一些渗透测试的书籍来看。我看过觉得比较好的书有 《Web安全深度剖析》、《黑客攻防技术宝典:Web实战篇》
觉得看书枯燥的,也可以找一些视频教程,在 bilibili 上面也是有很多渗透测试的教程,但我没怎么看过,所以没法进行推荐,需要自己根据评价来判断。

在这里插入图片描述

当然除了自学,也是可以参加培训班,适合那些有一定经济能力的初学者。身边也有不少大牛是通过培训班入门的,由于我也没参加过,所以也没法推荐,可以找些参加过的朋友进行推荐。

第四步,实践操作

根据第三步学到的知识点,进行实践操作,每学一个知识点后就进行实践,实践操作可以找一些专门设计用来进行漏洞测试的虚拟机靶场,下载靶场后使用 VMWare 虚拟机软件打开就可以访问进行测试了。下面列出一些靶场:

owaspbwa: 开放Web应用安全项目(OWASP)是一组易受攻击的Web应用程序,它们以VMware格式分布在虚拟机上,比较推荐这个虚拟机靶场,里面集成了大量存在漏洞的网站,比如 Webgoat、DVWA、bWAPP。下载地址如下:

https://sourceforge.net/projects/owaspbwa/

在这里插入图片描述

Metasploitable :
Metasploitable 是一个故意易受攻击的 Linux 虚拟机。该虚拟机可用于进行安全培训、测试安全工具和练习常见的渗透测试技术。这个虚拟机也不错,还有一些主机漏洞,如 vsftp 漏洞。下载地址如下:
https://sourceforge.net/projects/metasploitable/

在这里插入图片描述

Pikachu:
Pikachu 是一个中文的漏洞靶场

https://github.com/zhuifengshaonianhanlu/pikachu

在这里插入图片描述

Vulhub:
Vulhub 里面集成了大量漏洞的 docker 镜像,可以通过 docker 来启动各种漏洞的环境,地址如下:
https://vulhub.org/

下载好靶场后,还需要学会使用 BurpSuite 代理工具的使用,这个工具是渗透测试必须学会的工具,是个商业软件,价格也不算便宜,网上有破解的版本。可以查看 BurpSuite 的官方文档进行学习使用,地址如下:
https://portswigger.net/burp/documentation/desktop/getting-started

BurpSuite 官方也提供了漏洞测试教程和在线的靶场,还配有视频,可以直接在官网学习渗透测试,地址如下:
https://portswigger.net/web-security/getting-started

在这里插入图片描述

如果不会用虚拟机软件,也可以找一些在线的漏洞靶场来实践

Web Security Academy:
https://portswigger.net/web-security/getting-started

hackthebox:
https://www.hackthebox.com/

web for pentester:https://www.pentesterlab.com/exercises/web_for_pentester/course

当学习了一些常见漏洞的测试方法,burpsuite 工具的使用后,就需要到真实网站进行实战。可以到一些漏洞平台进行实战,如补天平台、漏洞盒子、各大互联网公司的 SRC,在这些平台上进行漏洞挖掘时,一定要看清楚各平台的规则,严格按照规则来进行。这里再提醒一下,不要未授权测试!不要未授权测试!不要未授权测试!重要的事情说三遍,后果请查看《网络安全法》。
渗透测试的入门介绍就到这里,后面有时间我会出一些教程,敬请期待~~~

CSDN独家渗透测试资料包

最后,感谢每一个认真阅读我文章的人,礼尚往来总是要有的,下面资料虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android: 深入理解 ‘companion object {}‘

Android: 深入理解 ‘companion object {}’ Kotlin是一种现代的、静态类型的编程语言&#xff0c;它在设计时充分考虑了开发者的生产力和代码的可读性。其中一个独特的特性就是companion object。在本篇博客中&#xff0c;我们将深入探讨这个特性&#xff0c;理解它的工作原理…

Java21 + SpringBoot3集成七牛云对象存储OSS,实现文件上传

文章目录 前言实现步骤引入maven依赖修改配置文件创建七牛云配置类创建文件操作服务类创建文件操作控制器前端实现运行效果 总结 前言 近日心血来潮想做一个开源项目&#xff0c;目标是做一款可以适配多端、功能完备的模板工程&#xff0c;包含后台管理系统和前台系统&#xf…

EOF和0区别

题目描述 KiKi学习了循环&#xff0c;BoBo老师给他出了一系列打印图案的练习&#xff0c;该任务是打印用“*”组成的X形图案。 输入描述&#xff1a; 多组输入&#xff0c;一个整数&#xff08;2~20&#xff09;&#xff0c;表示输出的行数&#xff0c;也表示组成“X”的反斜…

你的歌声婉转入云霄

可爱的一朵玫瑰花 - 吕继宏 可爱的一朵玫瑰花塞地玛丽亚 可爱的一朵玫瑰花塞地玛丽亚 那天我在山上打猎骑着马&#xff08;人善被人欺马善被人骑&#xff09; 正当你在山下歌唱婉转入云霄 歌声使我迷了路 我从山坡滚下 哎呀呀 你的歌声婉转入云霄 强壮的青年哈萨克伊万杜达尔 …

【八大排序】选择排序 | 堆排序 + 图文详解!!

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 一、选择排序1.1 基本思想1.2 算法步骤 动图演示1.3 代码实现1.4 选择排序特性总结 二…

C/C++内存管理的底层调用逻辑

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

【TCP/IP】用户访问一个购物网站时TCP/IP五层参考模型中每一层的功能

当用户访问一个购物网站时&#xff0c;网络上的每一层都会涉及不同的协议&#xff0c;具体网络模型如下图所示。 以下是每个网络层及其相关的协议示例&#xff1a; 物理层&#xff1a;负责将比特流传输到物理媒介上&#xff0c;例如电缆或无线信号。所以在物理层&#xff0c;可…

vue3项目实现预览图片、旋转图片功能

一、需求&#xff1a; 在点击图片时&#xff0c;能预览大图&#xff0c;弹出一个包含旋转图片功能按钮的弹窗。用户可通过点击按钮实现对图片的旋转操作 二、思路&#xff1a; 点击图片预览&#xff1a; 用户通过点击图片触发预览功能。接收图片的 URL&#xff0c;弹出一个模…

【GameFramework框架】四、GameFramework框架内置模块

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录&#xff1a; https://blog.csdn.net/q7…

问题:下列关于海关统计项目的表述,正确的有:A.进出境货物的统计重量和数量应以报关单位申报的重量和数 #笔记#职场发展#媒体

问题&#xff1a;下列关于海关统计项目的表述&#xff0c;正确的有&#xff1a;A&#xff0e;进出境货物的统计重量和数量应以报关单位申报的重量和数 下列关于海关统计项目的表述&#xff0c;正确的有&#xff1a; A&#xff0e;进出境货物的统计重量和数量应以报关单位申报的…

echarts使用之地图(五)

1 基本使用 百度地图 API : 使用百度地图的 api , 它能够在线联网展示地图 , 百度地图需要申请 ak 矢量地图 : 可以离线展示地图 , 需要开发者准备矢量地图数据。本文使用该方式。 json格式的数据如下&#xff1a; 格式参照&#xff1a;GeoJSON <!DOCTYPE html&…

Java实现数据可视化的智慧河南大屏 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏&#xff0c;包含了GDP、…

泰克示波器(TBS2000系列)保存功能使用

目录 1.1 Save/Recall按钮1.2 保存动作1.3 文件格式1.4 保存 在使用示波器时&#xff0c;测量后的结果我们常常需要记录下来&#xff0c;大部分情况我们是拍照记录&#xff0c;单图像往往不清晰&#xff0c;这时使用示波器专用的保存功能&#xff0c;插入U盘即可保存&#xff0…

STM32--SPI通信协议(3)SPI通信外设

前言 硬件SPI&#xff1a;通过硬件电路实现&#xff0c;所以硬件SPI速度更快&#xff0c;有专门的寄存器和 库函数 &#xff0c;使用起来更方便。 软件SPI&#xff1a;也称模拟SPI&#xff0c;通过程序控制IO口电平模拟SPI时序实现&#xff0c;需要程序不断控制IO电平翻转&am…

JAVA字节流的两个重要子类FileOutputStream、FileInputStream

字节流&#xff0c;字符集&#xff0c;字符流 因为它们都是抽象类&#xff0c;所以要学习它们的子类 字节流的结构: FileOutputStream 操作本地文件的字节输出流&#xff0c;可以把程序中的数据写入本地文件。 书写步骤&#xff1a; 创建字节输出流对象写数据释放资源 演示:…

C语言开发单片机为什么大多数都采用全局变量的形式?

C语言开发单片机为什么大多数都采用全局变量的形式&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&…

STM32F4学习

F4系统架构 8个主控总线7个被控总线 主控总线 Cortex-M4内核 I总线Cortex-M4内核 D总线Cortex-M4内核 S总线DMA1存储器总线DMA2存储器总线DMA2外设总线以太网DMA总线USB OTG HS DMA总线 被控总线 内部FLASH ICode总线内部FLASH DCode总线主要内部SRAM1&#xff08;112KB&a…

【AI绘画+Midjourney平替】Fooocus:图像生成、修改软件(Controlnet原作者重新设计的UI+Windows一键部署)

代码&#xff1a;https://github.com/lllyasviel/Fooocus windows一键启动包下载&#xff1a;https://github.com/lllyasviel/Fooocus/releases/download/release/Fooocus_win64_2-1-831.7z B站视频教程&#xff1a;AI绘画入门神器&#xff1a;Fooocus | 简化SD流程&#xff0c…

【51单片机】开发板&开发软件(Keil5&STC-ISP)简介&下载安装破译传送门(1)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

Windows如何安装Node.js环境并制作贪吃蛇小游戏分享好友远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…