【总结】网安术语EXP、POC、Shellcode、Payload简单说明

2024-04-09 20:44

本文主要是介绍【总结】网安术语EXP、POC、Shellcode、Payload简单说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【总结】网安术语EXP、POC、Shellcode、Payload简单说明

  • 备注
  • 一、定义
  • 二、关系

备注

2024/04/09 星期二
最近发现很多人都分不清这几个概念,网上搜出来的说明也非常复杂不是简简单单就能看懂的于是用我理解的最简单的方式解释一下这几个概念

一、定义

在网安中我们关注一般都是安全漏洞(Vulnerability),于是和漏洞相关的就有这么几个概念:
EXP(Exploit):漏洞利用,一般是完整的漏洞利用代码或程序
POC(Proof of Concept):漏洞概念验证,一般用于证明漏洞存在,不具有攻击性
Shellcode:获取shell的代码,获取shell是大部分攻击的最终目的
Payload:攻击载荷,一系列具有完整框架性的攻击代码

二、关系

有了以上简明扼要的定义之后,我们就可以关注这几个概念之间的关系了,但是为了理解简单,我们需要先把漏洞分为两种:能拿到shell的漏洞如:命令注入、缓冲区溢出等,和不能拿到shell的漏洞如:信息泄露、拒绝服务等
对于不能拿到shell的漏洞,也就不存在shellcode的概念,exp、poc、payload的行为也非常相似,例如一个信息泄露漏洞,poc可能是证明可以泄露一条信息,payload是编写出来用于获取信息的框架代码,exp是完整的获取泄露的全部有效信息的程序
而对于绝大多数情况安全人员更加关注的是能拿到shell的漏洞,也是这几个术语的常规语境。例如一个栈溢出漏洞,poc是让被攻击程序执行了一段代码证明漏洞存在,shellcode是你基于poc编写的当被攻击程序执行时会启动shell的代码,payload是当shell启动后会继续按照预设的攻击框架进行正向或反向的远程连接到攻击者的服务器并且隐匿进程、隐藏流量或有更强攻击性的代码,而exp是一个按照上述流程编写的完整的攻击程序,任何人运行后都可以直接攻击某个具有该漏洞的主机。
因此这四个概念可以简单理解为如下包含关系:关系图

这篇关于【总结】网安术语EXP、POC、Shellcode、Payload简单说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889164

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

MySQL之复合查询使用及说明

《MySQL之复合查询使用及说明》文章讲解了SQL复合查询中emp、dept、salgrade三张表的使用,涵盖多表连接、自连接、子查询(单行/多行/多列)及合并查询(UNION/UNIONALL)等... 目录复合查询基本查询回顾多表查询笛卡尔积自连接子查询单行子查询多行子查询多列子查询在from子句中使

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工