class BugResult(BaseModel): '''漏洞扫描结果''' projectid = orm.ForeignKeyField(Project, related_name='BugResult_projectid') #项目id taskid = orm.ForeignKeyField(ScanTask, related_name='BugResult_taskid', null=True) #任务id hostid = orm.ForeignKeyField(HostResult, related_name='BugResult_hostid', null=True) #漏洞所属资产 userid = orm.ForeignKeyField(User, related_name='BugResult_userid', null=True) #漏洞提交人 vulid = orm.ForeignKeyField(Vulnerable, related_name='BugResult_vulid') #基础漏洞id bug_id = orm.CharField(unique=True, max_length=32, default=generateid) request = orm.TextField(null=True, default='') #原始请求包漏洞详情 response = orm.TextField(null=True, default='') #原始返回包 bug_addr = orm.CharField(null=True, default='') #漏洞地址 bug_state = orm.CharField( default='漏洞提交') #漏洞状态:漏洞提交、漏洞审核,漏洞修复,漏洞复查、已修复[已忽略] bug_tag = orm.CharField(null=True, default='') #漏洞标签 bug_note = orm.CharField(null=True, default='') #备注 createdate = orm.DateTimeField(default=datetime.datetime.now) #发现日期 plandate = orm.DateTimeField(default=datetime.datetime.now) #计划修复日期 updatedate = orm.DateTimeField(default=datetime.datetime.now) #复查日期
class HttpResult(BaseModel): '''WEB扫描结果表''' hostid = orm.ForeignKeyField(HostResult, related_name = 'HttpResult_hostid',null = True,) host = orm.CharField() port = orm.IntegerField(null = True, default = 80) domain = orm.CharField(null = True, default = '') state = orm.IntegerField(null = True, default = 0) banner = orm.CharField(null = True, default = '') xpoweredby = orm.CharField(null = True, default = '' ) title = orm.CharField(null = True, default = '') headers = orm.TextField(null = True, default = '{}' ) content = orm.TextField(null = True, default = '' ) updatedate = orm.DateTimeField(default = datetime.datetime.now)
class ScanHostPortTemp(BaseModel): '''扫描任务结果临时表''' taskid = orm.ForeignKeyField( ScanTask, related_name='HostResult_taskid', null=True, ) host_id = orm.CharField(unique=True, max_length=32, default=generateid) host = orm.CharField() #主机ip地址 port = orm.CharField() #主机端口 host_name = orm.CharField(null=True, default='') #主机名 os_type = orm.CharField(null=True, default='') #系统类型 os_version = orm.CharField(null=True, default='') #系统版本 mac_addr = orm.CharField(null=True, default='') #mac地址 phy_addr = orm.CharField(null=True, default='') #物理地址 port_type = orm.CharField(null=True, default='') #端口类型 tcp/udp port_state = orm.CharField(null=True, default='') #端口状态 open/close/filter service_name = orm.CharField(null=True, default='') #服务名称 http/mssql/ssh 。。 soft_name = orm.CharField(null=True, default='') #中间件名称 soft_type = orm.CharField(null=True, default='') #中间件类型 soft_ver = orm.CharField(null=True, default='') #中间件版本 response = orm.TextField(null=True, default='') #原始返回包 status = orm.CharField(default='insert') #端口状态 updatedate = orm.DateTimeField(default=datetime.datetime.now)
class PortResult(BaseModel): '''端口扫描结果''' hostid = orm.ForeignKeyField(HostResult, related_name = 'PortResult_hostid',null = True,) host = orm.CharField() #主机ip port = orm.CharField() #主机端口 port_type = orm.CharField(null = True, default = '') #端口类型 tcp/udp port_state = orm.CharField(null = True, default = '') #端口状态 open/close/filter service_name= orm.CharField(null = True, default = '') #服务名称 http/mssql/ssh 。。 soft_name = orm.CharField(null = True, default = '') #中间件名称 soft_type = orm.CharField(null = True, default = '') #中间件类型 soft_ver = orm.CharField(null = True, default = '') #中间件版本 response = orm.TextField(null = True, default = '') #原始返回包 isconfirm = orm.BooleanField(default = False) #人工审核 updatedate = orm.DateTimeField(default = datetime.datetime.now)