Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
class ScanTask(BaseModel):
    '''扫描任务表'''
    projectid = orm.ForeignKeyField(
        Project,
        related_name='ScanTask_projectid',
    )
    tasktype = orm.ForeignKeyField(TaskType,
                                   related_name='ScanTask_tasktype',
                                   null=True)  #任务名称-对应tasktype中的名称
    tasknode = orm.ForeignKeyField(ClientNode,
                                   related_name='ScanTask_nodeid',
                                   null=True)  #任务节点-对应tasknode中的名称
    task_id = orm.CharField(unique=True, max_length=32, default=generateid)
    task_host = orm.CharField()  #任务主机
    task_args = orm.CharField(null=True, default='')  #任务参数
    task_note = orm.CharField(null=True, default='')  #备注
    task_code = orm.CharField(
        default='waiting'
    )  #任务状态 waiting-等待运行,working-运行中,finish-已完成,pause-进程挂起,,-
    task_pid = orm.CharField(
        null=True,
        default='',
    )  #任务对应的id
    task_level = orm.IntegerField(
        null=True,
        default=3,
    )  #任务等级 0、1、2、3
    createdate = orm.DateTimeField(default=datetime.datetime.now)  #创建时间
    finishdate = orm.DateTimeField(default=datetime.datetime.now)  #1-表示删除该任务
Ejemplo n.º 3
0
class DictResult(BaseModel):
    '''项目字典'''
    projectid   = orm.ForeignKeyField(Project, related_name = 'DictResult_projectid')
    dict_key    = orm.CharField(default = '')
    dict_value  = orm.CharField(default = '')
    dict_style  = orm.CharField(default = 'ALL')
    dict_count  = orm.IntegerField(default = 1)     #引用计数
Ejemplo n.º 4
0
class User(BaseModel):
    '''用户表'''
    uid = orm.CharField(unique=True, max_length=32, default=generateid)
    username = orm.CharField(unique=True, max_length=32)  #用户名
    password = orm.CharField(  #用户密码
        max_length=32, default="103006226e74df7e96e59bc24eb973e7")
    group = orm.IntegerField(default=1)  #3-系统管理员,2-管理员,1-普通用户
    company = orm.CharField(null=True, default='')  #所在公司
    department = orm.ForeignKeyField(Department,
                                     related_name='User_Departmentid')  #部门
    realname = orm.CharField(null=True, max_length=32)  #真实姓名
    phone = orm.CharField(null=True, max_length=11)  #电话
    email = orm.CharField(null=True, default='*****@*****.**')  #邮箱
    createdate = orm.DateTimeField(default=datetime.datetime.now)  #创建时间
    lastlogin = orm.DateTimeField(default=datetime.datetime.now)  #最后登录时间
    projectid = orm.CharField(null=True, default='')  #上次选择的项目

    def _check_password(self, raw, salt='\t\o\p\s\e\c'):
        return hashlib.md5(raw.encode() +
                           salt.encode()).hexdigest() == self.password

    @staticmethod
    def _create_password(raw, salt='\t\o\p\s\e\c'):
        return hashlib.md5(
            hashlib.sha256(raw.encode()).hexdigest().encode() +
            salt.encode()).hexdigest()
Ejemplo n.º 5
0
class BugFlow(BaseModel):
    '''漏洞跟踪表'''
    fid         = orm.PrimaryKeyField()                                        #跟踪自身id
    flowid      = orm.ForeignKeyField(BugResult, related_name='flowvulresult') #跟踪识别id
    flowname    = orm.ForeignKeyField(User, related_name='flowcontact')        #审批人员
    backstep    = orm.IntegerField(default = 0)                                #前一步流程ID
    nextstep    = orm.CharField(null = True, default = '')                     #后一步流程ID
    flowstate   = orm.BooleanField(default = True)                             #是否通过
    flownote    = orm.CharField(null = True)                                   #处理意见
    createdate  = orm.DateTimeField(default = datetime.datetime.now)