POC编写基础————2、POC编写技能需求

前言

本小节主要为大家简单的介绍一些在编写POC时需要的基本技能。

网络通信原理

因为我们的POC是针对网络当中的一些应用程序当中是否存在漏洞进行验证的,那么我们就有必要深入了解基本的网络通信原理,例如:数据的请求与应答过程。同时我们也有必要了解一些基本的网络术语,例如:IP地址、域名(二级域名、三级域名等)、端口、TCP原理、HTTP协议、socket编程通信等等的内容,这一点不仅在您复现漏洞的时候有用,而且在你编写POC的时候也是非常有用的。

漏洞原理

因为我们编写的POC是主要用于验证漏洞是否存在的,而我们编写POC的思路也是来源于漏洞原理,那么我们就有必要深入理解漏洞的原理,这对我们之后编写POC来说是“如虎添翼”。

  • SQL注入
  • XSS
  • CSRF
  • SSRF
  • 文件上传
  • 文件下载
  • XXE
  • 文件包含
  • 命令执行
  • DOS
  • 越权访问
  • 弱口令

如果读者对于这些漏洞有不知或者有疑惑,可以自行查看本博主的文章!这里不再复述。

编码基础

虽然说我们的POC是一段代码,但是也涉及到基本的一些编程,那么我们需要掌握怎么样的编码能力呢?为了应对多方面的情况,以及结合具体的情况编写POC,我们需要具备以下基本的几项能力:

  • HTML
    这里不单是看 HTML 语言,而且要网页从服务器端传回来的响应状态码、网页的元素之类的。
  • Javascript
    想学 XSS, CSRF不会这个可不行。
  • Python
    我们后面写 PoC 会用到,所以这个要必会。这里只需要你会一点点 Python 的语法和一些常用的功能库就够了。
  • SQL
    你要是连 SQL 都不知道是什么,还在这给别人讲 SQL 注入,我就呵呵哒了。
  • 正则表达式
    自动化过程中经常需要自动匹配,不需要精通,但是要多多少少会一些。怎么测试你会了呢?我给你任意一个 wooyun 的漏洞页面,然后你能用脚本把里面的漏洞标题,作者,漏洞提交时间等等信息能够轻松用正则表达式提取出来,呐,这样就 OK 了。

Python库

下面简单的罗列一些在编写POC时,你可能会遇到的Python库,建议读者了解一些基本的库的使用,为后期的POC编写做准备。

用于发送HTTP请求的python库:

  • urllib
  • urllib2
  • requests
  • httplib

用于解析处理URL的库:

  • urlparse

正则匹配:

  • re

生成随机数

  • random

MD5算法

  • hashlib

base64

  • base64

socket网络通信

  • socket

IDE使用

因为本系列内容使用的是python来编写的,所以这里给大家推荐一款python开发工具————Pycharm。当然你也可以选择使用其他的编辑器,例如sublime,notepad++等。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FLy_鹏程万里

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

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

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

打赏作者

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

抵扣说明:

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

余额充值