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()
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()
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()
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()