Ejemplo n.º 1
0
 def check_rule(self, ip, port, values, conf):
   c = ConfParser(conf)
   p = ScanParser(port, values)
   t = Triage()
   
   domain = p.get_domain()
   module = p.get_module()
   
   if 'http' not in module:
     return
  
   resp = t.http_request(ip, port)
   
   for app, val in self.rule_match_string.items():
     app_name = val['app']
     app_title = val['title']
           
     for match in val['match']:  
       if resp and t.string_in_headers(resp, match):
         self.rule_details = '{} - ({})'.format(app, app_title)
         js_data = {
             'ip':ip,
             'port':port,
             'domain':domain,
             'rule_id':self.rule,
             'rule_sev':self.rule_severity,
             'rule_desc':self.rule_description,
             'rule_details':self.rule_details,
             'rule_mitigation':self.rule_mitigation
           }
         rds.store_vuln(js_data)
   return 
Ejemplo n.º 2
0
    def check_rule(self, ip, port, values, conf):
        p = ScanParser(port, values)
        t = Triage()

        domain = p.get_domain()
        module = p.get_module()

        if 'http' not in module:
            return

        resp = t.http_request(ip, port)

        for _, val in self.rule_match_string.items():
            app_title = val['title']

            for match in val['match']:
                if resp and t.string_in_headers(resp, match):
                    self.rule_details = 'Exposed {} at {}'.format(
                        app_title, resp.url)
                    rds.store_vuln({
                        'ip': ip,
                        'port': port,
                        'domain': domain,
                        'rule_id': self.rule,
                        'rule_sev': self.rule_severity,
                        'rule_desc': self.rule_description,
                        'rule_details': self.rule_details,
                        'rule_mitigation': self.rule_mitigation
                    })
                    break
        return
Ejemplo n.º 3
0
 def check_rule(self, ip, port, values, conf):
   t = Triage()
   p = ScanParser(port, values)
   
   domain  = p.get_domain()
   module  = p.get_module()
   
   if 'http' not in module:
     return
   
   resp = t.http_request(ip, port)
   
   if resp is None:
     return
   
   powered_by_headers = ['X-Powered-By', 'X-AspNet-Version']
   for poweredby_header in powered_by_headers:
     result = t.string_in_headers(resp, poweredby_header)
     if result:
       self.rule_details = 'Server is set with "{}" Headers'.format(poweredby_header)
       rds.store_vuln({
               'ip':ip,
               'port':port,
               'domain':domain,
               'rule_id':self.rule,
               'rule_sev':self.rule_severity,
               'rule_desc':self.rule_description,
               'rule_confirm':self.rule_confirm,
               'rule_details':self.rule_details,
               'rule_mitigation':self.rule_mitigation
             })
 
   return
Ejemplo n.º 4
0
    def check_rule(self, ip, port, values, conf):
        c = ConfParser(conf)
        t = Triage()
        p = ScanParser(port, values)

        domain = p.get_domain()
        module = p.get_module()
        product = p.get_product()

        if 'http' not in module:
            return

        resp = t.http_request(ip, port)

        if resp is None:
            return

        powered_by_headers = ['X-Powered-By', 'X-AspNet-Version']
        for poweredby_header in powered_by_headers:
            result = t.string_in_headers(resp, poweredby_header)
            if result:
                self.rule_details = '{}:{}'.format(
                    poweredby_header, resp.headers.get(poweredby_header, None))
                js_data = {
                    'ip': ip,
                    'port': port,
                    'domain': domain,
                    'rule_id': self.rule,
                    'rule_sev': self.rule_severity,
                    'rule_desc': self.rule_description,
                    'rule_confirm': self.rule_confirm,
                    'rule_details': self.rule_details,
                    'rule_mitigation': self.rule_mitigation
                }
                rds.store_vuln(js_data)

        return