Ejemplo n.º 1
0
 def do_detail(cls, request):
     task_id = request.GET.get('task_id')
     rule_id = request.GET.get('id','#')
     records = []
     template = '\t<span class="badge">%s</span>'
     if rule_id == '#':
         domain = get_domain(task_id)
         domain = "%s%s" %(domain,template % Result.objects.filter(task_id=task_id).count())
         root = {'text':domain, 'id':'/', 'icon':'domain','state':{'opened':True,'disabled':False}}         
         rule_ids = Result.objects.filter(task_id=task_id).order_by('-risk').values('rule_id').distinct()
         childrens = []
         for rd in rule_ids:
             r = Rule.objects.get(rule_id=rd['rule_id'])
             name = "%s%s" % (r.rule_name, template % Result.objects.filter(task_id=task_id, rule_id=rd['rule_id']).count())
             childrens.append({'text':name, 'id':rd['rule_id'], 'icon':r.risk,'children':True})
         root['children'] = childrens
         records.append(root)
     else:
         results = Result.objects.filter(task_id=task_id,rule_id=rule_id)
         for r in results:
             rid = "%s^%s" %(r.id, rule_id)
             url = r.url
             index = url.find('?')
             if index != -1:
                 url = url[:index]
             records.append({'text':url, 'id':rid, 'icon':'url','children':False})
         
     response = HttpResponse(json.dumps(records))
     response['Content-Type'] ='application/json; charset=utf8'
     return response
Ejemplo n.º 2
0
    def do_node(cls, request):
        task_id = request.GET.get('task_id')
        node = request.GET.get('id', '#')
        if node == '#':  #root
            records = []
            node = '/'
            # task = Task.objects.get(id=task_id)
            # _ = urlparse.urlsplit(task.start_url)
            # domain = "%s://%s%s" % ( _.scheme, _.netloc, task.base)
            domain = get_domain(task_id)
            root = {
                'text': domain,
                'id': '/',
                'icon': 'folder',
                'state': {
                    'opened': True,
                    'disabled': False
                }
            }
            root['children'] = cls.get_node(task_id, node)
            records.append(root)
        else:
            records = cls.get_node(task_id, node)

        response = HttpResponse(json.dumps(records))
        response['Content-Type'] = 'application/json; charset=utf8'
        return response
Ejemplo n.º 3
0
    def do_detail(cls, request):
        task_id = request.GET.get('task_id')
        rule_id = request.GET.get('id', '#')
        records = []
        template = '\t<span class="badge">%s</span>'
        if rule_id == '#':
            domain = get_domain(task_id)
            domain = "%s%s" % (domain, template %
                               Result.objects.filter(task_id=task_id).count())
            root = {
                'text': domain,
                'id': '/',
                'icon': 'domain',
                'state': {
                    'opened': True,
                    'disabled': False
                }
            }
            rule_ids = Result.objects.filter(task_id=task_id).order_by(
                '-risk').values('rule_id').distinct()
            childrens = []
            for rd in rule_ids:
                r = Rule.objects.get(rule_id=rd['rule_id'])
                name = "%s%s" % (r.rule_name, template % Result.objects.filter(
                    task_id=task_id, rule_id=rd['rule_id']).count())
                childrens.append({
                    'text': name,
                    'id': rd['rule_id'],
                    'icon': r.risk,
                    'children': True
                })
            root['children'] = childrens
            records.append(root)
        else:
            results = Result.objects.filter(task_id=task_id, rule_id=rule_id)
            for r in results:
                rid = "%s^%s" % (r.id, rule_id)
                url = r.url
                index = url.find('?')
                if index != -1:
                    url = url[:index]
                records.append({
                    'text': url,
                    'id': rid,
                    'icon': 'url',
                    'children': False
                })

        response = HttpResponse(json.dumps(records))
        response['Content-Type'] = 'application/json; charset=utf8'
        return response
Ejemplo n.º 4
0
    def do_node(cls, request):
        task_id = request.GET.get('task_id')
        node = request.GET.get('id','#')
        if node == '#': #root
            records = []
            node = '/'
            # task = Task.objects.get(id=task_id)
            # _ = urlparse.urlsplit(task.start_url)
            # domain = "%s://%s%s" % ( _.scheme, _.netloc, task.base)
            domain = get_domain(task_id)
            root = {'text':domain, 'id':'/', 'icon':'folder','state':{'opened':True,'disabled':False}}
            root['children'] = cls.get_node(task_id, node)
            records.append(root)
        else:
            records = cls.get_node(task_id, node)

            
        response = HttpResponse(json.dumps(records))
        response['Content-Type'] ='application/json; charset=utf8'
        return response