Ejemplo n.º 1
0
def fetch(request):
    firmware_id = req_get_param(request, 'firmware_id')
    if StrUtils.is_blank(firmware_id):
        return sys_app_err('ERROR_INVALID_PARAMETER')
    doc = firmware_db.fetch(firmware_id)
    if doc is None:
        #SysLog.fail('提取漏洞', '没有提取到漏洞信息(ID={})'.format(firmware_id))
        return sys_app_err('ERROR_FWID_NOT_FOUND')
    #SysLog.success('提取漏洞', '成功提取漏洞信息(ID={})'.format(firmware_id))
    return app_ok_p(doc)
Ejemplo n.º 2
0
def poc_delete(request):
    firmware_id = req_get_param(request, 'firmware_id')
    if StrUtils.is_blank(firmware_id):
        return app_err(Error.INVALID_REQ_PARAM)

    # 删除POC
    if not firmware_pocs.delete(firmware_id):
        #SysLog.fail('删除POC', '删除POC失败(漏洞ID={})'.format(firmware_id))
        return app_err(Error.EDB_POC_NOT_FOUND)

    #SysLog.success('删除POC', '成功删除漏洞的POC(漏洞ID={})'.format(firmware_id))
    return app_ok()
Ejemplo n.º 3
0
def poc_add(request):
    firmware_id = req_post_param(request, 'firmware_id')
    alias = req_post_param(request, 'alias')
    content = req_post_param(request, 'content')
    # 这三个参数都是POC的基本参数,不能为空
    if StrUtils.is_blank(firmware_id) or StrUtils.is_blank(alias) or StrUtils.is_blank(content):
        return app_err(Error.INVALID_REQ_PARAM)

    # 只有定制漏洞才能添加POC
    if not firmware_db.custom_firmware_id(firmware_id):
        #SysLog.fail('添加POC', '添加POC失败(漏洞ID={})'.format(firmware_id))
        return firmware_db.err_not_custom()

    # firmware_id不存在,表示没有可以添加POC的漏洞信息条目
    if not firmware_db.exist_firmware_id(firmware_id):
        #SysLog.fail('添加POC', '添加POC失败(漏洞ID={})'.format(firmware_id))
        return app_err(Error.firmware_id_NOT_FOUND)

    firmware_pocs.add(firmware_id, alias, content)
    #SysLog.success('添加POC', '成功添加漏洞的POC(漏洞ID={})'.format(firmware_id))
    return app_ok()