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