Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
ronin-vulns is a Ruby library for blind vulnerability testing. It currently supports testing for Local File Inclusion (LFI), Remote File Inclusion (RFI), SQL injection (SQLi), reflective Cross Site Scripting (XSS), Server Side Template Injection (SSTI), and Open Redirects.
ronin-vulns is part of the ronin-rb project, a Ruby toolkit for security research and development.
Cookie
parameters.Usage: ronin-vulns [options] [COMMAND [ARGS...]]
Options:
-h, --help Print help information
Arguments:
[COMMAND] The command name to run
[ARGS ...] Additional arguments for the command
Commands:
completion
help
irb
lfi
open-redirect
reflected-xss, xss
rfi
scan
sqli
ssti
Test a URL for any web vulnerabilities:
$ ronin-vulns scan "http://www.example.com/page.php?lang=en"
Test a URL for Remote File Inclusion (RFI):
$ ronin-vulns rfi "http://www.example.com/page.php?lang=en"
Test a URL for Local File Inclusion (LFI):
$ ronin-vulns lfi "http://www.example.com/page.php?lang=en"
Test a URL for SQL injection (SQLi):
$ ronin-vulns sqli "http://www.example.com/page.php?lang=en"
Test a URL for Server Side Template Injection (SSTI):
$ ronin-vulns sqli "http://www.example.com/page.php?lang=en"
Test a URL for Open Redirects:
$ ronin-vulns open-redirect "http://www.example.com/page.php?lang=en"
Test a URL for reflected Cross Site Scripting (XSS):
$ ronin-vulns reflected-xss "http://www.example.com/page.php?lang=en"
Test a URL for any web vulnerability:
require 'ronin/vulns/url_scanner'
vuln = Ronin::Vulns::URLScanner.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::SQLI: ...>
Scan a URL for all web vulnerabilities:
require 'ronin/vulns/url_scanner'
vulns = Ronin::Vulns::URLScanner.scan('http://www.example.com/page.php?lang=en')
do |vuln|
puts "Found #{vuln.class} on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::SQLI: ...>, #<Ronin::Vulns::ReflectedXSS: ...>, ...]
Test a URL for Remote File Inclusion (RFI):
require 'ronin/vulns/rfi'
vuln = Ronin::Vulns::RFI.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::RFI: ...>
Finds all Remote File Inclusion (RFI) vulnerabilities for a given URL:
vulns = Ronin::Vulns::RFI.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::RFI: ...>, ...]
vulns = Ronin::Vulns::RFI.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found RFI on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::RFI: ...>, ...]
Test a URL for Local File Inclusion (LFI):
require 'ronin/vulns/lfi'
vuln = Ronin::Vulns::LFI.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::LFI: ...>
Finds all Local File Inclusion (LFI) vulnerabilities for a given URL:
vulns = Ronin::Vulns::LFI.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::LFI: ...>, ...]
vulns = Ronin::Vulns::LFI.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found LFI on #{vuln.url} query param #{vuln.query_param}"
end
Test a URL for SQL Injection (SQLi):
require 'ronin/vulns/sqli'
vuln = Ronin::Vulns::SQLI.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::SQLI: ...>
Finds all Server Side Template Injection (SQLI) vulnerabilities for a given URL:
vulns = Ronin::Vulns::SQLI.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::SQLI: ...>, ...]
vulns = Ronin::Vulns::SQLI.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found SQLi on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::SQLI: ...>, ...]
Test a URL for Server Side Template Injection (SSTI):
require 'ronin/vulns/ssti'
vuln = Ronin::Vulns::SSTI.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::SSTI: ...>
Finds all Server Side Template Injection (SSTI) vulnerabilities for a given URL:
vulns = Ronin::Vulns::SSTI.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::SSTI: ...>, ...]
vulns = Ronin::Vulns::SSTI.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found SSTI on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::SSTI: ...>, ...]
Test a URL for an (Reflected) Cross Site Scripting (XSS) vulnerability:
require 'ronin/vulns/reflected_xss'
vuln = Ronin::Vulns::ReflectedXSS.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::ReflectedXSS: ...>
Finds all (Reflected) Cross Site Scripting (XSS) vulnerabilities for a given URL:
vulns = Ronin::Vulns::ReflectedXSS.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::ReflectedXSS: ...>, ...]
vulns = Ronin::Vulns::ReflectedXSS.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found ReflectedXSS on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::ReflectedXSS: ...>, ...]
Test a URL for an Open Redirect vulnerability:
require 'ronin/vulns/open_redirect'
vuln = Ronin::Vulns::OpenRedirect.test('http://www.example.com/page.php?lang=en')
# => #<Ronin::Vulns::OpenRedirect: ...>
Finds all Open Redirect vulnerabilities for a given URL:
vulns = Ronin::Vulns::OpenRedirect.scan('http://www.example.com/page.php?lang=en')
# => [#<Ronin::Vulns::OpenRedirect: ...>, ...]
vulns = Ronin::Vulns::OpenRedirect.scan('http://www.example.com/page.php?lang=en') do |vuln|
puts "Found OpenRedirect on #{vuln.url} query param #{vuln.query_param}"
end
# => [#<Ronin::Vulns::OpenRedirect: ...>, ...]
$ gem install ronin-vulns
gem 'ronin-vulns', '~> 0.1'
gem.add_dependency 'ronin-vulns', '~> 0.1'
cd ronin-vulns/
./scripts/setup
git checkout -b my_feature
bundle exec rake spec
git push origin my_feature
Copyright (c) 2022-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
ronin-vulns is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ronin-vulns is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with ronin-vulns. If not, see https://www.gnu.org/licenses/.
FAQs
Unknown package
We found that ronin-vulns demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.