paraxial 1.2.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/paraxial/initializers/startup.rb +1 -1
- data/lib/paraxial/version.rb +1 -1
- data/lib/paraxial.rb +32 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: baa2ee1790a37ff9ba35dabce992774e0a7d1090e6b5ffd9fb24fcc3eefd037c
|
4
|
+
data.tar.gz: 8d454295bf64117f57e9df2c90a3cb6e888b291f0d40d101b3b264c02cbc7b8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8406bf6da59a65c52c31b5dd2fa7c967924a4f6de9a6a6b1695877a01643ebc8e08d79e7f6cf53f5a95bf5af495dac550fdefbf6d28f98957afb8b1a34c46cac
|
7
|
+
data.tar.gz: f5327f15ba804a0a50fa3575fee33dd6db99cb99c0e1ab58aa22cd5248e9d169d3fe5c8c66e991d5dec18ca66640b1697e7ef86622381fbe0201a6c672aa862b
|
@@ -7,7 +7,7 @@ require_relative '../free_tier'
|
|
7
7
|
|
8
8
|
Bundler.setup
|
9
9
|
|
10
|
-
unless Rails.env.test? || File.basename($0) == 'rake' ||
|
10
|
+
unless Rails.env.test? || File.basename($0) == 'rake' || Paraxial.do_not_start?
|
11
11
|
Rails.application.config.to_prepare do
|
12
12
|
puts "[Paraxial] v#{Paraxial::VERSION} Agent starting..."
|
13
13
|
api_key = Paraxial::Helpers.get_api_key
|
data/lib/paraxial/version.rb
CHANGED
data/lib/paraxial.rb
CHANGED
@@ -21,17 +21,26 @@ module Paraxial
|
|
21
21
|
class Error < StandardError; end
|
22
22
|
# Your code goes here...
|
23
23
|
|
24
|
-
class
|
25
|
-
|
24
|
+
class PHPAttackMiddleware
|
25
|
+
VALID_LENGTHS = [:hour, :day, :week, :infinity]
|
26
|
+
|
27
|
+
def initialize(app, length: :hour)
|
26
28
|
@app = app
|
29
|
+
if VALID_LENGTHS.include?(length)
|
30
|
+
@ban_length = length
|
31
|
+
else
|
32
|
+
puts "[Paraxial] PHPAttackMiddleware invalid ban length: #{length}, using hour"
|
33
|
+
@ban_length = :hour
|
34
|
+
end
|
27
35
|
end
|
28
36
|
|
29
37
|
def call(env)
|
30
|
-
|
38
|
+
request = ActionDispatch::Request.new(env)
|
31
39
|
|
32
|
-
if
|
40
|
+
if request.path.downcase.end_with?('.php')
|
41
|
+
Paraxial.ban_ip_msg(request.remote_ip, @ban_length, "Sent request ending in .php")
|
33
42
|
# Return a 404 response if the request path ends with '.php'
|
34
|
-
[404, { 'Content-Type' => 'text/plain' }, ['Not Found
|
43
|
+
[404, { 'Content-Type' => 'text/plain' }, ['Not Found']]
|
35
44
|
else
|
36
45
|
# Pass the request to the next middleware or the application
|
37
46
|
@app.call(env)
|
@@ -167,7 +176,7 @@ module Paraxial
|
|
167
176
|
|
168
177
|
def self.check_exploit_guard
|
169
178
|
if configuration.nil?
|
170
|
-
puts "[Paraxial] Exploit Guard, no configuration exists, will not run"
|
179
|
+
# puts "[Paraxial] Exploit Guard, no configuration exists, will not run"
|
171
180
|
return
|
172
181
|
end
|
173
182
|
|
@@ -190,4 +199,21 @@ module Paraxial
|
|
190
199
|
@exploit_guard = nil
|
191
200
|
end
|
192
201
|
end
|
202
|
+
|
203
|
+
def self.do_not_start?
|
204
|
+
defined?(Rails::Command::CredentialsCommand) ||
|
205
|
+
defined?(Rails::Command::Db::System::ChangeCommand) ||
|
206
|
+
defined?(Rails::Command::DbConsoleCommand) ||
|
207
|
+
defined?(Rails::Command::DestroyCommand) ||
|
208
|
+
defined?(Rails::Command::DevCommand) ||
|
209
|
+
defined?(Rails::Command::EncryptedCommand) ||
|
210
|
+
defined?(Rails::Command::GenerateCommand) ||
|
211
|
+
defined?(Rails::Command::InitializersCommand) ||
|
212
|
+
defined?(Rails::Command::NotesCommand) ||
|
213
|
+
defined?(Rails::Command::RoutesCommand) ||
|
214
|
+
defined?(Rails::Command::RunnerCommand) ||
|
215
|
+
defined?(Rails::Command::SecretsCommand) ||
|
216
|
+
defined?(Rails::Command::AboutCommand) ||
|
217
|
+
defined?(Rails::Command::DbconsoleCommand)
|
218
|
+
end
|
193
219
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paraxial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Lubas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-11-
|
11
|
+
date: 2024-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
rubygems_version: 3.5.
|
136
|
+
rubygems_version: 3.5.23
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: Paraxial.io Ruby Agent
|