def cybox_object_http(obj): http_session = HTTPSession() hh = HTTPRequestResponse() hc = HTTPClientRequest() if obj.client_request.message_body: hm = HTTPMessage() hm.lenght = len(obj.client_request.message_body) hm.message_body = String(obj.client_request.message_body) hc.http_message_body = hm rh = HTTPRequestHeader() if obj.client_request.raw_header: rh.raw_header = String(obj.client_request.raw_header) hhf = HTTPRequestHeaderFields() hhf.user_agent = String(obj.client_request.user_agent) host_field = HostField() host_field.domain_name = URI(value=obj.client_request.domain_name) port = Port() port.port_value = PositiveInteger(obj.client_request.port.port) host_field.port = port hhf.host = host_field rh.parsed_header = hhf hc.http_request_header = rh hl = HTTPRequestLine() hl.http_method = String(obj.client_request.request_method) hl.version = String(obj.client_request.request_version) hl.value = String(obj.client_request.request_uri) hc.http_request_line = hl hh.http_client_request = hc http_session.http_request_response = [hh] return http_session
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
def builder_to_stix_object(self, object_data): fields = HTTPRequestHeaderFields() fields.user_agent = object_data.get('user_agent') header = HTTPRequestHeader() header.parsed_header = fields req = HTTPClientRequest() req.http_request_header = header req_res = HTTPRequestResponse() req_res.http_client_request = req session = HTTPSession() session.http_request_response = [req_res] return session
def gen_user_agents(self, count): '''Generate list of User-Agents''' user_agents = [] for i in range(0, count): http_session = HTTPSession() http_request_response = HTTPRequestResponse() http_request = HTTPClientRequest() http_request_header = HTTPRequestHeader() parsed_header = HTTPRequestHeaderFields() parsed_header.user_agent = self.fake.user_agent() http_request_header.parsed_header = parsed_header http_request.http_request_header = http_request_header http_request_response.http_client_request = http_request http_session.http_request_response = http_request_response user_agents.append(http_session) return user_agents