pwn 0.4.932 → 0.4.933

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: 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