soap_enumerator 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/soap_enumerator/bindings/binding.rb +3 -0
- data/lib/soap_enumerator/bindings/operation.rb +13 -0
- data/lib/soap_enumerator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4f8d7f0a65768e08a4802878b26f7efc60c736b3798a9180c070d7cf0009d45
|
4
|
+
data.tar.gz: 21be38f518482532dd737c462674e092fb1f4aec2359cac8aa876b0dd5b4fc57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11264f53e564f203edd5eb770a07e67cec62d14df4672f7164fb4ed03c28087cfa60076cf520ef85f516668b129a55e9526408770107dde373cb559769defbe2
|
7
|
+
data.tar.gz: c5771b64ae618e9e8d4b0d69df6a78cbb97d219bf154f44dfdfd4e3551a29e2b694a2541c9a96221d1d3f4a65ea232a2078889e8b93cb546f8464752de2d8583
|
data/README.md
CHANGED
@@ -13,7 +13,7 @@ $ gem install soap_enumerator
|
|
13
13
|
```ruby
|
14
14
|
wsdl_doc = open('http://192.168.100.10:8383/dvws/vulnerabilities/wsdlenum/service.php?wsdl')
|
15
15
|
|
16
|
-
require '
|
16
|
+
require 'soap_enumerator'
|
17
17
|
|
18
18
|
soap_enum = SoapEnumerator::Parse.wsdl(wsdl_doc)
|
19
19
|
|
@@ -71,9 +71,12 @@ binding.attributes
|
|
71
71
|
binding.soap_binding
|
72
72
|
operation = binding.operations[0]
|
73
73
|
operation.attributes
|
74
|
+
operation.soap_action
|
75
|
+
operation.style
|
74
76
|
operation.name
|
75
77
|
operation.input
|
76
78
|
operation.output
|
79
|
+
operation.documentation
|
77
80
|
|
78
81
|
# Services Elements
|
79
82
|
soap_enum.services.list
|
@@ -11,9 +11,12 @@ module SoapEnumerator
|
|
11
11
|
# binding.soap_binding
|
12
12
|
# operation = binding.operations[0]
|
13
13
|
# operation.attributes
|
14
|
+
# operation.soap_action
|
15
|
+
# operation.style
|
14
16
|
# operation.name
|
15
17
|
# operation.input
|
16
18
|
# operation.output
|
19
|
+
# operation.documentation
|
17
20
|
#
|
18
21
|
class Binding
|
19
22
|
include GenericHelpers
|
@@ -8,6 +8,10 @@ module SoapEnumerator
|
|
8
8
|
|
9
9
|
# @!attribute #attributes
|
10
10
|
attr_reader :attributes
|
11
|
+
# @!attribute #soap_action
|
12
|
+
attr_reader :soap_action
|
13
|
+
# @!attribute #style
|
14
|
+
attr_reader :style
|
11
15
|
# @!attribute #documentation
|
12
16
|
attr_reader :documentation
|
13
17
|
# @!attribute #input
|
@@ -20,13 +24,22 @@ module SoapEnumerator
|
|
20
24
|
@input = get_operation(ops_doc, 'input')
|
21
25
|
@output = get_operation(ops_doc, 'output')
|
22
26
|
@documentation = get_documentation(ops_doc)
|
27
|
+
get_soap_operation(ops_doc)
|
23
28
|
end
|
24
29
|
|
25
30
|
private
|
31
|
+
|
26
32
|
def get_documentation(doc)
|
27
33
|
doc.search('documentation').text
|
28
34
|
end
|
29
35
|
|
36
|
+
# get_soap_operation gets soapAction and style
|
37
|
+
def get_soap_operation(ops_doc)
|
38
|
+
ops_doc.search('./soap:operation').map do |sa|
|
39
|
+
attributes_2_methods(sa)
|
40
|
+
end.flatten
|
41
|
+
end
|
42
|
+
|
30
43
|
def get_operation(doc, operation)
|
31
44
|
doc.elements
|
32
45
|
.select {|ops| ops.name.include?(operation)}[0]
|