Skip to content

Commit 29aa301

Browse files
Version 0.6.1 - August 2, 2025
Changelog: * Updated version from 0.5.5 to 0.6.1 * Improved SSL/TLS security with comprehensive cipher suite support (TLSv1, TLSv1.1, TLSv1.2, SSLv3, SSLv2) - Added SSL_ATTRIBUTES constant for verify_mode - Replaced dynamic SSL parameter collection with explicit SSLContext configuration - Set verify_mode to VERIFY_NONE for maximum compatibility - Enabled negotiation of all SSL/TLS versions including legacy SSLv2/SSLv3 * Enhanced HTTPS connection handling with optimized verification settings - Cleared minimum version restrictions and disabled protocol exclusion flags - Added fallback handling for different OpenSSL configurations * Added dual-protocol feature: simple hostnames (without paths or ports) are now scanned using both HTTP and HTTPS protocols - Automatically creates and tests both HTTP and HTTPS versions of simple hostnames - Shows informational message when dual-protocol scanning is performed - Intelligently detects and avoids duplicate URL scanning with redirect handling * Added robust input validation and error handling - Automatically aborts processing after 10 consecutive parsing errors - Prevents wasted resources when processing invalid data sources - Provides helpful error messages to guide users in troubleshooting input issues - Handles various error cases including malformed URLs and non-URL input data * Improved dependency management with Bundler group support - Reorganized Gemfile with proper optional group definitions for mongo and rchardet - Added clear installation instructions for optional dependencies - Set explicit version constraints for test dependencies - Added support for older Bundler versions through GEMFILE_GROUPS environment variable * Expanded documentation for optional dependencies - Added detailed installation instructions for MongoDB support - Added clear steps for character set detection configuration - Provided combined installation commands for all optional features - Improved explanation of performance implications This release introduces three new search contexts for plugin authors to use: - uri.path - uri.query - uri.extension An example of how to use this is from the PHP plugin. ``` { :name=>"File extension", :regexp=>/^(php|phtml|php3|php4|php5|phps)$/, :search=>"uri.extension" } ``` * #311 - JSON Logging fails... UTF-8 can't modify frozen String (@juananpe) * Refactored Helper::convert_to_utf8. Droped Ruby 2.0 support (@urbanadventurer) * Added new search contexts for plugins: uri.path, uri.query, uri.extension (@urbanadventurer) * Plex Media Server (@urbanadventurer) * Meta-Facebook-Infrastructure (@urbanadventurer) * Netflix-Platform (@urbanadventurer) * VKontakte-Platform (@urbanadventurer) * Distributed-Tracing (@urbanadventurer) * Modern-Security-Headers (@urbanadventurer) * Baidu-Platform (@urbanadventurer) * Alibaba-Aliyun (@urbanadventurer) * Weibo-Platform (@urbanadventurer) * Adobe-Flash (@urbanadventurer) * ASP_NET (@urbanadventurer) * ColdFusion (@urbanadventurer) * Drupal (@gboddin) * Java (@urbanadventurer) * Perl (@urbanadventurer) * PHP (@urbanadventurer) * Python (@urbanadventurer) * Ruby (@urbanadventurer) * TYPO3 (@definity) * WordPress (@juananpe) * Shopify (enhanced HTTP header detection) (@urbanadventurer) * CloudFlare (enhanced with CF-RAY and other headers) (@urbanadventurer) * CloudFront (renamed to Amazon-CloudFront and enhanced) (@urbanadventurer) * Tengine Web Server (added Alibaba-specific headers) (@urbanadventurer) * Content-Security-Policy (added modern CSP headers) (@urbanadventurer) * Azure (renamed to Microsoft-Azure and enhanced) (@urbanadventurer)
1 parent a0038e8 commit 29aa301

33 files changed

+480
-77
lines changed

CHANGELOG.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
1-
Version 0.5.6 - ?, 2021
1+
Version 0.6.1 - August 2, 2025
2+
3+
Changelog:
4+
* Updated version from 0.5.5 to 0.6.1
5+
* Improved SSL/TLS security with comprehensive cipher suite support (TLSv1, TLSv1.1, TLSv1.2, SSLv3, SSLv2)
6+
- Added SSL_ATTRIBUTES constant for verify_mode
7+
- Replaced dynamic SSL parameter collection with explicit SSLContext configuration
8+
- Set verify_mode to VERIFY_NONE for maximum compatibility
9+
- Enabled negotiation of all SSL/TLS versions including legacy SSLv2/SSLv3
10+
* Enhanced HTTPS connection handling with optimized verification settings
11+
- Cleared minimum version restrictions and disabled protocol exclusion flags
12+
- Added fallback handling for different OpenSSL configurations
13+
* Added dual-protocol feature: simple hostnames (without paths or ports) are now scanned using both HTTP and HTTPS protocols
14+
- Automatically creates and tests both HTTP and HTTPS versions of simple hostnames
15+
- Shows informational message when dual-protocol scanning is performed
16+
- Intelligently detects and avoids duplicate URL scanning with redirect handling
17+
* Added robust input validation and error handling
18+
- Automatically aborts processing after 10 consecutive parsing errors
19+
- Prevents wasted resources when processing invalid data sources
20+
- Provides helpful error messages to guide users in troubleshooting input issues
21+
- Handles various error cases including malformed URLs and non-URL input data
222

323
This release introduces three new search contexts for plugin authors to use:
424
- uri.path
@@ -21,6 +41,14 @@ An example of how to use this is from the PHP plugin.
2141

2242
## NEW PLUGINS
2343
* Plex Media Server (@urbanadventurer)
44+
* Meta-Facebook-Infrastructure (@urbanadventurer)
45+
* Netflix-Platform (@urbanadventurer)
46+
* VKontakte-Platform (@urbanadventurer)
47+
* Distributed-Tracing (@urbanadventurer)
48+
* Modern-Security-Headers (@urbanadventurer)
49+
* Baidu-Platform (@urbanadventurer)
50+
* Alibaba-Aliyun (@urbanadventurer)
51+
* Weibo-Platform (@urbanadventurer)
2452

2553
## PLUGIN UPDATES
2654
* Adobe-Flash (@urbanadventurer)
@@ -34,6 +62,13 @@ An example of how to use this is from the PHP plugin.
3462
* Ruby (@urbanadventurer)
3563
* TYPO3 (@definity)
3664
* WordPress (@juananpe)
65+
* Shopify (enhanced HTTP header detection) (@urbanadventurer)
66+
* CloudFlare (enhanced with CF-RAY and other headers) (@urbanadventurer)
67+
* CloudFront (renamed to Amazon-CloudFront and enhanced) (@urbanadventurer)
68+
* Tengine Web Server (added Alibaba-specific headers) (@urbanadventurer)
69+
* Content-Security-Policy (added modern CSP headers) (@urbanadventurer)
70+
* Azure (renamed to Microsoft-Azure and enhanced) (@urbanadventurer)
71+
3772

3873

3974
Version 0.5.5 - January 16, 2021

Gemfile

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,24 @@ gem 'addressable'
1616
gem 'json'
1717

1818
# MongoDB logging - optional
19-
group :mongo do
20-
#gem 'mongo'
21-
#gem 'rchardet'
19+
# To use: bundle install --with mongo
20+
group :mongo, optional: true do
21+
gem 'mongo'
22+
gem 'rchardet'
2223
end
2324

2425
# Character set detection - optional
25-
group :rchardet do
26-
#gem 'rchardet'
26+
# To use: bundle install --with rchardet
27+
group :rchardet, optional: true do
28+
gem 'rchardet'
2729
end
2830

2931
# Development dependencies required for tests
3032
group :test do
3133
gem 'rake'
32-
gem 'minitest'
33-
gem 'rubocop'
34+
# Support both older and newer Ruby versions
35+
gem 'minitest', '>= 5.14.2', '< 6.0'
36+
gem 'rubocop', '~> 1.0'
3437
gem 'rdoc'
3538
gem 'bundler-audit'
3639
gem 'simplecov', require: false

README.md

Lines changed: 72 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
[![License](https://img.shields.io/badge/license-GPLv2-brightgreen.svg)](https://raw.githubusercontent.com/urbanadventurer/whatweb/master/LICENSE) ![Stable Release](https://img.shields.io/badge/stable_release-0.5.5-blue.svg) ![WhatWeb Plugins](https://img.shields.io/badge/plugins-1824-brightgreen.svg) [![Repositories](https://repology.org/badge/tiny-repos/whatweb.svg)](https://repology.org/project/whatweb/versions)
1+
[![License](https://img.shields.io/badge/license-GPLv2-brightgreen.svg)](https://raw.githubusercontent.com/urbanadventurer/whatweb/master/LICENSE) ![Stable Release](https://img.shields.io/badge/stable_release-0.6.1-blue.svg) ![WhatWeb Plugins](https://img.shields.io/badge/plugins-1824-brightgreen.svg) [![Repositories](https://repology.org/badge/tiny-repos/whatweb.svg)](https://repology.org/project/whatweb/versions)
22

33
![logo](https://morningstarsecurity.com/wp-content/uploads/2019/02/WhatWeb-Logo-800px.png "WhatWeb Logo")
44

55
# WhatWeb - Next generation web scanner
66
Developed by Andrew Horton [urbanadventurer](https://github.com/urbanadventurer/) and Brendan Coles [bcoles](https://github.com/bcoles/)
77

8-
Latest Release: v0.5.5. January 16, 2021
8+
Latest Release: v0.6.1. August 2, 2025
99

1010
License: GPLv2
1111

@@ -55,6 +55,7 @@ Most WhatWeb plugins are thorough and recognise a range of cues from subtle to o
5555
* Result certainty awareness
5656
* Custom plugins defined on the command line
5757
* IDN (International Domain Name) support
58+
* Dual-protocol scanning for simple hostnames (automatically tests both HTTP and HTTPS)
5859

5960
## Example Usage
6061

@@ -78,7 +79,7 @@ $::$ . $$$ $::$ $$$ $::$ $$$ $::$ $::$ . $$$ $::$ $::$ $$$$
7879
$;;$ $$$ $$$ $;;$ $$$ $;;$ $$$ $;;$ $;;$ $$$ $$$ $;;$ $;;$ $$$$
7980
$$$$$$ $$$$$ $$$$ $$$ $$$$ $$$ $$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'
8081
81-
WhatWeb - Next generation web scanner version 0.5.5.
82+
WhatWeb - Next generation web scanner version 0.6.1.
8283
Developed by Andrew Horton (urbanadventurer) and Brendan Coles (bcoles)
8384
Homepage: https://morningstarsecurity.com/research/whatweb
8485
@@ -109,7 +110,7 @@ AGGRESSION:
109110
all plugins are used for all URLs.
110111
111112
HTTP OPTIONS:
112-
--user-agent, -U=AGENT Identify as AGENT instead of WhatWeb/0.5.5.
113+
--user-agent, -U=AGENT Identify as AGENT instead of WhatWeb/0.6.1.
113114
--header, -H Add an HTTP header. eg "Foo:Bar". Specifying a default
114115
header will replace it. Specifying an empty value, eg.
115116
"User-Agent:" will remove the header.
@@ -193,7 +194,7 @@ HELP & MISCELLANEOUS:
193194
--short-help Short usage help.
194195
--help, -h Complete usage help.
195196
--debug Raise errors in plugins.
196-
--version Display version information. (WhatWeb 0.5.5).
197+
--version Display version information. (WhatWeb 0.6.1).
197198
198199
EXAMPLE USAGE:
199200
* Scan example.com.
@@ -360,12 +361,52 @@ Character set detection, with the Charset plugin dramatically decreases performa
360361

361362
## Optional Dependencies
362363

363-
To enable MongoDB logging install the mongo gem.
364-
gem install mongo
364+
WhatWeb supports optional dependencies for MongoDB logging and character set detection.
365365

366-
To enable character set detection and MongoDB logging install the rchardet gem.
367-
gem install rchardet
368-
cp plugins-disabled/charset.rb my-plugins/
366+
Optional dependencies is why the Gemfile is split into groups and WhatWeb does not come with a Gemfile.lock. Should you want a Gemfile.lock, it will be created when you run `bundle install`.
367+
368+
You can install them using Bundler groups:
369+
370+
### MongoDB Support
371+
372+
To enable MongoDB logging:
373+
374+
```bash
375+
# Install dependencies
376+
bundle install --with mongo
377+
378+
# If you're using an older version of Bundler
379+
GEMFILE_GROUPS="default mongo" bundle install
380+
```
381+
382+
### Character Set Detection
383+
384+
To enable character set detection (required for JSON and MongoDB logging):
385+
386+
```bash
387+
# Install dependencies
388+
bundle install --with rchardet
389+
390+
# If you're using an older version of Bundler
391+
GEMFILE_GROUPS="default rchardet" bundle install
392+
393+
# Copy the charset plugin
394+
cp plugins-disabled/charset.rb my-plugins/
395+
```
396+
397+
### All Optional Dependencies
398+
399+
To install all optional dependencies at once:
400+
401+
```bash
402+
# Install all optional groups
403+
bundle install --with mongo rchardet
404+
405+
# If you're using an older version of Bundler
406+
GEMFILE_GROUPS="default mongo rchardet" bundle install
407+
```
408+
409+
Note: Character set detection dramatically decreases performance by requiring more CPU. Only enable it if you need it.
369410

370411
## Writing Plugins
371412

@@ -392,7 +433,7 @@ Browse the wiki for more documentation and advanced usage techniques.
392433

393434
## Release History
394435

395-
- Version 0.5.5 Released January 16th, 2021
436+
- Version 0.6.1 Released July 30th, 2025
396437
- Version 0.5.4 Released December 14th, 2020
397438
- Version 0.5.3 Released October 1st, 2020
398439
- Version 0.5.2 Released June 9th, 2020
@@ -462,34 +503,38 @@ Thank you to the following people who have contributed to WhatWeb.
462503
+ @iGeek098
463504
+ @andreas-becker
464505
+ @csalazar
465-
+ @golewski
466-
+ @Allactaga
506+
+ Igor Rzegocki (@ajgon)
507+
+ @juananpe
467508
+ @lins05
468-
+ @eliasdorneles
469-
+ @sigit
470-
+ dewanto
471-
+ @elcodigok
472-
+ @SlivTaMere
473509
+ @anozoozian
474510
+ Bhavin Senjaliya (@bhavin1223)
475-
+ Janosch Maier (@Phylu)
476-
+ @rmaksimov
511+
+ Chad Brigance (@ChadBrigance)
512+
+ Daniel Maldonado
513+
+ Elias Dorneles (@eliasdorneles)
514+
+ Eugene Amirov
515+
+ Gregory Boddin (@gboddin)
516+
+ Guillaume Delacour
517+
+ Janosch Maier (@phylu)
518+
+ Max Davitt (@themaxdavitt)
477519
+ Naglis Jonaitis (@naglis)
478-
+ Igor Rzegocki (@ajgon)
520+
+ Shuai Lin
521+
+ Sigit Dewanto (@sigit)
522+
+ @wh1tenoise
523+
+ @golewski
524+
+ @Allactaga
525+
+ @elcodigok
526+
+ @SlivTaMere
527+
+ @rmaksimov
479528
+ Melvil Guillaume (@mguillau42)
480-
+ @LrsK
481-
+ Janosch Maier (@phylu)
529+
+ @LrsK
482530
+ @abenson
483531
+ @blshkv
484532
+ Weidsom Nascimento (@weidsom)
485-
+ Marcelo Gimenes @cgimenes
533+
+ Marcelo Gimenes (@cgimenes)
486534
+ @xambroz
487535
+ Baptiste Fontaine (@bfontaine)
488-
+ @juananpe
489536
+ @definity
490537
+ @huntertl
491-
+ Max Davitt (@themaxdavitt)
492-
+ Gregory Boddin (@gboddin)
493538

494539
It is difficult to keep track of all the people who have contributed to WhatWeb. If your name is missing then please let me know.
495540

addons/verify-nikto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
# Verify Nikto logs
3-
# Copyright 2014, Andrew Horton
3+
# Copyright 2014 to 2025, Andrew Horton
44
VERSION=0.1b
55

66
if [ -z "$1" ]; then

lib/colour.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

lib/helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

lib/http-status.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

lib/logging.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

lib/logging/errors.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

lib/plugin_support.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2009 to 2020 Andrew Horton and Brendan Coles
1+
# Copyright 2009 to 2025 Andrew Horton and Brendan Coles
22
#
33
# This file is part of WhatWeb.
44
#

0 commit comments

Comments
 (0)