intrigue-ident 0.4 → 0.6
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/Gemfile +0 -1
- data/Gemfile.lock +0 -6
- data/data/logos/apache.png +0 -0
- data/data/logos/generic.png +0 -0
- data/data/logos/oracle_java.png +0 -0
- data/data/logos/php.png +0 -0
- data/data/logos/varnish.png +0 -0
- data/intrigue-ident.gemspec +2 -2
- data/lib/checks/acquia.rb +26 -0
- data/lib/checks/adobe.rb +38 -0
- data/lib/checks/akamai.rb +6 -4
- data/lib/checks/amazon.rb +54 -8
- data/lib/checks/apache.rb +113 -0
- data/lib/checks/aruba.rb +6 -3
- data/lib/checks/atlassian.rb +46 -28
- data/lib/checks/automattic.rb +189 -0
- data/lib/checks/axis.rb +24 -0
- data/lib/checks/banu.rb +28 -0
- data/lib/checks/base.rb +58 -0
- data/lib/checks/checkpoint.rb +55 -0
- data/lib/checks/chef.rb +16 -12
- data/lib/checks/cisco.rb +85 -12
- data/lib/checks/citrix.rb +81 -6
- data/lib/checks/cloudflare.rb +40 -30
- data/lib/checks/cpanel.rb +8 -6
- data/lib/checks/craft.rb +25 -0
- data/lib/checks/django.rb +8 -6
- data/lib/checks/docuwiki.rb +25 -0
- data/lib/checks/drupal.rb +25 -8
- data/lib/checks/f5.rb +35 -7
- data/lib/checks/fastly.rb +22 -7
- data/lib/checks/generic.rb +34 -6
- data/lib/checks/gitlab.rb +12 -6
- data/lib/checks/google.rb +19 -6
- data/lib/checks/grafana.rb +8 -6
- data/lib/checks/groovy.rb +24 -0
- data/lib/checks/heroku.rb +27 -0
- data/lib/checks/hp.rb +25 -0
- data/lib/checks/ibm.rb +77 -0
- data/lib/checks/ivanti.rb +27 -0
- data/lib/checks/jamf.rb +26 -0
- data/lib/checks/jekyll.rb +28 -0
- data/lib/checks/jenkins.rb +24 -18
- data/lib/checks/jive.rb +25 -0
- data/lib/checks/jobvite.rb +25 -0
- data/lib/checks/joomla.rb +9 -6
- data/lib/checks/jupyter.rb +26 -0
- data/lib/checks/lighttpd.rb +28 -0
- data/lib/checks/limesuvey.rb +8 -6
- data/lib/checks/lithium.rb +15 -11
- data/lib/checks/lotus.rb +27 -0
- data/lib/checks/magento.rb +8 -6
- data/lib/checks/mailchimp.rb +25 -0
- data/lib/checks/mcafee.rb +8 -6
- data/lib/checks/mediawiki.rb +31 -32
- data/lib/checks/microsoft.rb +240 -34
- data/lib/checks/microtik.rb +27 -0
- data/lib/checks/nagios.rb +8 -6
- data/lib/checks/new_relic.rb +25 -0
- data/lib/checks/nginx.rb +40 -0
- data/lib/checks/okta.rb +25 -0
- data/lib/checks/ookla.rb +27 -0
- data/lib/checks/openresty.rb +25 -0
- data/lib/checks/oracle.rb +208 -17
- data/lib/checks/palo_alto.rb +6 -4
- data/lib/checks/pantheon.rb +26 -0
- data/lib/checks/pardot.rb +8 -6
- data/lib/checks/perfectsense.rb +27 -0
- data/lib/checks/pfsense.rb +8 -9
- data/lib/checks/php.rb +41 -0
- data/lib/checks/phpmyadmin.rb +8 -6
- data/lib/checks/ping_identity.rb +27 -0
- data/lib/checks/pivotal.rb +24 -0
- data/lib/checks/plesk.rb +41 -0
- data/lib/checks/pulse_secure.rb +27 -0
- data/lib/checks/rabbitmq.rb +15 -11
- data/lib/checks/restlet.rb +28 -0
- data/lib/checks/ruckus_wireless.rb +24 -0
- data/lib/checks/sailpoint.rb +27 -0
- data/lib/checks/sap.rb +43 -0
- data/lib/checks/tableau.rb +26 -0
- data/lib/checks/team_city.rb +8 -6
- data/lib/checks/telerik.rb +23 -8
- data/lib/checks/varnish.rb +8 -11
- data/lib/checks/vmware.rb +38 -0
- data/lib/checks/webmin.rb +41 -0
- data/lib/checks/wp_engine.rb +10 -6
- data/lib/checks/yaws.rb +29 -0
- data/lib/checks/zeit.rb +28 -0
- data/lib/checks/zendesk.rb +39 -0
- data/lib/checks/zimbra.rb +24 -0
- data/lib/checks/zscaler.rb +28 -0
- data/{ident.rb → lib/intrigue-ident.rb} +66 -32
- data/lib/traverse_exceptions.rb +196 -0
- data/util/check.rb +20 -0
- data/util/list.rb +9 -0
- metadata +58 -9
- data/lib/checks/asp_net.rb +0 -70
- data/lib/checks/cloudfront.rb +0 -41
- data/lib/checks/spring.rb +0 -31
- data/lib/checks/tomcat.rb +0 -22
- data/lib/checks/wordpress.rb +0 -120
data/lib/checks/gitlab.rb
CHANGED
@@ -3,15 +3,21 @@ module Ident
|
|
3
3
|
module Check
|
4
4
|
class Gitlab < Intrigue::Ident::Check::Base
|
5
5
|
|
6
|
-
def generate_checks(
|
6
|
+
def generate_checks(url)
|
7
7
|
[
|
8
8
|
{
|
9
|
-
:
|
10
|
-
:
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Gitlab",
|
11
|
+
:product => "Gitlab",
|
12
|
+
:match_details => "Gitlab",
|
11
13
|
:version => nil,
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
14
|
+
:match_type => :content_cookies,
|
15
|
+
:match_content => /_gitlab_session/i,
|
16
|
+
:dynamic_version => lambda{ |x|
|
17
|
+
_first_body_capture(x,/window.gon={};gon.api_version=\"v([0-9\.])\"/i)
|
18
|
+
},
|
19
|
+
:examples => [ ],
|
20
|
+
:paths => ["#{url}"]
|
15
21
|
}
|
16
22
|
]
|
17
23
|
end
|
data/lib/checks/google.rb
CHANGED
@@ -3,16 +3,29 @@ module Ident
|
|
3
3
|
module Check
|
4
4
|
class Google < Intrigue::Ident::Check::Base
|
5
5
|
|
6
|
-
def generate_checks(
|
6
|
+
def generate_checks(url)
|
7
7
|
[
|
8
8
|
{
|
9
|
-
:
|
10
|
-
:
|
11
|
-
:
|
9
|
+
:type => "service",
|
10
|
+
:vendor => "Google",
|
11
|
+
:product => "Hosted",
|
12
|
+
:match_details => "Google Missing Page",
|
13
|
+
:match_type => :content_body,
|
12
14
|
:version => "",
|
13
|
-
:
|
15
|
+
:match_content => /The requested URL <code>\/<\/code> was not found on this server\./,
|
14
16
|
:hide => true,
|
15
|
-
:paths => ["#{
|
17
|
+
:paths => ["#{url}"]
|
18
|
+
},
|
19
|
+
{
|
20
|
+
:type => "application",
|
21
|
+
:vendor => "Google",
|
22
|
+
:product =>"Search Appliance",
|
23
|
+
:match_details =>"server header reports google search appliance",
|
24
|
+
:version => nil,
|
25
|
+
:match_type => :content_headers,
|
26
|
+
:match_content => /server: Google Search Appliance/i,
|
27
|
+
:paths => ["#{url}"],
|
28
|
+
:examples => ["http://161.107.1.43:80"]
|
16
29
|
}
|
17
30
|
]
|
18
31
|
end
|
data/lib/checks/grafana.rb
CHANGED
@@ -3,15 +3,17 @@ module Ident
|
|
3
3
|
module Check
|
4
4
|
class Grafana < Intrigue::Ident::Check::Base
|
5
5
|
|
6
|
-
def generate_checks(
|
6
|
+
def generate_checks(url)
|
7
7
|
[
|
8
8
|
{
|
9
|
-
:
|
10
|
-
:
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Grafana",
|
11
|
+
:product =>"Grafana",
|
12
|
+
:match_details =>"Grafana",
|
11
13
|
:version => nil,
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:paths => ["#{
|
14
|
+
:match_type => :content_cookies,
|
15
|
+
:match_content => /grafana_sess/i,
|
16
|
+
:paths => ["#{url}"]
|
15
17
|
}
|
16
18
|
]
|
17
19
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Groovy < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Groovy",
|
11
|
+
:product =>"Groovy",
|
12
|
+
:match_details =>"Groovy error page",
|
13
|
+
:match_type => :content_body,
|
14
|
+
:version => nil,
|
15
|
+
:match_content => /Error processing GroovyPageView:/i,
|
16
|
+
:paths => ["#{url}"]
|
17
|
+
}
|
18
|
+
]
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Heroku < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "service",
|
10
|
+
:vendor => "Heroku",
|
11
|
+
:product =>"Heroku",
|
12
|
+
:match_details =>"Heroku",
|
13
|
+
:tags => ["hosting_provider"],
|
14
|
+
:version => nil,
|
15
|
+
:match_type => :content_body,
|
16
|
+
:match_content => /herokucdn.com\/error-pages\/no-such-app.html/,
|
17
|
+
:hide => true,
|
18
|
+
:examples => ["http://54.209.64.71:80"],
|
19
|
+
:paths => ["#{url}"]
|
20
|
+
}
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/checks/hp.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Hp < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "HP",
|
11
|
+
:product =>"Printer",
|
12
|
+
:version => nil,
|
13
|
+
:match_type => :content_headers,
|
14
|
+
:match_content => /server: HP-ChaiSOE\/1.0/i,
|
15
|
+
:match_details =>"Generic HP Printer match",
|
16
|
+
:examples => ["http://69.162.52.20:80"],
|
17
|
+
:paths => ["#{url}"]
|
18
|
+
}
|
19
|
+
]
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/checks/ibm.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Ibm < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "IBM",
|
11
|
+
:product =>"Axway SecureTranspor",
|
12
|
+
:references => ["https://www-356.ibm.com/partnerworld/gsd/solutiondetails.do?&solution=47052"],
|
13
|
+
:version => nil,
|
14
|
+
:dynamic_version => lambda {|x| _first_header_capture(x,/SecureTransport (.*) (build:.*)/)},
|
15
|
+
:match_type => :content_headers,
|
16
|
+
:match_content => /server: SecureTransport/i,
|
17
|
+
:match_details =>"server header - build is avail too",
|
18
|
+
:examples => ["https://dhebpcb01.boulder.ibm.com:443"],
|
19
|
+
:verify => ["xaWJtI0ludHJpZ3VlOjpFbnRpdHk6OlVyaSNodHRwczovL2RoZWJwY2IwMS5ib3VsZGVyLmlibS5jb206NDQz"],
|
20
|
+
:paths => ["#{url}"]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
:type => "application",
|
24
|
+
:vendor => "IBM",
|
25
|
+
:product =>"Datapower",
|
26
|
+
:references => ["https://www.ibm.com/developerworks/community/blogs/HermannSW/entry/datapower_x_backside_transport_transfer_encoding_and_connection_header_fields9?lang=en"],
|
27
|
+
:version => nil,
|
28
|
+
:match_type => :content_headers,
|
29
|
+
:match_content => /X-Backside-Transport:/i,
|
30
|
+
:match_details =>"header thrown by ibm datapower (on error?)",
|
31
|
+
:examples => ["https://css-ewebsvcs.freddiemac.com:443"],
|
32
|
+
:paths => ["#{url}"]
|
33
|
+
},
|
34
|
+
{
|
35
|
+
:type => "application",
|
36
|
+
:vendor => "IBM",
|
37
|
+
:product =>"IBM Security Access Manager for Web",
|
38
|
+
:references => ["https://www.ibm.com/support/knowledgecenter/SSPREK_9.0.2.1/com.ibm.isam.doc/wrp_config/concept/con_sam_intro.html"],
|
39
|
+
:version => nil,
|
40
|
+
:match_type => :content_headers,
|
41
|
+
:match_content => /www-authenticate: Basic realm=\"IBM Security Access Manager for Web\"/i,
|
42
|
+
:match_details =>"IBM security access manager login prompt",
|
43
|
+
:examples => ["https://161.107.22.69:443"],
|
44
|
+
:paths => ["#{url}"]
|
45
|
+
},
|
46
|
+
{
|
47
|
+
:type => "application",
|
48
|
+
:vendor => "IBM",
|
49
|
+
:product =>"Tivoli Access Manager for e-business",
|
50
|
+
:references => ["https://www.ibm.com/support/knowledgecenter/en/SSPREK_6.1.0/com.ibm.itame.doc_6.1/am61_qsg_en.htm"],
|
51
|
+
:version => nil,
|
52
|
+
:match_type => :content_body,
|
53
|
+
:match_content => /<title>Access Manager for e-Business Login/i,
|
54
|
+
:match_details =>"Generic Ibm tivoli copyright",
|
55
|
+
:examples => ["https://161.107.1.22:443"],
|
56
|
+
:paths => ["#{url}"]
|
57
|
+
},
|
58
|
+
{
|
59
|
+
:type => "application",
|
60
|
+
:vendor => "IBM",
|
61
|
+
:product =>"WebSEAL",
|
62
|
+
:references => ["https://www.ibm.com/support/knowledgecenter/en/SSPREK_8.0.1.2/com.ibm.isamw.doc_8.0.1.2/wrp_config/task/tsk_submt_form_data_ws.html"],
|
63
|
+
:version => nil,
|
64
|
+
:match_type => :content_body,
|
65
|
+
:match_content => /<form method=\"POST\" action=\"\/pkmslogin.form\">/i,
|
66
|
+
:match_details =>"form action to submit to webseal (on ourselves)",
|
67
|
+
:examples => ["https://pseuat.fmrei.com:443"],
|
68
|
+
:paths => ["#{url}"]
|
69
|
+
}
|
70
|
+
|
71
|
+
]
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Ivanti < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Ivanti",
|
11
|
+
:tags => [],
|
12
|
+
:product =>"LANDESK Appliance",
|
13
|
+
:match_details =>"matched title",
|
14
|
+
:match_type => :content_body,
|
15
|
+
:version => nil,
|
16
|
+
:references => ["https://community.ivanti.com/community/all-products/systems/cloudservices"],
|
17
|
+
:match_content => /<title>LANDESK\(R\) Cloud Services Appliance/i,
|
18
|
+
:examples => ["https://techcentral.hormel.com/"],
|
19
|
+
:verify => ["aG9ybWVsZm9vZHMjSW50cmlndWU6OkVudGl0eTo6VXJpI2h0dHBzOi8vdGVjaGNlbnRyYWwuaG9ybWVsLmNvbTo0NDM="],
|
20
|
+
:paths => ["#{url}"]
|
21
|
+
}
|
22
|
+
]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/checks/jamf.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Jamf < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Jamf",
|
11
|
+
:tags => [],
|
12
|
+
:product =>"Pro",
|
13
|
+
:match_details =>"jamf pro login page",
|
14
|
+
:match_type => :content_body,
|
15
|
+
:version => nil,
|
16
|
+
:dynamic_version => lambda { |x| _first_body_capture(x,/<title>Jamf Pro Login - Jamf Pro v(.*)</) },
|
17
|
+
:match_content => /<title>Jamf Pro Login - Jamf Pro v/i,
|
18
|
+
:examples => ["https://98.99.248.54:8443"],
|
19
|
+
:paths => ["#{url}"]
|
20
|
+
}
|
21
|
+
]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Jekyll < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "service",
|
10
|
+
:vendor =>"Jekyll",
|
11
|
+
:product =>"Jekyll",
|
12
|
+
:match_details =>"server header for Jekyll",
|
13
|
+
:references => ["https://jekyllrb.com/"],
|
14
|
+
:match_type => :content_body,
|
15
|
+
:match_content => /<meta name="generator" content="Jekyll v3.7.3"/i,
|
16
|
+
:dynamic_version => lambda { |x|
|
17
|
+
_first_body_capture(x,/<meta name="generator" content="Jekyll v(.*)"/i)
|
18
|
+
},
|
19
|
+
:examples => ["http://github.io:80"],
|
20
|
+
:paths => ["#{url}"]
|
21
|
+
}
|
22
|
+
]
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/checks/jenkins.rb
CHANGED
@@ -3,33 +3,39 @@ module Ident
|
|
3
3
|
module Check
|
4
4
|
class Jenkins < Intrigue::Ident::Check::Base
|
5
5
|
|
6
|
-
def generate_checks(
|
6
|
+
def generate_checks(url)
|
7
7
|
[
|
8
8
|
{ # might need to be its own, but haven't seen it yet outside jenkins
|
9
|
-
:
|
10
|
-
:
|
9
|
+
:type => "application",
|
10
|
+
:vendor => "Jenkins",
|
11
|
+
:product => "Hudson",
|
12
|
+
:match_details => "Hudson",
|
11
13
|
:version => nil,
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:dynamic_version => lambda { |x| x
|
15
|
-
:paths => ["#{
|
14
|
+
:match_type => :content_headers,
|
15
|
+
:match_content => /x-hudson/i,
|
16
|
+
:dynamic_version => lambda { |x| _first_header_capture(x, /^x-hudson:(.*)$/) },
|
17
|
+
:paths => ["#{url}"]
|
16
18
|
},
|
17
19
|
{
|
18
|
-
:
|
19
|
-
:
|
20
|
+
:type => "application",
|
21
|
+
:vendor => "Jenkins",
|
22
|
+
:product =>"Jenkins",
|
23
|
+
:match_details =>"Jenkins",
|
20
24
|
:version => nil,
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:paths => ["#{
|
25
|
+
:match_type => :content_headers,
|
26
|
+
:match_content => /X-Jenkins-Session/i,
|
27
|
+
:paths => ["#{url}"]
|
24
28
|
},
|
25
29
|
{
|
26
|
-
:
|
27
|
-
:
|
30
|
+
:type => "application",
|
31
|
+
:vendor => "Jenkins",
|
32
|
+
:product =>"Jenkins",
|
33
|
+
:match_details =>"Jenkins",
|
28
34
|
:version => nil,
|
29
|
-
:
|
30
|
-
:
|
31
|
-
:dynamic_version => lambda { |x| x
|
32
|
-
:paths => ["#{
|
35
|
+
:match_type => :content_headers,
|
36
|
+
:match_content => /x-jenkins/i,
|
37
|
+
:dynamic_version => lambda { |x| _first_header_capture(x, /^x-jenkins:(.*)$/) },
|
38
|
+
:paths => ["#{url}"]
|
33
39
|
}
|
34
40
|
]
|
35
41
|
end
|
data/lib/checks/jive.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Jive < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "service",
|
10
|
+
:vendor => "Jive",
|
11
|
+
:tags => [],
|
12
|
+
:product =>"Platform",
|
13
|
+
:match_details =>"jive login page",
|
14
|
+
:match_type => :content_cookies,
|
15
|
+
:version => nil,
|
16
|
+
:match_content => /jive.login.ts=/i,
|
17
|
+
:examples => ["https://www.gsd.ouroath.com:443"],
|
18
|
+
:paths => ["#{url}"]
|
19
|
+
}
|
20
|
+
]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Intrigue
|
2
|
+
module Ident
|
3
|
+
module Check
|
4
|
+
class Jobvite < Intrigue::Ident::Check::Base
|
5
|
+
|
6
|
+
def generate_checks(url)
|
7
|
+
[
|
8
|
+
{
|
9
|
+
:type => "service",
|
10
|
+
:vendor =>"Jobvite",
|
11
|
+
:product =>"Jobvite",
|
12
|
+
:match_details =>"jobvite cookie - unconfirmed!!!!",
|
13
|
+
:version => nil,
|
14
|
+
:match_type => :content_cookies,
|
15
|
+
:match_content => /ADRUM_BTa/i,
|
16
|
+
:examples => ["http://202.1.239.165:80"],
|
17
|
+
:paths => ["#{url}"]
|
18
|
+
}
|
19
|
+
]
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|