pwn 0.4.932 → 0.4.933

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a151683e1b148504e35a466772275282931fdae1aef6465b5fdc2d92a606ecbb
4
- data.tar.gz: f0afd548b3a84996e1a534f8c4545cb571f041f5a32397446ad06e6512411b26
3
+ metadata.gz: 8d8484dcd365421038169dafb7025a555b0113b35ea403797d9908420b7a6d65
4
+ data.tar.gz: 30481b814dd758f19c221df667f97ad1d32ed39f47fe5b336a6f722e292bb5ce
5
5
  SHA512:
6
- metadata.gz: 106682955e1a25e77c5cf0e2859ae7bdbe0f5cb522e21b7fd6becad0f507d8e8f29ffc4040beb978ff5474a066a316067af1188eb1378eccf9fc448b3c4f5edf
7
- data.tar.gz: 4c13875e6e80f671e0f072fe4512abc993c390bcf8c65a71cfb97a57b65aea85bed15af839a3e17b1da456fc58f5d17f98c9cf3584c66a219d94b3e8a7a6e9c8
6
+ metadata.gz: 2a9955f78cc4be05443bcc5e70671244fa0ebaa860a36665f7ba1d34cb12bcda3d648c32a12c1d217a71597181829f735dcfaede91e9c037c9ca5314ce866adf
7
+ data.tar.gz: d458845a6a1a259ec098757a54121f3890997d60b6479a5bf29fe1d5b9ee92d7800a93829da481e1a48fa14a0f818222a16ca11f100f12a0e7404d452e8472b7
data/Gemfile CHANGED
@@ -11,22 +11,22 @@ gemspec
11
11
  # In some circumstances custom flags are passed to gems in order
12
12
  # to build appropriately. Defer to ./reinstall_pwn_gemset.sh
13
13
  # to review these custom flags (e.g. pg, serialport, etc).
14
- gem 'activesupport', '7.1.1'
14
+ gem 'activesupport', '7.1.2'
15
15
  gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.1'
17
- gem 'aws-sdk', '3.1.0'
17
+ gem 'aws-sdk', '3.2.0'
18
18
  # gem 'bettercap', '1.6.2'
19
19
  gem 'barby', '0.6.8'
20
20
  gem 'brakeman', '6.0.1'
21
21
  gem 'bson', '4.15.0'
22
- gem 'bundler', '>=2.4.21'
22
+ gem 'bundler', '>=2.4.22'
23
23
  gem 'bundler-audit', '0.9.1'
24
24
  gem 'bunny', '2.22.0'
25
25
  gem 'colorize', '1.1.0'
26
26
  gem 'credit_card_validations', '6.1.0'
27
27
  gem 'eventmachine', '1.2.7'
28
28
  gem 'executable-hooks', '1.6.1'
29
- gem 'faker', '3.2.1'
29
+ gem 'faker', '3.2.2'
30
30
  gem 'faye-websocket', '0.11.3'
31
31
  gem 'ffi', '1.16.3'
32
32
  gem 'fftw3', '0.3'
@@ -42,17 +42,17 @@ gem 'jsonpath', '1.1.5'
42
42
  gem 'jwt', '2.7.1'
43
43
  gem 'luhn', '1.0.2'
44
44
  gem 'mail', '2.8.1'
45
- gem 'mongo', '2.19.2'
45
+ gem 'mongo', '2.19.3'
46
46
  gem 'msfrpc-client', '1.1.2'
47
47
  gem 'netaddr', '2.0.6'
48
48
  gem 'net-ldap', '0.18.0'
49
49
  gem 'net-openvpn', '0.8.7'
50
50
  gem 'net-smtp', '0.4.0'
51
51
  gem 'nexpose', '7.3.0'
52
- gem 'nokogiri', '1.15.4'
52
+ gem 'nokogiri', '1.15.5'
53
53
  gem 'nokogiri-diff', '0.2.0'
54
54
  gem 'oily_png', '1.2.1'
55
- gem 'open3', '0.1.2'
55
+ gem 'open3', '0.2.0'
56
56
  gem 'os', '1.1.4'
57
57
  gem 'packetfu', '2.0.0'
58
58
  gem 'pdf-reader', '2.11.0'
@@ -62,7 +62,7 @@ gem 'pry-doc', '1.4.0'
62
62
  gem 'rake', '13.1.0'
63
63
  gem 'rb-readline', '0.5.5'
64
64
  gem 'rbvmomi', '3.0.0'
65
- gem 'rdoc', '6.5.0'
65
+ gem 'rdoc', '6.6.0'
66
66
  gem 'rest-client', '2.1.0'
67
67
  gem 'rex', '2.0.13'
68
68
  gem 'rmagick', '5.3.0'
@@ -77,19 +77,19 @@ gem 'ruby-nmap', '1.0.2'
77
77
  gem 'ruby-saml', '1.16.0'
78
78
  gem 'rvm', '1.11.3.9'
79
79
  gem 'savon', '2.14.0'
80
- gem 'selenium-devtools', '0.118.0'
80
+ gem 'selenium-devtools', '0.119.0'
81
81
  gem 'serialport', '1.3.2'
82
82
  gem 'sinatra', '3.1.0'
83
83
  gem 'slack-ruby-client', '2.2.0'
84
84
  gem 'socksify', '1.7.1'
85
85
  gem 'spreadsheet', '1.3.0'
86
- gem 'sqlite3', '1.6.7'
86
+ gem 'sqlite3', '1.6.9'
87
87
  gem 'thin', '1.8.2'
88
88
  gem 'tty-prompt', '0.23.1'
89
89
  gem 'tty-spinner', '0.9.3'
90
90
  gem 'watir', '7.3.0'
91
91
  gem 'waveform', '0.1.3'
92
92
  gem 'webrick', '1.8.1'
93
- gem 'whois', '5.1.0'
93
+ gem 'whois', '5.1.1'
94
94
  gem 'whois-parser', '2.0.0'
95
95
  gem 'wicked_pdf', '2.7.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.4.932]:001 >>> PWN.help
40
+ pwn[v0.4.933]: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.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.932]:001 >>> PWN.help
55
+ pwn[v0.4.933]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.2.2@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.4.932]:001 >>> PWN.help
65
+ pwn[v0.4.933]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
 
data/bin/pwn_sast CHANGED
@@ -97,6 +97,7 @@ begin
97
97
  Logger
98
98
  MD5
99
99
  OuterHTML
100
+ PaddingOracle
100
101
  Password
101
102
  PHPInputMechanisms
102
103
  PHPTypeJuggling
@@ -10,7 +10,7 @@ module PWN
10
10
  @@logger = PWN::Plugins::PWNLogger.create
11
11
 
12
12
  # Supported Method Parameters::
13
- # PWN::SAST::Eval.scan(
13
+ # PWN::SAST::Base64.scan(
14
14
  # dir_path: 'optional path to dir defaults to .'
15
15
  # git_repo_root_uri: 'optional http uri of git repo scanned'
16
16
  # )
@@ -34,9 +34,7 @@ module PWN
34
34
 
35
35
  # TODO: Include regex to search for Base64 strings
36
36
  test_case_filter = "
37
- grep -En \
38
- -e 'base64' \
39
- -e 'Base64' \
37
+ grep -Ein \
40
38
  -e 'BASE64' #{entry}
41
39
  "
42
40
 
@@ -0,0 +1,140 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'socket'
4
+
5
+ module PWN
6
+ module SAST
7
+ # SAST Module used to identify padding oracle vulnerabilities involving weak CBC block cipher padding.
8
+ module PaddingOracle
9
+ @@logger = PWN::Plugins::PWNLogger.create
10
+
11
+ # Supported Method Parameters::
12
+ # PWN::SAST::PaddingOracle.scan(
13
+ # dir_path: 'optional path to dir defaults to .'
14
+ # git_repo_root_uri: 'optional http uri of git repo scanned'
15
+ # )
16
+
17
+ public_class_method def self.scan(opts = {})
18
+ dir_path = opts[:dir_path]
19
+ git_repo_root_uri = opts[:git_repo_root_uri].to_s.scrub
20
+ result_arr = []
21
+ logger_results = ''
22
+
23
+ PWN::Plugins::FileFu.recurse_dir(dir_path: dir_path) do |entry|
24
+ if File.file?(entry) && File.basename(entry) !~ /^pwn.+(html|json|db)$/ && File.basename(entry) !~ /\.JS-BEAUTIFIED$/ && entry !~ /test/i
25
+ line_no_and_contents_arr = []
26
+ entry_beautified = false
27
+
28
+ if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
29
+ js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
30
+ entry = "#{entry}.JS-BEAUTIFIED"
31
+ entry_beautified = true
32
+ end
33
+
34
+ # TODO: Include regex to search for weak CBC block cipher padding
35
+ test_case_filter = "
36
+ grep -Ein \
37
+ -e 'AES/CBC/PKCS' #{entry}
38
+ "
39
+
40
+ str = `#{test_case_filter}`.to_s.scrub
41
+
42
+ if str.to_s.empty?
43
+ # If str length is >= 64 KB do not include results. (Due to Mongo Document Size Restrictions)
44
+ logger_results = "#{logger_results}~" # Catching bugs is good :)
45
+ else
46
+ 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
47
+
48
+ hash_line = {
49
+ timestamp: Time.now.strftime('%Y-%m-%d %H:%M:%S.%9N %z').to_s,
50
+ security_references: security_references,
51
+ filename: { git_repo_root_uri: git_repo_root_uri, entry: entry },
52
+ line_no_and_contents: '',
53
+ raw_content: str,
54
+ test_case_filter: test_case_filter
55
+ }
56
+
57
+ # COMMMENT: Must be a better way to implement this (regex is kinda funky)
58
+ line_contents_split = str.split(/^(\d{1,}):|\n(\d{1,}):/)[1..-1]
59
+ line_no_count = line_contents_split.length # This should always be an even number
60
+ current_count = 0
61
+ while line_no_count > current_count
62
+ line_no = line_contents_split[current_count]
63
+ contents = line_contents_split[current_count + 1]
64
+ if Dir.exist?("#{dir_path}/.git") ||
65
+ Dir.exist?('.git')
66
+
67
+ repo_root = dir_path
68
+ repo_root = '.' if Dir.exist?('.git')
69
+
70
+ author = PWN::Plugins::Git.get_author(
71
+ repo_root: repo_root,
72
+ from_line: line_no,
73
+ to_line: line_no,
74
+ target_file: entry,
75
+ entry_beautified: entry_beautified
76
+ )
77
+ else
78
+ author = 'N/A'
79
+ end
80
+ hash_line[:line_no_and_contents] = line_no_and_contents_arr.push(
81
+ line_no: line_no,
82
+ contents: contents,
83
+ author: author
84
+ )
85
+
86
+ current_count += 2
87
+ end
88
+ result_arr.push(hash_line)
89
+ logger_results = "#{logger_results}x" # Seeing progress is good :)
90
+ end
91
+ end
92
+ end
93
+ logger_banner = "http://#{Socket.gethostname}:8808/doc_root/pwn-#{PWN::VERSION.to_s.scrub}/#{to_s.scrub.gsub('::', '/')}.html"
94
+ if logger_results.empty?
95
+ @@logger.info("#{logger_banner}: No files applicable to this test case.\n")
96
+ else
97
+ @@logger.info("#{logger_banner} => #{logger_results}complete.\n")
98
+ end
99
+ result_arr
100
+ rescue StandardError => e
101
+ raise e
102
+ end
103
+
104
+ # Used to dictate Security Control Requirements for a Given SAST module.
105
+
106
+ public_class_method def self.security_references
107
+ {
108
+ sast_module: self,
109
+ section: 'PUBLIC KEY INFRASTRUCTURE CERTIFICATES',
110
+ nist_800_53_uri: 'https://csrc.nist.gov/Projects/risk-management/sp800-53-controls/release-search#/control/?version=5.1&number=SC-17',
111
+ cwe_id: '310',
112
+ cwe_uri: 'https://cwe.mitre.org/data/definitions/310.html'
113
+ }
114
+ rescue StandardError => e
115
+ raise e
116
+ end
117
+
118
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
119
+
120
+ public_class_method def self.authors
121
+ "AUTHOR(S):
122
+ 0day Inc. <request.pentest@0dayinc.com>
123
+ "
124
+ end
125
+
126
+ # Display Usage for this Module
127
+
128
+ public_class_method def self.help
129
+ puts "USAGE:
130
+ sast_arr = #{self}.scan(
131
+ dir_path: 'optional path to dir defaults to .',
132
+ git_repo_root_uri: 'optional http uri of git repo scanned'
133
+ )
134
+
135
+ #{self}.authors
136
+ "
137
+ end
138
+ end
139
+ end
140
+ end
data/lib/pwn/sast.rb CHANGED
@@ -29,6 +29,7 @@ module PWN
29
29
  autoload :Logger, 'pwn/sast/logger'
30
30
  autoload :MD5, 'pwn/sast/md5'
31
31
  autoload :OuterHTML, 'pwn/sast/outer_html'
32
+ autoload :PaddingOracle, 'pwn/sast/padding_oracle'
32
33
  autoload :Password, 'pwn/sast/password'
33
34
  autoload :PHPInputMechanisms, 'pwn/sast/php_input_mechanisms'
34
35
  autoload :PHPTypeJuggling, 'pwn/sast/php_type_juggling'
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.932'
4
+ VERSION = '0.4.933'
5
5
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::SAST::PaddingOracle do
6
+ it 'scan method should exist' do
7
+ scan_response = PWN::SAST::PaddingOracle
8
+ expect(scan_response).to respond_to :scan
9
+ end
10
+
11
+ it 'should display information for security_references' do
12
+ security_references_response = PWN::SAST::PaddingOracle
13
+ expect(security_references_response).to respond_to :security_references
14
+ end
15
+
16
+ it 'should display information for authors' do
17
+ authors_response = PWN::SAST::PaddingOracle
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::PaddingOracle
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.932
4
+ version: 0.4.933
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-30 00:00:00.000000000 Z
11
+ date: 2023-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.1.1
19
+ version: 7.1.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 7.1.1
26
+ version: 7.1.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: anemone
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 3.1.0
61
+ version: 3.2.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 3.1.0
68
+ version: 3.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: barby
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.4.21
117
+ version: 2.4.22
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.4.21
124
+ version: 2.4.22
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler-audit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - '='
214
214
  - !ruby/object:Gem::Version
215
- version: 3.2.1
215
+ version: 3.2.2
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - '='
221
221
  - !ruby/object:Gem::Version
222
- version: 3.2.1
222
+ version: 3.2.2
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: faye-websocket
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -436,14 +436,14 @@ dependencies:
436
436
  requirements:
437
437
  - - '='
438
438
  - !ruby/object:Gem::Version
439
- version: 2.19.2
439
+ version: 2.19.3
440
440
  type: :runtime
441
441
  prerelease: false
442
442
  version_requirements: !ruby/object:Gem::Requirement
443
443
  requirements:
444
444
  - - '='
445
445
  - !ruby/object:Gem::Version
446
- version: 2.19.2
446
+ version: 2.19.3
447
447
  - !ruby/object:Gem::Dependency
448
448
  name: msfrpc-client
449
449
  requirement: !ruby/object:Gem::Requirement
@@ -534,14 +534,14 @@ dependencies:
534
534
  requirements:
535
535
  - - '='
536
536
  - !ruby/object:Gem::Version
537
- version: 1.15.4
537
+ version: 1.15.5
538
538
  type: :runtime
539
539
  prerelease: false
540
540
  version_requirements: !ruby/object:Gem::Requirement
541
541
  requirements:
542
542
  - - '='
543
543
  - !ruby/object:Gem::Version
544
- version: 1.15.4
544
+ version: 1.15.5
545
545
  - !ruby/object:Gem::Dependency
546
546
  name: nokogiri-diff
547
547
  requirement: !ruby/object:Gem::Requirement
@@ -576,14 +576,14 @@ dependencies:
576
576
  requirements:
577
577
  - - '='
578
578
  - !ruby/object:Gem::Version
579
- version: 0.1.2
579
+ version: 0.2.0
580
580
  type: :runtime
581
581
  prerelease: false
582
582
  version_requirements: !ruby/object:Gem::Requirement
583
583
  requirements:
584
584
  - - '='
585
585
  - !ruby/object:Gem::Version
586
- version: 0.1.2
586
+ version: 0.2.0
587
587
  - !ruby/object:Gem::Dependency
588
588
  name: os
589
589
  requirement: !ruby/object:Gem::Requirement
@@ -716,14 +716,14 @@ dependencies:
716
716
  requirements:
717
717
  - - '='
718
718
  - !ruby/object:Gem::Version
719
- version: 6.5.0
719
+ version: 6.6.0
720
720
  type: :development
721
721
  prerelease: false
722
722
  version_requirements: !ruby/object:Gem::Requirement
723
723
  requirements:
724
724
  - - '='
725
725
  - !ruby/object:Gem::Version
726
- version: 6.5.0
726
+ version: 6.6.0
727
727
  - !ruby/object:Gem::Dependency
728
728
  name: rest-client
729
729
  requirement: !ruby/object:Gem::Requirement
@@ -926,14 +926,14 @@ dependencies:
926
926
  requirements:
927
927
  - - '='
928
928
  - !ruby/object:Gem::Version
929
- version: 0.118.0
929
+ version: 0.119.0
930
930
  type: :runtime
931
931
  prerelease: false
932
932
  version_requirements: !ruby/object:Gem::Requirement
933
933
  requirements:
934
934
  - - '='
935
935
  - !ruby/object:Gem::Version
936
- version: 0.118.0
936
+ version: 0.119.0
937
937
  - !ruby/object:Gem::Dependency
938
938
  name: serialport
939
939
  requirement: !ruby/object:Gem::Requirement
@@ -1010,14 +1010,14 @@ dependencies:
1010
1010
  requirements:
1011
1011
  - - '='
1012
1012
  - !ruby/object:Gem::Version
1013
- version: 1.6.7
1013
+ version: 1.6.9
1014
1014
  type: :runtime
1015
1015
  prerelease: false
1016
1016
  version_requirements: !ruby/object:Gem::Requirement
1017
1017
  requirements:
1018
1018
  - - '='
1019
1019
  - !ruby/object:Gem::Version
1020
- version: 1.6.7
1020
+ version: 1.6.9
1021
1021
  - !ruby/object:Gem::Dependency
1022
1022
  name: thin
1023
1023
  requirement: !ruby/object:Gem::Requirement
@@ -1108,14 +1108,14 @@ dependencies:
1108
1108
  requirements:
1109
1109
  - - '='
1110
1110
  - !ruby/object:Gem::Version
1111
- version: 5.1.0
1111
+ version: 5.1.1
1112
1112
  type: :runtime
1113
1113
  prerelease: false
1114
1114
  version_requirements: !ruby/object:Gem::Requirement
1115
1115
  requirements:
1116
1116
  - - '='
1117
1117
  - !ruby/object:Gem::Version
1118
- version: 5.1.0
1118
+ version: 5.1.1
1119
1119
  - !ruby/object:Gem::Dependency
1120
1120
  name: whois-parser
1121
1121
  requirement: !ruby/object:Gem::Requirement
@@ -1772,6 +1772,7 @@ files:
1772
1772
  - lib/pwn/sast/logger.rb
1773
1773
  - lib/pwn/sast/md5.rb
1774
1774
  - lib/pwn/sast/outer_html.rb
1775
+ - lib/pwn/sast/padding_oracle.rb
1775
1776
  - lib/pwn/sast/password.rb
1776
1777
  - lib/pwn/sast/php_input_mechanisms.rb
1777
1778
  - lib/pwn/sast/php_type_juggling.rb
@@ -2086,6 +2087,7 @@ files:
2086
2087
  - spec/lib/pwn/sast/logger_spec.rb
2087
2088
  - spec/lib/pwn/sast/md5_spec.rb
2088
2089
  - spec/lib/pwn/sast/outer_html_spec.rb
2090
+ - spec/lib/pwn/sast/padding_oracle_spec.rb
2089
2091
  - spec/lib/pwn/sast/password_spec.rb
2090
2092
  - spec/lib/pwn/sast/php_input_mechanisms_spec.rb
2091
2093
  - spec/lib/pwn/sast/php_type_juggling_spec.rb
@@ -2182,7 +2184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2182
2184
  - !ruby/object:Gem::Version
2183
2185
  version: '0'
2184
2186
  requirements: []
2185
- rubygems_version: 3.4.21
2187
+ rubygems_version: 3.4.22
2186
2188
  signing_key:
2187
2189
  specification_version: 4
2188
2190
  summary: Automated Security Testing for CI/CD Pipelines & Beyond