Ejemplo n.º 1
0
    def save_domain(self, data):
        '''保存domain资产的相关结果
        '''
        domain_app = Domain()
        doamin_attr_app = DomainAttr()
        result = {'domain': len(data)}
        for domain in data:
            if 'domain' not in domain:
                continue
            if self.org_id:
                domain['org_id'] = self.org_id
            # 保存到domain
            domain_id = domain_app.save_and_update(domain)
            if domain_id > 0:
                # 保存domain的属性
                for attr_key in ('CNAME', 'A', 'title'):
                    if attr_key in domain:
                        for attr_value in domain[attr_key]:
                            domain_attr = {
                                'r_id': domain_id,
                                'source': self.source,
                                'tag': attr_key,
                                'content': attr_value
                            }
                            doamin_attr_app.save_and_update(domain_attr)

        return result
Ejemplo n.º 2
0
    def save_domain(self, data):
        '''保存domain资产的相关结果
        '''
        domain_app = Domain()
        doamin_attr_app = DomainAttr()
        result = {'domain': len(data)}
        for domain in data:
            if 'domain' not in domain:
                continue
            if self.org_id:
                domain['org_id'] = self.org_id
            # 保存到domain
            domain_id = domain_app.save_and_update(domain)
            if domain_id > 0:
                # 保存domain的属性
                for attr_key in ('CNAME', 'A', 'title', 'whatweb', 'server', 'httpx'):
                    if attr_key in domain:
                        for attr_value in domain[attr_key]:
                            domain_attr = {'r_id': domain_id, 'source': self.source,
                                           'tag': attr_key, 'content': attr_value[0:800]}
                            try:
                                doamin_attr_app.save_and_update(domain_attr)
                            except Exception as e:
                                logger.error(traceback.format_exc())
                                logger.error('save domain attr:{}-{}-{}'.format(domain['domain'], domain_attr['tag'],
                                                                                domain_attr['content']))

        return result