pwn 0.4.400 → 0.4.403

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: 78763f9e6b9981ecd1e3dcdf76ee3a792a613398ac6aa895b0455daec76efe06
4
- data.tar.gz: 8b8ef42ca58081dd11d918a25039d4c31bd46a2ae1e0200a554812f429789178
3
+ metadata.gz: 691830c4fb3f20b44d9273da128eb7a9964c0bebfe7e64494ee5d678dd6dbc96
4
+ data.tar.gz: 53e5dd6aeb79f20a300acfb24a8c7cb0d0f09eda28200d57b45ef705cff12c80
5
5
  SHA512:
6
- metadata.gz: c830d6c105b0d3dabe12e01cb2456778cf088925af00ecf36d4c57aef9e0880d87b189bdabcae5cc5742104d120e260d73afc04172536b08f1a0acd779b34f4d
7
- data.tar.gz: 651a2199d0d29d29f6752d2a8945620a3efe25b42a4ea191dba121b1e078da26675797e1fddd60dadd838a0438283ef798427d89a6773158776ffad056d644bc
6
+ metadata.gz: eed1d674dcd714aa9d916012ecf691c5aa0118e2ae2fb9b02ab433a020dab9dd86487e311560b0d718da98e9d103e5be7d5674979f1e4df39a60df4b3a89be42
7
+ data.tar.gz: 70fa790a244ac1642a05ddb10de4060ff8769dfb3dbc16ffd25a34c48113370c6559b467eb84a3d230681031ab8468fec2d9d27ed93ac893686c8751cf18b5c5
data/Gemfile CHANGED
@@ -16,9 +16,9 @@ gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.0'
17
17
  gem 'aws-sdk', '3.1.0'
18
18
  gem 'bettercap', '1.6.2'
19
- gem 'brakeman', '5.2.1'
19
+ gem 'brakeman', '5.2.2'
20
20
  gem 'bson', '4.14.1'
21
- gem 'bundler', '>=2.3.10'
21
+ gem 'bundler', '>=2.3.11'
22
22
  gem 'bundler-audit', '0.9.0.1'
23
23
  gem 'bunny', '2.19.0'
24
24
  gem 'colorize', '0.8.1'
@@ -41,7 +41,7 @@ gem 'net-ldap', '0.17.0'
41
41
  gem 'net-openvpn', '0.8.7'
42
42
  gem 'net-smtp', '0.3.1'
43
43
  gem 'nexpose', '7.3.0'
44
- gem 'nokogiri', '1.13.3'
44
+ gem 'nokogiri', '1.13.4'
45
45
  gem 'oily_png', '1.2.1'
46
46
  gem 'os', '1.1.4'
47
47
  gem 'packetfu', '1.1.13'
@@ -55,10 +55,10 @@ gem 'rbvmomi', '3.0.0'
55
55
  gem 'rdoc', '6.4.0'
56
56
  gem 'rest-client', '2.1.0'
57
57
  gem 'rex', '2.0.13'
58
- gem 'rmagick', '4.2.4'
58
+ gem 'rmagick', '4.2.5'
59
59
  gem 'rspec', '3.11.0'
60
60
  gem 'rtesseract', '3.1.2'
61
- gem 'rubocop', '1.26.1'
61
+ gem 'rubocop', '1.27.0'
62
62
  gem 'rubocop-rake', '0.6.0'
63
63
  gem 'rubocop-rspec', '2.9.0'
64
64
  gem 'ruby-audio', '1.6.1'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.1@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.400]:001 >>> PWN.help
40
+ pwn[v0.4.403]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.1@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.400]:001 >>> PWN.help
55
+ pwn[v0.4.403]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -11,10 +11,14 @@ begin
11
11
  def gen_ps1_proc(opts = {})
12
12
  delim = opts[:delim]
13
13
 
14
- title = 'pwn'.red.bold
15
- version = PWN::VERSION.cyan
16
- dchars = '>>>'.green
17
- dchars = '***'.yellow if delim == :splat
14
+ # title = 'pwn'.red.bold
15
+ title = "\001\e[1m\002\001\e[31m\002pwn\001\e[0m\002"
16
+ # version = PWN::VERSION.cyan
17
+ version = "\001\e[36m\002v#{PWN::VERSION}\001\e[0m\002"
18
+ # dchars = '>>>'.green
19
+ dchars = "\001\e[32m\002>>>\001\e[0m\002"
20
+ # dchars = '***'.yellow if delim == :splat
21
+ dchars = "\001\e[33m\002***\001\e[0m\002" if delim == :splat
18
22
 
19
23
  proc do |_target_self, _nest_level, pry|
20
24
  pry.config.pwn_repl_line += 1
data/bin/pwn_sast CHANGED
@@ -76,12 +76,13 @@ begin
76
76
  CmdExecutionRuby
77
77
  CmdExecutionScala
78
78
  CSRF
79
- Emoticon
80
79
  DeserialJava
80
+ Emoticon
81
81
  Eval
82
- InnerHTML
83
- FilePermission
84
82
  Factory
83
+ FilePermission
84
+ HTTPAuthorizationHeader
85
+ InnerHTML
85
86
  LocationHash
86
87
  Log4J
87
88
  Logger
@@ -5,27 +5,30 @@ require 'bunny'
5
5
  module PWN
6
6
  module Plugins
7
7
  # This plugin is used to interact w/ RabbitMQ via ruby.
8
- module RabbitMQHole
8
+ module RabbitMQ
9
9
  # Supported Method Parameters::
10
- # PWN::Plugins::RabbitMQHole.open(
10
+ # PWN::Plugins::RabbitMQ.open(
11
11
  # hostname: 'required',
12
+ # port: 'optional - defaults to 5672',
12
13
  # username: 'optional',
13
14
  # password: 'optional'
14
15
  # )
15
16
 
16
17
  public_class_method def self.open(opts = {})
17
18
  host = opts[:hostname].to_s
19
+ port = opts[:port].to_i
20
+ port = 5672 unless port.positive?
18
21
  user = opts[:username].to_s
19
22
  pass = opts[:password].to_s
20
23
 
21
- this_amqp_obj = Bunny.new("amqp://#{user}:#{pass}@#{host}")
24
+ this_amqp_obj = Bunny.new("amqp://#{user}:#{pass}@#{host}:#{port}")
22
25
  this_amqp_obj.start
23
26
  rescue StandardError => e
24
27
  raise e
25
28
  end
26
29
 
27
30
  # Supported Method Parameters::
28
- # PWN::Plugins::RabbitMQHole.close(
31
+ # PWN::Plugins::RabbitMQ.close(
29
32
  # amqp_oject: amqp_conn1
30
33
  # )
31
34
 
@@ -50,6 +53,7 @@ module PWN
50
53
  puts %{USAGE:
51
54
  amqp_conn1 = #{self}.open(
52
55
  hostname: 'required',
56
+ port: 'optional - defaults to 5672',
53
57
  username: 'optional',
54
58
  password: 'optional'
55
59
  )
data/lib/pwn/plugins.rb CHANGED
@@ -42,7 +42,7 @@ module PWN
42
42
  autoload :Packet, 'pwn/plugins/packet'
43
43
  autoload :PDFParse, 'pwn/plugins/pdf_parse'
44
44
  autoload :Pony, 'pwn/plugins/pony'
45
- autoload :RabbitMQHole, 'pwn/plugins/rabbit_mq_hole'
45
+ autoload :RabbitMQ, 'pwn/plugins/rabbit_mq'
46
46
  autoload :RFIDler, 'pwn/plugins/rfidler'
47
47
  autoload :Serial, 'pwn/plugins/serial'
48
48
  autoload :Shodan, 'pwn/plugins/shodan'
@@ -12,7 +12,7 @@ module PWN
12
12
  @@logger = PWN::Plugins::PWNLogger.create
13
13
 
14
14
  # Supported Method Parameters::
15
- # PWN::SAST::Deseria.scan(
15
+ # PWN::SAST::DeserialJava.scan(
16
16
  # :dir_path => 'optional path to dir defaults to .'
17
17
  # :git_repo_root_uri => 'optional http uri of git repo scanned'
18
18
  # )
@@ -0,0 +1,145 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'socket'
4
+
5
+ module PWN
6
+ module SAST
7
+ # SAST Module used to identify hard-code/plain-text
8
+ # passwords within source code.
9
+ module HTTPAuthorizationHeader
10
+ @@logger = PWN::Plugins::PWNLogger.create
11
+
12
+ # Supported Method Parameters::
13
+ # PWN::SAST::HTTPAuthorizationHeader.scan(
14
+ # :dir_path => 'optional path to dir defaults to .'
15
+ # :git_repo_root_uri => 'optional http uri of git repo scanned'
16
+ # )
17
+
18
+ public_class_method def self.scan(opts = {})
19
+ dir_path = opts[:dir_path]
20
+ git_repo_root_uri = opts[:git_repo_root_uri].to_s.scrub
21
+ result_arr = []
22
+ logger_results = ''
23
+
24
+ PWN::Plugins::FileFu.recurse_dir(dir_path: dir_path) do |entry|
25
+ if File.file?(entry) && File.basename(entry) !~ /^pwn.+(html|json|db)$/ && File.basename(entry) !~ /\.JS-BEAUTIFIED$/
26
+ line_no_and_contents_arr = []
27
+ filename_arr = []
28
+ entry_beautified = false
29
+
30
+ if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
31
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
32
+ entry = "#{entry}.JS-BEAUTIFIED"
33
+ entry_beautified = true
34
+ end
35
+
36
+ test_case_filter = %(
37
+ grep -Ein \
38
+ -e "Authorization:(\\sBasic|Basic)" \
39
+ -e "Authorization:(\\sBearer|Bearer)" \
40
+ -e "Authorization:(\\sDigest|Digest)" \
41
+ -e "Authorization:(\\sHOBA|HOBA)" \
42
+ -e "Authorization:(\\sMutual|Mutual)" \
43
+ -e "Authorization:(\\sNegotiate|Negotiate)" \
44
+ -e "Authorization:(\\sVapid|Vapid)" \
45
+ -e "Authorization:(\\sSCRAM|SCRAM)" \
46
+ -e "Authorization:(\\sAWS|AWS)" \
47
+ -e "authorization(\\s=|=)" #{entry}
48
+ )
49
+
50
+ str = `#{test_case_filter}`.to_s.scrub
51
+
52
+ if str.to_s.empty?
53
+ # If str length is >= 64 KB do not include results. (Due to Mongo Document Size Restrictions)
54
+ logger_results = "#{logger_results}~" # Catching bugs is good :)
55
+ else
56
+ str = "1:Result larger than 64KB -> Size: #{str.to_s.length}. Please click the \"Path\" link for more details." if str.to_s.length >= 64_000
57
+
58
+ hash_line = {
59
+ timestamp: Time.now.strftime('%Y-%m-%d %H:%M:%S.%9N %z').to_s,
60
+ test_case: nist_800_53_requirements,
61
+ filename: filename_arr.push(git_repo_root_uri: git_repo_root_uri, entry: entry),
62
+ line_no_and_contents: '',
63
+ raw_content: str,
64
+ test_case_filter: test_case_filter
65
+ }
66
+
67
+ # COMMMENT: Must be a better way to implement this (regex is kinda funky)
68
+ line_contents_split = str.split(/^(\d{1,}):|\n(\d{1,}):/)[1..-1]
69
+ line_no_count = line_contents_split.length # This should always be an even number
70
+ current_count = 0
71
+ while line_no_count > current_count
72
+ line_no = line_contents_split[current_count]
73
+ contents = line_contents_split[current_count + 1]
74
+ if Dir.exist?("#{dir_path}/.git") ||
75
+ Dir.exist?('.git')
76
+
77
+ repo_root = dir_path
78
+ repo_root = '.' if Dir.exist?('.git')
79
+
80
+ author = PWN::Plugins::Git.get_author(
81
+ repo_root: repo_root,
82
+ from_line: line_no,
83
+ to_line: line_no,
84
+ target_file: entry,
85
+ entry_beautified: entry_beautified
86
+ )
87
+ else
88
+ author = 'N/A'
89
+ end
90
+ hash_line[:line_no_and_contents] = line_no_and_contents_arr.push(line_no: line_no,
91
+ contents: contents,
92
+ author: author)
93
+
94
+ current_count += 2
95
+ end
96
+ result_arr.push(hash_line)
97
+ logger_results = "#{logger_results}x" # Seeing progress is good :)
98
+ end
99
+ end
100
+ end
101
+ logger_banner = "http://#{Socket.gethostname}:8808/doc_root/pwn-#{PWN::VERSION.to_s.scrub}/#{to_s.scrub.gsub('::', '/')}.html"
102
+ if logger_results.empty?
103
+ @@logger.info("#{logger_banner}: No files applicable to this test case.\n")
104
+ else
105
+ @@logger.info("#{logger_banner} => #{logger_results}complete.\n")
106
+ end
107
+ result_arr
108
+ end
109
+
110
+ # Used primarily to map NIST 800-53 Revision 4 Security Controls
111
+ # https://web.nvd.nist.gov/view/800-53/Rev4/impact?impactName=HIGH
112
+ # to PWN Exploit & Static Code Anti-Pattern Matching Modules to
113
+ # Determine the level of Testing Coverage w/ PWN.
114
+
115
+ public_class_method def self.nist_800_53_requirements
116
+ {
117
+ sast_module: self,
118
+ section: 'PROTECTION OF INFORMATION AT REST',
119
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#!/control/?version=5.1&number=SC-28'
120
+ }
121
+ end
122
+
123
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
124
+
125
+ public_class_method def self.authors
126
+ "AUTHOR(S):
127
+ 0day Inc. <request.pentest@0dayinc.com>
128
+ "
129
+ end
130
+
131
+ # Display Usage for this Module
132
+
133
+ public_class_method def self.help
134
+ puts "USAGE:
135
+ sast_arr = #{self}.scan(
136
+ :dir_path => 'optional path to dir defaults to .',
137
+ :git_repo_root_uri => 'optional http uri of git repo scanned'
138
+ )
139
+
140
+ #{self}.authors
141
+ "
142
+ end
143
+ end
144
+ end
145
+ end
data/lib/pwn/sast.rb CHANGED
@@ -22,6 +22,7 @@ module PWN
22
22
  autoload :Eval, 'pwn/sast/eval'
23
23
  autoload :Factory, 'pwn/sast/factory'
24
24
  autoload :FilePermission, 'pwn/sast/file_permission'
25
+ autoload :HTTPAuthorizationHeader, 'pwn/sast/http_authorization_header'
25
26
  autoload :InnerHTML, 'pwn/sast/inner_html'
26
27
  autoload :Keystore, 'pwn/sast/keystore'
27
28
  autoload :LocationHash, 'pwn/sast/location_hash'
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.400'
4
+ VERSION = '0.4.403'
5
5
  end
@@ -2,14 +2,14 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe PWN::Plugins::RabbitMQHole do
5
+ describe PWN::Plugins::RabbitMQ do
6
6
  it 'should display information for authors' do
7
- authors_response = PWN::Plugins::RabbitMQHole
7
+ authors_response = PWN::Plugins::RabbitMQ
8
8
  expect(authors_response).to respond_to :authors
9
9
  end
10
10
 
11
11
  it 'should display information for existing help method' do
12
- help_response = PWN::Plugins::RabbitMQHole
12
+ help_response = PWN::Plugins::RabbitMQ
13
13
  expect(help_response).to respond_to :help
14
14
  end
15
15
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::SAST::HTTPAuthorizationHeader do
6
+ it 'scan method should exist' do
7
+ scan_response = PWN::SAST::HTTPAuthorizationHeader
8
+ expect(scan_response).to respond_to :scan
9
+ end
10
+
11
+ it 'should display information for nist_800_53_requirements' do
12
+ nist_800_53_requirements_response = PWN::SAST::HTTPAuthorizationHeader
13
+ expect(nist_800_53_requirements_response).to respond_to :nist_800_53_requirements
14
+ end
15
+
16
+ it 'should display information for authors' do
17
+ authors_response = PWN::SAST::HTTPAuthorizationHeader
18
+ expect(authors_response).to respond_to :authors
19
+ end
20
+
21
+ it 'should display information for existing help method' do
22
+ help_response = PWN::SAST::HTTPAuthorizationHeader
23
+ expect(help_response).to respond_to :help
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.400
4
+ version: 0.4.403
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-04 00:00:00.000000000 Z
11
+ date: 2022-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 5.2.1
89
+ version: 5.2.2
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 5.2.1
96
+ version: 5.2.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bson
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.3.10
117
+ version: 2.3.11
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 2.3.10
124
+ version: 2.3.11
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler-audit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -408,14 +408,14 @@ dependencies:
408
408
  requirements:
409
409
  - - '='
410
410
  - !ruby/object:Gem::Version
411
- version: 1.13.3
411
+ version: 1.13.4
412
412
  type: :runtime
413
413
  prerelease: false
414
414
  version_requirements: !ruby/object:Gem::Requirement
415
415
  requirements:
416
416
  - - '='
417
417
  - !ruby/object:Gem::Version
418
- version: 1.13.3
418
+ version: 1.13.4
419
419
  - !ruby/object:Gem::Dependency
420
420
  name: oily_png
421
421
  requirement: !ruby/object:Gem::Requirement
@@ -604,14 +604,14 @@ dependencies:
604
604
  requirements:
605
605
  - - '='
606
606
  - !ruby/object:Gem::Version
607
- version: 4.2.4
607
+ version: 4.2.5
608
608
  type: :runtime
609
609
  prerelease: false
610
610
  version_requirements: !ruby/object:Gem::Requirement
611
611
  requirements:
612
612
  - - '='
613
613
  - !ruby/object:Gem::Version
614
- version: 4.2.4
614
+ version: 4.2.5
615
615
  - !ruby/object:Gem::Dependency
616
616
  name: rspec
617
617
  requirement: !ruby/object:Gem::Requirement
@@ -646,14 +646,14 @@ dependencies:
646
646
  requirements:
647
647
  - - '='
648
648
  - !ruby/object:Gem::Version
649
- version: 1.26.1
649
+ version: 1.27.0
650
650
  type: :runtime
651
651
  prerelease: false
652
652
  version_requirements: !ruby/object:Gem::Requirement
653
653
  requirements:
654
654
  - - '='
655
655
  - !ruby/object:Gem::Version
656
- version: 1.26.1
656
+ version: 1.27.0
657
657
  - !ruby/object:Gem::Dependency
658
658
  name: rubocop-rake
659
659
  requirement: !ruby/object:Gem::Requirement
@@ -1498,7 +1498,7 @@ files:
1498
1498
  - lib/pwn/plugins/pdf_parse.rb
1499
1499
  - lib/pwn/plugins/pony.rb
1500
1500
  - lib/pwn/plugins/pwn_logger.rb
1501
- - lib/pwn/plugins/rabbit_mq_hole.rb
1501
+ - lib/pwn/plugins/rabbit_mq.rb
1502
1502
  - lib/pwn/plugins/rfidler.rb
1503
1503
  - lib/pwn/plugins/serial.rb
1504
1504
  - lib/pwn/plugins/shodan.rb
@@ -1532,6 +1532,7 @@ files:
1532
1532
  - lib/pwn/sast/eval.rb
1533
1533
  - lib/pwn/sast/factory.rb
1534
1534
  - lib/pwn/sast/file_permission.rb
1535
+ - lib/pwn/sast/http_authorization_header.rb
1535
1536
  - lib/pwn/sast/inner_html.rb
1536
1537
  - lib/pwn/sast/keystore.rb
1537
1538
  - lib/pwn/sast/location_hash.rb
@@ -1791,7 +1792,7 @@ files:
1791
1792
  - spec/lib/pwn/plugins/packet_spec.rb
1792
1793
  - spec/lib/pwn/plugins/pdf_parse_spec.rb
1793
1794
  - spec/lib/pwn/plugins/pony_spec.rb
1794
- - spec/lib/pwn/plugins/rabbit_mq_hole_spec.rb
1795
+ - spec/lib/pwn/plugins/rabbit_mq_spec.rb
1795
1796
  - spec/lib/pwn/plugins/rfidler_spec.rb
1796
1797
  - spec/lib/pwn/plugins/serial_spec.rb
1797
1798
  - spec/lib/pwn/plugins/shodan_spec.rb
@@ -1825,6 +1826,7 @@ files:
1825
1826
  - spec/lib/pwn/sast/eval_spec.rb
1826
1827
  - spec/lib/pwn/sast/factory_spec.rb
1827
1828
  - spec/lib/pwn/sast/file_permission_spec.rb
1829
+ - spec/lib/pwn/sast/http_authorization_header_spec.rb
1828
1830
  - spec/lib/pwn/sast/inner_html_spec.rb
1829
1831
  - spec/lib/pwn/sast/keystore_spec.rb
1830
1832
  - spec/lib/pwn/sast/location_hash_spec.rb
@@ -2058,7 +2060,7 @@ test_files:
2058
2060
  - spec/lib/pwn/plugins/packet_spec.rb
2059
2061
  - spec/lib/pwn/plugins/pdf_parse_spec.rb
2060
2062
  - spec/lib/pwn/plugins/pony_spec.rb
2061
- - spec/lib/pwn/plugins/rabbit_mq_hole_spec.rb
2063
+ - spec/lib/pwn/plugins/rabbit_mq_spec.rb
2062
2064
  - spec/lib/pwn/plugins/rfidler_spec.rb
2063
2065
  - spec/lib/pwn/plugins/serial_spec.rb
2064
2066
  - spec/lib/pwn/plugins/shodan_spec.rb
@@ -2092,6 +2094,7 @@ test_files:
2092
2094
  - spec/lib/pwn/sast/eval_spec.rb
2093
2095
  - spec/lib/pwn/sast/factory_spec.rb
2094
2096
  - spec/lib/pwn/sast/file_permission_spec.rb
2097
+ - spec/lib/pwn/sast/http_authorization_header_spec.rb
2095
2098
  - spec/lib/pwn/sast/inner_html_spec.rb
2096
2099
  - spec/lib/pwn/sast/keystore_spec.rb
2097
2100
  - spec/lib/pwn/sast/location_hash_spec.rb