新手如何学习挖毛病?看这篇就够了【网络安全】
前言有不少阅读过我文章的伙伴都知道,我从事网络安全行业已经好几年,积聚了丰富的经验和技能。在这段时间里,我到场了多个现实项目的规划和实施,成功防范了各种网络攻击和毛病利用,提高了安全防护程度。
也有很多小伙伴私信问我怎么学?怎么挖毛病?怎么渗透?
较合理的途径应该从毛病利用入手,不妨分析一些公开的CVE毛病。很多毛病都有比较好的资料,分析研究的多了,对毛病的熟悉自然就不同了,然后再去搞挖掘就会易上手一点!
俗话说:“磨刀不误砍柴工”,就是这么个理儿。
那么这篇文章就教各人怎么从零到挖毛病一条龙学习!学到了别忘了给个赞
https://i-blog.csdnimg.cn/blog_migrate/7b6b703574ef19633533e48eedc85d6f.jpeg
什么是毛病挖掘
毛病挖掘是指通过分析软件、系统或网络中存在的安全毛病来发现并利用这些毛病。毛病挖掘是信息安全领域的一项紧张工作,可以帮助企业和组织提高系统的安全性,避免黑客攻击和数据泄露。
毛病挖掘的流程一般可以概括为以下几个步骤:
https://i-blog.csdnimg.cn/blog_migrate/226bd3e70dba13725b9418667e312129.png
确定目标:确定要挖掘的软件或系统。这可能是一个应用步伐、操作系统、网络装备或其他系统。
收集信息:收集有关目标的信息,包括架构、协议、版本和配置等。这些信息可以通过互联网搜索、手动扫描、主动化工具和其他途径得到。
分析毛病:通过手动和主动化技术进行毛病分析,辨认潜伏的毛病类型和攻击面。毛病类型可能包括缓冲区溢出、SQL注入、跨站点脚本、文件包罗、代码注入等等。
验证毛病:验证已经辨认的毛病。这通常涉及到构建毛病利用代码,并尝试在目标系统上运行以确定毛病是否存在。
编写报告:对于已经验证的毛病,必要编写毛病报告。报告应该包括毛病的描述、影响、利用难度和建议的修复方法等。
报告毛病:将毛病报告发送给目标系统的所有者或运营者。通常,这些信息将发送给该系统的安全团队或责任人。
跟踪毛病:跟踪毛病的修复进度,并监督其状态。如果毛病得到修复,可以对修复进行验证以确保毛病已被彻底办理。
必要注意的是,毛病挖掘是一项必要恒久一连学习和实践的工作。要成为一名良好的毛病挖掘者,必要不停学习新的技术和方法,并保持良好的头脑习惯和创新本领。
学习毛病挖掘的精确次序
固然,学习毛病挖掘之前,必要掌握以下几个方面的内容:
https://i-blog.csdnimg.cn/blog_migrate/86fa41dacd931752a60d3b28de666e66.png
编程语言和盘算机基础知识
在毛病挖掘过程中,挖掘者必要编写代码来验证和利用毛病,因此必要至少掌握一种编程语言,如C、Python、Java等。同时,还必要相识盘算机的基础知识,例如盘算机系统的构成布局、操作系统的原理、盘算机网络的根本概念、数据库的工作原理等。如果没有这方面的基础知识,就很难理解毛病挖掘中所必要的各种技术和工具。
安全基础知识
毛病挖掘是一项安全工作,因此必要掌握一些安全基础知识,例如Web安全、网络安全、应用步伐安全、二进制安全等。建议挖掘者先学习一些基础的安全知识,例如OWASP Top 10毛病、常见的网络攻击技术和毛病类型等,这可以帮助挖掘者更好地理解毛病挖掘中所面临的题目和挑衅。
毛病挖掘工具
学习毛病挖掘必要掌握一些常用的毛病挖掘工具,例如Burp Suite、Metasploit、Nmap、Wireshark、IDA等。这些工具可以帮助挖掘者加速毛病挖掘的过程,同时也能帮助挖掘者深入理解毛病的原理和产生的缘故原由。例如,Burp Suite可以帮助挖掘者拦截和修改HTTP请求,Metasploit可以帮助挖掘者构造攻击载荷等。
学习毛病挖掘技巧和方法
学习毛病挖掘必要相识一些常用的技巧和方法,如Fuzzing、代码审计、反向工程、毛病利用等。这些技巧和方法可以大概帮助挖掘者更快速地发现毛病,并且深入理解毛病的原理和利用方式。例如,Fuzzing可以帮助挖掘者通过主动生成大量的输入数据,来测试步伐是否存在毛病,代码审计可以帮助挖掘者通过分析代码来发现毛病等。
总的来说,学习毛病挖掘必要综合掌握多方面的知识,包括编程、盘算机基础知识、安全基础知识、毛病挖掘工具以及毛病挖掘技巧和方法。建议先从基础知识入手,渐渐深入学习,不停实践,并在实践中发现息争决题目,才气逐渐成为一名良好的毛病挖掘者
对于有一些基础知识的初学者,应该怎样进行毛病挖掘呢?
《黑客&网络安全入门&进阶学习资源包》免费分享
https://i-blog.csdnimg.cn/blog_migrate/53b71c8380c1b24be6c1055d902fb0e3.png
一、如何发现毛病
从某个角度来讲,我们可以将毛病挖掘工作比作玩迷宫游戏,不同的是,这个迷宫与我们平时所见的游戏中的迷宫略有不同:
https://i-blog.csdnimg.cn/blog_migrate/86042c2d2a9159f3642c64f3078bc9c3.jpeg
(1)你无法立即看到它团体的外观 (2)随着毛病挖掘工作的深入,这个迷宫的形状逐渐扩大 (3)你将会拥有多个出发点及尽头,但是无法确定这些点详细在那里 (4)终极这个迷宫可能永世也无法100%的完备,但是却可以大概弄清楚A点至B点的一条完备路径
详细一点地描述,我们可以将毛病挖掘工作归结为三个步骤:
(1) 枚举步伐入口点(例如:与步伐交互的接口) (2) 思考可能出现的不安全状态(即毛病) (3) 想法使用辨认的入口点到达不安全状态
便是说,在这个过程中,迷宫是我们研究的应用步伐,地图是我们对步伐的理解程度,出发点是我们的入口点(交互接口),尽头为步伐的不安全状态。
所谓入口点,既可以是UI界面上直观可见的交互接口,也可以是非常模糊与透明的交互接口(例如IPC),以下是部门安全研究员较为感兴趣的关注点:
(1) 应用步伐中比较古老的代码段,并且这一部门随着时间的推移并没有太大的变化。 (2) 应用步伐中用于连接由不同开发团队或者开发者开发的步伐模块的接口部门 (3) 应用步伐中那些调试和测试的部门代码,这部门代码本应在形成Release版本时去除,但由于某些缘故原由不小心遗留在步伐中。 (4) C-S模式(带客户端和服务端)的应用中客户端及服务端调用API的差异部门(例如网页表单中的hide属性字段) (5) 不受终端用户直接影响的内部请求(如IPC)
从攻击面上来划分,可以将毛病分为两大类,通用毛病(General)和上下文毛病(Contextual)。通用型毛病是指在我们对应用的业务逻辑不是非常熟悉的情况下可以大概找出的毛病,例如一些RCE(远程代码执行)、SQLi(sql注入)、XSS(跨站)等。上下文毛病是指必要在对应用的业务逻辑、认证方式等非常熟悉的情况下才气找到的毛病,例如权限绕过等。
在毛病挖掘的过程中,首先根据经验优先思量研究测试那些可能会对应用产生巨大威胁的部门。一些轻量级威胁检测模子(如STRIDE)可以辅助我们做出如许的决议。
下面我们来看一个WEB应用步伐的毛病示例,背面将会介绍桌面步伐:
https://i-blog.csdnimg.cn/blog_migrate/ded4771929ae66cd636739b51a0d53e7.png
首先我们假设目标web应用是一个单页面应用步伐(single-page-application SPA),我们已经得到正当验证去访问这个应用,但是我们没有任何关于服务端的源代码或者二进制文件。在这种情况下,当我们枚举入口点时,可以通过探寻该应用的不同功能来进一步相识其业务逻辑及功能,可以通过抓包分析看HTTP请求内容,也可以分析客户端的网页代码获取必要提交表单的列表,但是终极的限定照旧我们无法详细知悉客户端和服务端调用的API之间的区别,不过通过以上方法,我们可以找到一些入口点。
接着就是操作这些入口点,以试图到达我们预期的不安全状态。由于毛病的形态很多,我们通常必要构建一个实用于该测试应用步伐的业务功能毛病的测试集,以求到达最高效地寻找毛病。如果不那样做的话,我们就将会在一些无用的测试集上耗费大量时间,并且看不到任何结果(举个例子,当后台的数据库为Postgres时,我们用xp_cmdshell去测试,测试再多次都无济于事)。所以在构造测试集时,需对应用步伐的逻辑有较深的理解。下图形象地展示了低服从测试集的结果:
https://i-blog.csdnimg.cn/blog_migrate/94ba5d02145ed6fbf1a5e9453c322b0e.jpeg
对于桌面应用步伐,毛病挖掘的思绪本质上与web步伐是类似的,不过也有一些区别:最大的区别在于,桌面应用的执行方式与流程与web步伐不一样,下图展示的是桌面应用毛病挖掘的一些内容:
https://i-blog.csdnimg.cn/blog_migrate/6ac685875e9216178888adbbeaf09c97.jpeg
与黑盒测试相比,当有源代码时(白盒测试),在寻找代码入口和步伐执行路径等毛病挖掘点时所做的猜测性的工作会大大减少,在这种情况下,将数据载荷从入口点执行到不安全的步伐位置的服从低于从不安全的步伐位置回溯至入口点。不过在白盒测试中,你对代码的测试的覆盖面可能会由于你自己的知识范围性而受到影响。
二、毛病挖掘必要具备的知识
从事毛病挖掘工作必要具备的知识是极其广泛的,并且随着时间在不停改变,也取决于你所研究的对象(web步伐、桌面步伐、嵌入式等等)。不过,万变不离其宗,所必要掌握的知识领域却总可以认为是确定的,大致可以分为以下四个方面:
(1) 步伐正向开发技术。这是一个开发者必要掌握的本领,包括编程语言、系统内部设计、设计模式、协议、框架等。拥有丰富编程经验与开发本领的人在毛病挖掘过程中通常比那些只对安全相关领域有所相识的人员对目标应用能有更深入的理解,从而有更高的产出。
(2)攻防一体的理念。这些知识涵盖了从根本的安全原则到不停变换的毛病形态及毛病缓解步伐。攻击和防御结合的理念,可以大概有效帮助研究者既可以大概发现毛病,同时也可以大概快速给出有效的毛病缓解步伐和规避方法。
(3)有效使用工具。可以大概高效的使用工具可以大概快速将思绪转化为实践,这必要通过花时间去学习如何配置和使用工具,将其应用于自己的使命并构建自己的工作流程来不停积聚经验。更进一步,必要深入掌握所使用工具的原理,以及如何对其进行二次开发,以使得其可以大概更加高效的应用于当前的工作现实。究竟上,面向过程的学习方法通常比面向工具的学习方法更加高效以及有代价,当自己发现一个在使用一个工具碰到瓶颈时,先不要退缩,尝试去改造它,或者通过自己动手实践去完成可以大概适应当前工作的工具,这通常可以大概帮助快速积聚大量实践经验。帮助我们以后更加高效的去实践毛病挖掘工作。
(4)对目标应用的理解。末了,也是最紧张的,作为一个毛病挖掘人员,对自己研究的应用步伐在安全性方面必须要比这个步伐的开发者或维护者有更深的理解。如许你才气尽可能的发现这个步伐中的毛病并修复它。
下面这张表格介绍了挖掘web应用步伐和桌面应用步伐的毛病时所必要掌握的内容。每个类别中的条目仅用于说明目的,并非详尽无遗。
https://i-blog.csdnimg.cn/blog_migrate/ed6beb848e1d7fef993c2ea763b5a6a0.png
https://i-blog.csdnimg.cn/blog_migrate/3e074364a324a81f7fc587be2df05f74.png
这些知识领域将会帮助你提高挖掘毛病的本领。如果说上面一节是讲诉挖掘毛病所必要的知识,那么下面的这一节将讲诉挖毛病如何做。
三. 毛病挖掘必要做什么
当分析一个应用步伐时,你可以使用下图展示的四个“分析模子”,如果碰到障碍导致思绪受阻时,你可以今后中一个模子切换到下一个模子,固然,这不是一个线性的切换,你也可以有自己的一套方法。https://i-blog.csdnimg.cn/blog_migrate/a8b19424c3b25b6b0bbc7f2f0aaa5f7e.jpeg
在每一个模子之中都有主动活动(active activities)与客观活动存在(passive activities),主动活动必要我们对步伐的执行环境及上下文有一个比较全面的相识,而客观活动却不一定,比如它是客观存在与步伐的一些技术文档之中。不过,这种划分也不一定严酷,不过对于每一个活动,我们可以从以下几方面去思量:
(1) 理解有关毛病的相关模子 (2) 试图假设一个场景去粉碎步伐 (3) 尝试去粉碎步伐
四. 有关毛病挖掘的其他想法
毛病的复杂性
毛病的复杂性分布非常广。一方面,有很多毛病非常简单与直观,并且利用代码一目了然,比如说经典的sql注入。另一方面,在系统中有的看似并不相关,并且就其自身而言并非不安全,但是当这些东西以一种特定的方式结合起来的时间,就有可能引发大的毛病,比如说条件竞争,或者一些其他的复杂的逻辑毛病。可以尝试将这些毛病按照复杂级别分为“一级毛病”和“二级毛病”,不过也有其他分类方法。引用一局来自Project Zero的Ben Hawkes说过的一句话:
Themodern exploit is not a single shot vulnerability anymore. They tend to be achain of vulnerabilities that add up to a full-system compromise.
如今想要完成一个完备的利用,只靠单一的毛病通常行不通。很多时间我们必要靠一连串的毛病才气完成一起完备的利用,致使系统“妥协”。
团队工作
在一个团队中工作可以大概有效帮助自己相识自己不知道的知识,以及提高自己已知的知识。不过在团队中要必要注意工作的方式方法,知之为知之,不知为不知,永世不要强行假冒精通你不熟悉的东西,由于精通的人可以很容易的指出你的症结。如果一个团队里面各人都不坦诚相待,那么这不是一个合格的团队,你可以尽早更换。在良好的团队中,不要指望别人会把所有的知识交给你,要学会如何高效的学习,并在团队交流与合作中不停提高。
五. 写在末了
盼望这篇文章在可以帮助你解开一些对于毛病挖掘的谜团。在学习和研究毛病挖掘的过程中碰到困难并感到不知所措是很正常的。不过学习的过程就是如许,只有不停的去尝试才会进步。祝你在毛病挖掘的路上走的越来越远。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]