poc脚本的编写步骤+步骤注释

poc脚本的编写步骤

1.首先新建一个.py文件,文件名应当符合命名格式

2.编写poc实现类DemoPOC,继承自POCBase类

from pocsuit3.api import Output, POCBase, register_poc, requests, logger # Output输出格式模块;	 POCBase基类, register_poc poc执行模块的类;	logger输出错误信息模块
from pocsuit3.api import Output, get_listener_ip, get_listener_port
from pocsuit3.api import REVERSE_PAYLOAD # REVERSE_PAYLOAD 反弹shell模块;
from pocsuit3.lib.utils import random_str


class DemoPOC(POCBase):

3.填写poc信息字段,需要认真填写所有字段的基本信息,规范信息以便于查找

class DemoPOC(POCBase):  # 实现类DemoPoc,继承自POCBase
    vulID = '1.1'  # ssvid ID ,如果是提交漏洞的同时提交POC,则写成0
    version = '1'  # 默认为1
    author = ['1']  # POC作者的名字
    vulDate = '2021-2-2'  # 漏洞公开的时间,不明确时可以写当天
    createDate = '2020/10/10'  # 编写POC日期
    updateDate = '1.1'  # poc更新日期,默认和编写时间一样
    references = ['vulhub']  # 漏洞地址来源,0day不用写
    name = 'flask-poc'  # poc名称
    appPowerLink = 'flask'  # 漏洞厂商的主页地址
    appName = 'flask'  # 漏洞应用名称
    appVersion = 'flask'  # 漏洞影响版本
    vulType = VUL_TYPE.CODE_EXECUTION  # 漏洞类型
    # vultype定义了poc的种类,VUL_TYPE属于enums.py种的一个类;CODE_EXECUTION = 'Code Execution' #代码执行,此处调用了类的属性
    desc = '''		#此处是对poc的描述,展开数组时key带入SQL语句形成SQL注入,可以添加管理员,伪装成信息泄露
        flask
    '''
    samples = ['96.234.71.117:80']  # 利用poc举例的一个地址,漏洞的简要描述
    install_requires = []  # 测试样列,使用poc测试成功的网站。

4.编写验证模式,在_verify方法中写入POC雁阵脚本

def _verify(self):
    output = Output(self)  # 验证代码
    if result:  # result表示返回结果
        output.success(result)
    else:
        output.fail('target is not vulnerable')
    return output

5.编写攻击模式。用_attack()函数中,写入EXP脚本,在攻击模式下可以对目标进行getshell,查询管理员账户密码等操作,定义它的方法与检测模式类似;

def_attack(self):
output = Output(self)
result = {}
#攻击代码
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值