Exemple #1
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()
Exemple #2
0
def delete(request):
    firmware_id = req_get_param(request, "firmware_id")
    if not firmware_db.custom_firmware_id(firmware_id):
        #SysLog.fail('删除漏洞', '删除漏洞(ID={})失败,只有定制的漏洞信息才能进行删除操作。'.format(firmware_id))
        return firmware_db.err_not_custom()

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

    # 本版本不检查成功与否
    #SysLog.success('删除漏洞', '成功删除漏洞信息,漏洞ID={}'.format(firmware_id))
    return app_ok()
Exemple #3
0
def update(request):
    firmware_id = req_post_param(request, "firmware_id")
    title = req_post_param(request, "title")
    author = req_post_param(request, "author")
    type = req_post_param(request, "type")
    platform = req_post_param(request, "platform")

    # 只有定制的漏洞信息才能进行更新操作
    if not firmware_db.custom_firmware_id(firmware_id):
        #SysLog.fail('更新漏洞', '更新漏洞(ID={})失败,只有定制的漏洞信息才能进行更新操作。'.format(firmware_id))
        return firmware_db.err_not_custom()

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

    # 获取各字段的索引号,如果是新值,则添加一条新索引,并返回新的id号
    author_id = firmware_db.fetch_field_id('author', author)
    type_id = firmware_db.fetch_field_id('type', type)
    platform_id = firmware_db.fetch_field_id('platform', platform)

    # 组装漏洞信息,并更新
    item = {
        'description': [firmware_id, title],
        'author': {
            'id': author_id,
            'name': author
        },
        'type': {
            'id': type_id,
            'name': type
        },
        'platform': {
            'id': platform_id,
            'platform': platform
        }
    }
    result = firmware_db.update(firmware_id, item)
    # 本版本不检查成功与否
    #SysLog.success('更新漏洞', '成功更新漏洞信息,漏洞ID={}'.format(firmware_id))
    return app_ok()
Exemple #4
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()