コード例 #1
0
ファイル: http_headers.py プロジェクト: PiRanhaLysis/Phorcys
 def _decode_data(self, key, value):
     child = Layer(True)
     child.parent = self.layer
     child.name = key
     child.add_header({'http_header_name': key})
     child.raw_data = value
     child.lines = [value]
     self.layer.add_extracted_layer(child)
コード例 #2
0
ファイル: json.py プロジェクト: topotam/Phorcys
 def _decode_data(self, obj):
     from flatten_json import flatten
     flat = flatten(obj, ';')
     for key in flat:
         child = Layer(True)
         child.parent = self.layer
         child.raw_data = flat[key]
         child.lines = [child.raw_data]
         self.layer.add_extracted_layer(child)
コード例 #3
0
 def _decode(self, data, **metadata):
     try:
         data = http.multipart.decode({}, data)
         self.layer.lines = []
         for (k, v) in data:
             child = Layer(True)
             child.human_readable = True
             child.parent = self.layer
             child.raw_data = v
             child.name = k
             child.lines = [v]
             self.layer.lines.append('%s' % v)
             self.layer.add_extracted_layer(child)
     except Exception as e:
         raise ValueError("[Phorcys] Failed to parse input.")
コード例 #4
0
ファイル: protobuf.py プロジェクト: topotam/Phorcys
 def _decode_data(self):
     prev = []
     for ll in self.layer.lines:
         l = ll.strip()
         if '{' in l:
             name = l[:l.find('{')]
             prev.append(name.strip())
         elif ':' in l:
             name = l[:l.find(':')]
             prefix = ';'.join(prev)
             value = l[l.find(':') + 1:]
             child = Layer(True)
             child.parent = self.layer
             child.raw_data = '%s;%s=%s' % (prefix.strip(), name.strip(), value.strip())
             child.lines = [child.raw_data]
             self.layer.add_extracted_layer(child)
         elif '}' in l:
             prev.pop()
コード例 #5
0
ファイル: urlencoded.py プロジェクト: topotam/Phorcys
 def _decode(self, data, **metadata):
     try:
         if type(data) is not str:
             data = data.decode("ascii", "strict")
         if not data.startswith('http'):
             raise ValueError("[Phorcys] Failed to parse input.")
         data = url.decode(data)
         if not data:
             raise ValueError("[Phorcys] Failed to parse input.")
         for (k, v) in data:
             child = Layer(True)
             child.human_readable = True
             child.parent = self.layer
             child.raw_data = v
             child.name = k
             child.lines = [v]
             self.layer.lines.append('%s=%s' % (k, v))
             self.layer.add_extracted_layer(child)
     except:
         raise ValueError("[Phorcys] Failed to parse input.")