soap_enumerator 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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]
|