Beispiel #1
0
    def __create_cybox_http_header(self, raw, port, whitelist):
        if not raw:
            return None
        request = HTTPRequestParser(raw)
        raw_header = str(request.headers)
        client_header = HTTPRequestHeaderFields()
        if 'accept' in request.headers:
            client_header.accept = String(request.headers['accept'])
        if 'content-length' in request.headers:
            client_header.content_length = int(request.headers['content-length'])
        if 'cache-control' in request.headers:
            client_header.cache_control = String(request.headers['cache-control'])
        if 'user-agent' in request.headers:
            client_header.user_agent = String(request.headers['user-agent'])
        if 'host' in request.headers:
            client_header.host = self.__create_cybox_host_object(request.headers['host'], port, whitelist)
            if not client_header.host:
                return None
        if 'pragma' in request.headers:
            client_header.pragma = String(request.headers['pragma'])
        if 'connection' in request.headers:
            client_header.connection = String(request.headers['connection'])

        http_req_head = HTTPRequestHeader()
        http_req_head.raw_header = String(raw_header)
        http_req_head.parsed_header = client_header
        return http_req_head