POC编写基础————1、基础知识

前言

本系列内容主要讲解POC的编写,而笔者也是一个小小白,刚刚学习POC的编写不久,打算记录一些心得,有兴趣的可以一起讨论,一起交流,同时可以一起分享各自收藏或者编写的POC进行学习!

什么是POC

PoC(全称: Proof of Concept), 中文可译作“观点验证程序”,它主要用于证明提出者的观点是否正确,在信息安全领域这种观点一般是我们对于漏洞的判断,即目标系统是否存在漏洞。

什么是EXP

Exp(全称: Exploit,漏洞利用程序),从字面上可以了解到EXP的功能是对已知或已发现的漏洞进行利用,例如:获取目标系统的权限等等。

什么是payload

payload在信息安全领域意为“攻击载荷”,攻击载荷是我们期望目标系统在被渗透攻击之后去执行的代码。例如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷,而bind shell攻击载荷则在目标主机上将命令行shell 绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。攻击载荷也可能是简单的目标操作系统上执行一些命令,如添加账户等等。

误区:很多人认为"POC就是EXP",这里明确指出POC与EXP绝对不是一个概念,如果是一个概念的话就没有必要区分EXP与POC了,POC是用于验证一个观点是否成立的,这个观点一般是指“漏洞是否存在”,而EXP是用于对存在的漏洞进行利用的。

编程语言选择

POC开发的语言其实没有限制,只是很多POC开发者更多偏向于使用“python”来开发POC,主要的原因在于python语言的灵活、以及强大的第三方库给了安全人员更多的方便,所以你所看到的POC中Python居多,而本系列也是基于python的POC开发哦!

漏洞靶场

不知道您是不是也经常听到靶场、靶机之类的词呢?这些词恰巧是伴随着“漏洞”而出现的,所谓的漏洞靶场(Vulnerability Firing Range)其实就是运行着有漏洞的应用程序(web/中间件/系统组件等等)的机器。而漏洞环境我们也可以使用虚拟机来自己搭建,也可以在阿里云或者腾讯云租服务器,之后搭建靶机环境,还有一种方法就是使用docker进行搭建,对于docker的环境可以自我去GitHub上找,非常多的。

同时我们在学习POC的编写的时候建议读者自己去搭建环境,之后运行自己的POC来验证漏洞,不要直接在网上找目标来进行测试,这是违法的行为,违法的行为,违法的行为哦!请读者自我注意!

POC编写的流程

对于一个已经公开的漏洞,POC的编写流程大致是这样的:

1、查看漏洞详情,了解漏洞影响的版本程序

如果我们的目标是一个CMS,可以去他的官网下载历史版本程序,有些漏洞的作者可能不会提具体版本号,那么你就需要自我去更具各个版本的更新内容以及作者对漏洞的提交的时间来综合评估。除了去官网之外,我们还可以去GitHub上找寻原源代码,或者在GitHub上找相关的docker环境(docker一般是出来有一段时间的,近期的很少)。

2、搭建漏洞靶场

在了解了漏洞的详情、漏洞对应的应用程序的版本之后,我们需要自我在本地搭建漏洞靶场,可以使用虚拟机在本地搭建,也可以使用腾讯云或阿里云来搭建,根据自己的喜好来搭建,当然如果你愿意去创建docker环境那么就更加好了!

3、复现漏洞

环境搭建好之后,你可以跟着漏洞详情把整个流程走一遍,复现一下整个过程,看看是否整的存在,在这个过程中你应当注意一些参数、函数、提交方法、回显的数据包等,深入理解漏洞的原理、漏洞的利用过程、系统的脆弱点。

在熟悉漏洞的详情以及原理之后,我们编写POC就变得较为简单了。

4、编写POC

复现完漏洞之后,你可以通过漏洞的证明步骤,结合自己的实际测试情况来一步一步的写代码。这个过程就和你做一套步骤天空题一样,例如:早上起床后先xxx,后xxx,最后xxx,之后xxx.....,一套流程走完你的POC基本上也就完成了。

5、测试POC

在编写好POC之后,我们就需要验证POC的有效性,看看它是否能够准确验证应用程序是否存在漏洞,这个过程也是你调试自

POC&POC框架

所谓的PoC 框架就是一个批量管理、调度 PoC 的程序。因为是框架,要批量调度,那就要求 PoC 在编写的时候要遵守一些规范,这些规范常见的有:

1、入口规范

考虑到批量使用 PoC 的调度情况,统一入口框架调用该 PoC 的时候会非常之方便。这个就需要根据具体的框架的调度要求来看了,都有文档的,看一下就会了。

2、API 规范

API 是该框架对一些基础类库的封装,比如说框架提供了一些网络请求工具。这些封装有什么好处呢?我还是举例子来说明,比如某次扫描,调用了 1000 个 PoC 去扫描目标主机了,假设这个扫描任务中有一部分是需要登录的,而有一些的作者在编写的时候忘记在 PoC 中接收用户自定义的 Cookie 了,那么此时就会因为接收不到 Cookie 而导致请求不成功。那么在使用了框架的情况下,即使在忘记了添加这些字段的情况下,框架也会自动将 Cookie 添加进请求中,为 PoC 开发者提供了极大的便利。

国内POC框架介绍

1、sebug-Pocsuite:http://pocsuite.org/

Pocsuite 是 Sebug 平台上通用的远程漏洞验证框架,使用 Python 编写 PoC。写 PoC 可以直接兑换实物与现金奖励,兑换比例 1KB = ¥5。

POC开发文档说明:https://github.com/knownsec/Pocsuite

2、BugScan:http://www.bugscan.net/

Bugscan是西安四叶草信息技术有限公司旗下 BugScan 社区出品的国内首款基于社区的分布式漏洞扫描框架。Python实现引擎, 无任何依赖的第三方库,高效插件可用户自定义,用户独立使用框架,标准插件接口联动匹配框架,可以对内网的B/S架构实行精准的扫描......

插件开发文档:http://doc.bugscan.net/

3、TangScan:https://github.com/WooYun/TangScan

Tangscan(唐朝扫描器)是一个由社区众多安全研究人员维护的企业在线安全平台,

 

  • 20
    点赞
  • 155
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
POC编写指南PDF是一份关于编写POC(Proof of Concept)的指南的电子书,通过PDF格式的形式提供给读者。POC是指概念验证,用于验证一个想法、概念或原理的可行性。编写POC时,可以使用各种技术、工具和方法来展示一个想法的可行性。 这份指南涵盖了编写POC的基本步骤和要点。首先,它介绍了POC的定义和目的,明确了编写POC的目标和意义。然后,指南详细介绍了如何选择一个合适的主题或想法,并构思POC的关键要素。在编写POC的过程中,指南提供了实用的建议和技巧,例如如何收集并分析数据、如何选择和使用适当的工具和技术,以及如何评估和展示POC的成果。 此外,指南还着重强调了编写POC的规范与标准。它指导读者编写结构清晰、逻辑严密的POC报告,并提醒读者注意文档的格式、排版和语言的规范性。这些规范和标准保证了POC的可读性和可理解性,使读者更容易理解POC的目的、方法和结果。 最后,指南还提供了一些实际的例子和案例分析,帮助读者更好地理解和应用指南中的内容。这些例子展示了不同领域和行业应用的POC,启发读者思考如何根据自己的需求和场景编写POC。 总之,POC编写指南PDF提供了一个系统和全面的指导,帮助读者学习和掌握编写POC的方法和技巧。无论是对于初学者还是有经验的人士,这份指南都是一个有价值的资源,可以提升他们编写POC的能力和水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值