metasploit_data_models 6.0.5 → 6.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0f6a352c3f586ad9ebcd620dcf0f581006b2ea32e63588d3f17bd3933009c76
4
- data.tar.gz: 350592d2f75705120a89a8893d02d8414c78704ccdf284f80ca563931659a920
3
+ metadata.gz: 8729f3b36a9dba01a242ef1771a411729d487ea4a46cdef91738089c9d6844dc
4
+ data.tar.gz: 7cf123db2f63c885f9b6ba349310a93f14ce594929975df5d83b5dc0376757b3
5
5
  SHA512:
6
- metadata.gz: 2ea341d26e26025d795a1cad1856c965fe2cec748245da1cab188f91152a7f1c2445ab5111807f6c62a3b58070783228027778592ea0fbc59db26d0b2aa633df
7
- data.tar.gz: 68394ec5e5127a4f5ef1e3c395e80c732a8e117cd4b488a5d3e98fa38f53c6a8f7f215a22857abfdb273ba2e3b2f51b5f378d8ca24c5b52b99a8b63d5e0abeb7
6
+ metadata.gz: 27a0720202b2b0b528ad7018fedbe095432f36be5fc2a3c8f6adc3f7aead9465930fdf0a0a69d373bdf83070a824a8e10b2ce0ce812f7e3f72c801920fe14b76
7
+ data.tar.gz: 6c8e79021ddb0d9b9cefbd1944f2b6d1f92c2dd51866373975996a7ea4c18c058e0acfc7b4c8b6283425def448a75956bced3fa9343b4716d5c333f44da6a3e8
checksums.yaml.gz.sig CHANGED
Binary file
@@ -73,9 +73,9 @@ class Mdm::Event < ApplicationRecord
73
73
  #
74
74
  # @return [Hash]
75
75
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
76
- serialize :info, coder: MetasploitDataModels::Base64Serializer.new
76
+ serialize :info, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
77
77
  else
78
- serialize :info, MetasploitDataModels::Base64Serializer.new
78
+ serialize :info, MetasploitDataModels::Base64Serializer.new(coerce: true)
79
79
  end
80
80
 
81
81
  #
@@ -70,9 +70,9 @@ class Mdm::Listener < ApplicationRecord
70
70
  #
71
71
  # @return [Hash]
72
72
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
73
- serialize :options, coder: MetasploitDataModels::Base64Serializer.new
73
+ serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
74
74
  else
75
- serialize :options, MetasploitDataModels::Base64Serializer.new
75
+ serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
76
76
  end
77
77
 
78
78
  #
@@ -173,9 +173,9 @@ class Mdm::Session < ApplicationRecord
173
173
  #
174
174
 
175
175
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
176
- serialize :datastore, coder: ::MetasploitDataModels::Base64Serializer.new
176
+ serialize :datastore, coder: ::MetasploitDataModels::Base64Serializer.new(coerce: true)
177
177
  else
178
- serialize :datastore, ::MetasploitDataModels::Base64Serializer.new
178
+ serialize :datastore, ::MetasploitDataModels::Base64Serializer.new(coerce: true)
179
179
  end
180
180
 
181
181
  # Returns whether the session can be upgraded to a meterpreter session from a shell session on Windows.
@@ -131,27 +131,27 @@ class Mdm::Task < ApplicationRecord
131
131
  #
132
132
  # @return [Hash]
133
133
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
134
- serialize :options, coder: MetasploitDataModels::Base64Serializer.new
134
+ serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
135
135
  else
136
- serialize :options, MetasploitDataModels::Base64Serializer.new
136
+ serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
137
137
  end
138
138
 
139
139
  # Result of task running.
140
140
  #
141
141
  # @return [Hash]
142
142
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
143
- serialize :result, coder: MetasploitDataModels::Base64Serializer.new
143
+ serialize :result, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
144
144
  else
145
- serialize :result, MetasploitDataModels::Base64Serializer.new
145
+ serialize :result, MetasploitDataModels::Base64Serializer.new(coerce: true)
146
146
  end
147
147
 
148
148
  # Settings used to configure this task outside of the {#options module options}.
149
149
  #
150
150
  # @return [Hash]
151
151
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
152
- serialize :settings, coder: MetasploitDataModels::Base64Serializer.new
152
+ serialize :settings, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
153
153
  else
154
- serialize :settings, MetasploitDataModels::Base64Serializer.new
154
+ serialize :settings, MetasploitDataModels::Base64Serializer.new(coerce: true)
155
155
  end
156
156
 
157
157
  #
@@ -142,9 +142,9 @@ class Mdm::WebVuln < ApplicationRecord
142
142
  #
143
143
  # @return [Array<Array(String, String)>] Array of parameter key value pairs
144
144
  if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
145
- serialize :params, coder: MetasploitDataModels::Base64Serializer.new(:default => DEFAULT_PARAMS)
145
+ serialize :params, coder: MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
146
146
  else
147
- serialize :params, MetasploitDataModels::Base64Serializer.new(:default => DEFAULT_PARAMS)
147
+ serialize :params, MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
148
148
  end
149
149
 
150
150
  #
data/cortex.yaml CHANGED
@@ -10,6 +10,8 @@ info:
10
10
  x-cortex-type: service
11
11
  x-cortex-domain-parents:
12
12
  - tag: metasploit
13
+ x-cortex-groups:
14
+ - exposure:external-ship
13
15
  openapi: 3.0.1
14
16
  servers:
15
17
  - url: "/"
@@ -15,6 +15,10 @@ class MetasploitDataModels::Base64Serializer
15
15
 
16
16
  # The default for {#default}
17
17
  DEFAULT = {}
18
+
19
+ # The default for {#coerce}
20
+ COERCE_DEFAULT = false
21
+
18
22
  # Deserializers for {#load}
19
23
  # 1. Base64 decoding and then unmarshalling the value.
20
24
  # 2. Parsing the value as YAML.
@@ -47,6 +51,24 @@ class MetasploitDataModels::Base64Serializer
47
51
  end
48
52
 
49
53
  attr_writer :default
54
+ attr_writer :coerce
55
+
56
+ # Recursively coerce the object that has been passed in, keeping primitive types as their original type,
57
+ # while changing objects that cannot be serialized into a string representation of the object data.
58
+ def coerce_object(value)
59
+ case value
60
+ when Hash
61
+ value.transform_values { |v| coerce_object(v) }
62
+ when Array
63
+ value.map { |v| coerce_object(v) }
64
+ when File, IO
65
+ value.inspect
66
+ when String, Integer, Float, TrueClass, FalseClass, NilClass, Symbol
67
+ value
68
+ else
69
+ value.to_s
70
+ end
71
+ end
50
72
 
51
73
  # Serializes the value by marshalling the value and then base64 encodes the marshaled value.
52
74
  #
@@ -54,7 +76,8 @@ class MetasploitDataModels::Base64Serializer
54
76
  # @return [String]
55
77
  def dump(value)
56
78
  # Always store data back in the Marshal format
57
- marshalled = Marshal.dump(value)
79
+ to_serialize = @coerce ? coerce_object(value) : value
80
+ marshalled = Marshal.dump(to_serialize)
58
81
  base64_encoded = [ marshalled ].pack('m')
59
82
 
60
83
  base64_encoded
@@ -63,9 +86,10 @@ class MetasploitDataModels::Base64Serializer
63
86
  # @param attributes [Hash] attributes
64
87
  # @option attributes [Object] :default ({}) Value to use for {#default}.
65
88
  def initialize(attributes={})
66
- attributes.assert_valid_keys(:default)
89
+ attributes.assert_valid_keys(:default, :coerce)
67
90
 
68
91
  @default = attributes.fetch(:default, DEFAULT)
92
+ @coerce = attributes.fetch(:coerce, COERCE_DEFAULT)
69
93
  end
70
94
 
71
95
  # Deserializes the value by either
@@ -1,6 +1,6 @@
1
1
  module MetasploitDataModels
2
2
  # VERSION is managed by GemRelease
3
- VERSION = '6.0.5'
3
+ VERSION = '6.0.6'
4
4
 
5
5
  # @return [String]
6
6
  #
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metasploit_data_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.5
4
+ version: 6.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -34,7 +34,7 @@ cert_chain:
34
34
  DgscAao7wB3xW2BWEp1KnaDWkf1x9ttgoBEYyuYwU7uatB67kBQG1PKvLt79wHvz
35
35
  Dxs+KOjGbBRfMnPgVGYkORKVrZIwlaboHbDKxcVW5xv+oZc7KYXWGg==
36
36
  -----END CERTIFICATE-----
37
- date: 2024-06-12 00:00:00.000000000 Z
37
+ date: 2025-02-13 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: metasploit-yard
@@ -727,7 +727,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
727
727
  - !ruby/object:Gem::Version
728
728
  version: '0'
729
729
  requirements: []
730
- rubygems_version: 3.3.24
730
+ rubygems_version: 3.3.3
731
731
  signing_key:
732
732
  specification_version: 4
733
733
  summary: Database code for MSF and Metasploit Pro
metadata.gz.sig CHANGED
@@ -1,2 +1,4 @@
1
- �?���Ѧ"��~δ��ݮ-͍}�j軠=yE:��*dߓ��S/Ն��84�o�o h�3h�y#zi�~OeC��2���+�O�������&����9AenU���(��Ɵ)4Qp�6��
2
- �3O1�m�U��n���Ig�̋S;2�t�i�\̔��X���]��C���Ʌ�J�ʬv��j�9[~��P^[��h�-N��2H�M`&��eD��}�����&]l"�z��|Y�F['D��B��Y
1
+ `�U��3uEh?�v��N>���I��&z)_ ����&�(WBͭ�J�b�iNb�R�4D��>;465���4D���Z����ޤ�7y�z���4�^N
2
+ ��
3
+ ���}R�r)�B�eo�G����5���Xw��U ���h WXefI�sOԅ���@�T{�L���>�>�b�z�ȧ�S���d�����-��k��7NXb�P�=���+w���ԭ��,G��%k;���
4
+ T�8�\���//�r�i>�%FE���V�����G�Սk�� g/R