PoC,全称“Proof of Concept”,中文“概念验证”,常指一段漏洞证明的代码。
Exp,全称“Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作。
Payload,中文“有效载荷”,指成功 exploit 之后,真正在目标系统执行的代码或指令。
Shellcode,简单翻译“shell 代码”,是 Payload 的一种,由于其建立正向/反向 shell 而得名。
几点注意:
PoC 是用来证明漏洞存在的,Exp 是用来利用漏洞的,两者通常不是一类,或者说,PoC 通常是无害的,Exp 通常是有害的,有了 PoC,才有 Exp。
Payload 有很多种,它可以是 Shellcode,也可以直接是一段系统命令。同一个 Payload 可以用于多个漏洞,但每个漏洞都有其自己的 Exp,也就是说不存在通用的 Exp。
Shellcode 也有很多种,包括正向的,反向的,甚至 meterpreter。