تم تطويره بواسطة أندرو هورتون Urbanadventurer وBrendan Coles bcoles
أحدث إصدار: v0.5.5. 16 يناير 2021
الترخيص: GPLv2
يخضع هذا المنتج للشروط المفصلة في اتفاقية الترخيص. لمزيد من المعلومات حول زيارة WhatWeb:
الصفحة الرئيسية: https://morningstarsecurity.com/research/whatweb
ويكي: https://github.com/urbanadventurer/WhatWeb/wiki/
إذا كانت لديك أية أسئلة أو تعليقات أو مخاوف بشأن WhatWeb، فيرجى الرجوع إلى الوثائق قبل الاتصال بأحد المطورين. ملاحظاتك هي دائما موضع ترحيب.
يحدد WhatWeb مواقع الويب. هدفها هو الإجابة على السؤال "ما هو هذا الموقع؟". يتعرف WhatWeb على تقنيات الويب بما في ذلك أنظمة إدارة المحتوى (CMS)، ومنصات التدوين، وحزم الإحصائيات/التحليلات، ومكتبات JavaScript، وخوادم الويب، والأجهزة المدمجة. يحتوي WhatWeb على أكثر من 1800 مكون إضافي، كل منها يتعرف على شيء مختلف. يحدد WhatWeb أيضًا أرقام الإصدارات وعناوين البريد الإلكتروني ومعرفات الحساب ووحدات إطار عمل الويب وأخطاء SQL والمزيد.
يمكن أن يكون WhatWeb متخفيًا وسريعًا، أو شاملاً ولكنه بطيء. يدعم WhatWeb مستوى العدوان للتحكم في المفاضلة بين السرعة والموثوقية. عند زيارتك لموقع ويب في متصفحك، تتضمن المعاملة العديد من التلميحات حول تقنيات الويب التي تعمل على تشغيل هذا الموقع. في بعض الأحيان، تحتوي زيارة صفحة ويب واحدة على معلومات كافية لتحديد موقع ويب، ولكن عندما لا يحدث ذلك، يمكن لـ WhatWeb استجواب موقع الويب بشكل أكبر. المستوى الافتراضي للعدوان، المسمى "التخفي"، هو الأسرع ويتطلب طلب HTTP واحدًا فقط من موقع الويب. هذا مناسب لفحص المواقع العامة. تم تطوير أوضاع أكثر عدوانية لاستخدامها في اختبارات الاختراق.
تعتبر معظم المكونات الإضافية لـ WhatWeb شاملة وتتعرف على مجموعة من الإشارات من الدقيقة إلى الواضحة. على سبيل المثال، يمكن التعرف على معظم مواقع WordPress من خلال علامة HTML التعريفية، على سبيل المثال ''، ولكن تقوم أقلية من مواقع WordPress بإزالة علامة التعريف هذه ولكن هذا لا يحبط WhatWeb. يحتوي المكون الإضافي WordPress WhatWeb على أكثر من 15 اختبارًا، والتي تتضمن التحقق من الرمز المفضل وملفات التثبيت الافتراضية وصفحات تسجيل الدخول والتحقق من "/wp-content/" ضمن الروابط النسبية.
استخدام WhatWeb لمسح reddit.com.
$ ./whatweb reddit.com
http://reddit.com [301 Moved Permanently] Country[UNITED STATES][US], HTTPServer[snooserv], IP[151.101.65.140], RedirectLocation[https://www.reddit.com/], UncommonHeaders[retry-after,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish]
https://www.reddit.com/ [200 OK] Cookies[edgebucket,eu_cookie_v2,loid,rabt,rseor3,session_tracker,token], Country[UNITED STATES][US], Email[[email protected],[email protected]], Frame, HTML5, HTTPServer[snooserv], HttpOnly[token], IP[151.101.37.140], Open-Graph-Protocol[website], Script[text/javascript], Strict-Transport-Security[max-age=15552000; includeSubDomains; preload], Title[reddit: the front page of the internet], UncommonHeaders[fastly-restarts,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish], X-Frame-Options[SAMEORIGIN]
.$$$ $. .$$$ $.
$$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$.
$ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$.
$ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$ `$$ $ `$ $$$ $ `$ $ `$ $$$'
$. $ $$$ $. $$$$$$ $. $$$$$$ `$ $. $ :' $. $ $$$ $. $$$$ $. $$$$$.
$::$ . $$$ $::$ $$$ $::$ $$$ $::$ $::$ . $$$ $::$ $::$ $$$$
$;;$ $$$ $$$ $;;$ $$$ $;;$ $$$ $;;$ $;;$ $$$ $$$ $;;$ $;;$ $$$$
$$$$$$ $$$$$ $$$$ $$$ $$$$ $$$ $$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'
WhatWeb - Next generation web scanner version 0.5.5.
Developed by Andrew Horton (urbanadventurer) and Brendan Coles (bcoles)
Homepage: https://morningstarsecurity.com/research/whatweb
Usage: whatweb [options] <URLs>
TARGET SELECTION:
<TARGETs> Enter URLs, hostnames, IP addresses, filenames or
IP ranges in CIDR, x.x.x-x, or x.x.x.x-x.x.x.x
format.
--input-file=FILE, -i Read targets from a file. You can pipe
hostnames or URLs directly with -i /dev/stdin.
TARGET MODIFICATION:
--url-prefix Add a prefix to target URLs.
--url-suffix Add a suffix to target URLs.
--url-pattern Insert the targets into a URL. Requires --input-file,
eg. www.example.com/%insert%/robots.txt
AGGRESSION:
The aggression level controls the trade-off between speed/stealth and
reliability.
--aggression, -a=LEVEL Set the aggression level. Default: 1.
Aggression levels are:
1. Stealthy Makes one HTTP request per target. Also follows redirects.
3. Aggressive If a level 1 plugin is matched, additional requests will be
made.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
HTTP OPTIONS:
--user-agent, -U=AGENT Identify as AGENT instead of WhatWeb/0.5.5.
--header, -H Add an HTTP header. eg "Foo:Bar". Specifying a default
header will replace it. Specifying an empty value, eg.
"User-Agent:" will remove the header.
--follow-redirect=WHEN Control when to follow redirects. WHEN may be `never',
`http-only', `meta-only', `same-site', or `always'.
Default: always.
--max-redirects=NUM Maximum number of contiguous redirects. Default: 10.
AUTHENTICATION:
--user, -u=<user:password> HTTP basic authentication.
--cookie, -c=COOKIES Provide cookies, e.g. 'name=value; name2=value2'.
--cookiejar=FILE Read cookies from a file.
PROXY:
--proxy <hostname[:port]> Set proxy hostname and port.
Default: 8080.
--proxy-user <username:password> Set proxy user and password.
PLUGINS:
--list-plugins, -l List all plugins.
--info-plugins, -I=[SEARCH] List all plugins with detailed information.
Optionally search with keywords in a comma
delimited list.
--search-plugins=STRING Search plugins for a keyword.
--plugins, -p=LIST Select plugins. LIST is a comma delimited set of
selected plugins. Default is all.
Each element can be a directory, file or plugin name and
can optionally have a modifier, eg. + or -
Examples: +/tmp/moo.rb,+/tmp/foo.rb
title,md5,+./plugins-disabled/
./plugins-disabled,-md5
-p + is a shortcut for -p +plugins-disabled.
--grep, -g=STRING|REGEXP Search for STRING or a Regular Expression. Shows
only the results that match.
Examples: --grep "hello"
--grep "/he[l]*o/"
--custom-plugin=DEFINITIONtDefine a custom plugin named Custom-Plugin,
--custom-plugin=DEFINITION Define a custom plugin named Custom-Plugin,
Examples: ":text=>'powered by abc'"
":version=>/powered[ ]?by ab[0-9]/"
":ghdb=>'intitle:abc "powered by abc"'"
":md5=>'8666257030b94d3bdb46e05945f60b42'"
--dorks=PLUGIN List Google dorks for the selected plugin.
OUTPUT:
--verbose, -v Verbose output includes plugin descriptions. Use twice
for debugging.
--colour,--color=WHEN control whether colour is used. WHEN may be `never',
`always', or `auto'.
--quiet, -q Do not display brief logging to STDOUT.
--no-errors Suppress error messages.
LOGGING:
--log-brief=FILE Log brief, one-line output.
--log-verbose=FILE Log verbose output.
--log-errors=FILE Log errors.
--log-xml=FILE Log XML format.
--log-json=FILE Log JSON format.
--log-sql=FILE Log SQL INSERT statements.
--log-sql-create=FILE Create SQL database tables.
--log-json-verbose=FILE Log JSON Verbose format.
--log-magictree=FILE Log MagicTree XML format.
--log-object=FILE Log Ruby object inspection format.
--log-mongo-database Name of the MongoDB database.
--log-mongo-collection Name of the MongoDB collection. Default: whatweb.
--log-mongo-host MongoDB hostname or IP address. Default: 0.0.0.0.
--log-mongo-username MongoDB username. Default: nil.
--log-mongo-password MongoDB password. Default: nil.
--log-elastic-index Name of the index to store results. Default: whatweb
--log-elastic-host Host:port of the elastic http interface. Default: 127.0.0.1:9200
PERFORMANCE & STABILITY:
--max-threads, -t Number of simultaneous threads. Default: 25.
--open-timeout Time in seconds. Default: 15.
--read-timeout Time in seconds. Default: 30.
--wait=SECONDS Wait SECONDS between connections.
This is useful when using a single thread.
HELP & MISCELLANEOUS:
--short-help Short usage help.
--help, -h Complete usage help.
--debug Raise errors in plugins.
--version Display version information. (WhatWeb 0.5.5).
EXAMPLE USAGE:
* Scan example.com.
./whatweb example.com
* Scan reddit.com slashdot.org with verbose plugin descriptions.
./whatweb -v reddit.com slashdot.org
* An aggressive scan of wired.com detects the exact version of WordPress.
./whatweb -a 3 www.wired.com
* Scan the local network quickly and suppress errors.
whatweb --no-errors 192.168.0.0/24
* Scan the local network for https websites.
whatweb --no-errors --url-prefix https:// 192.168.0.0/24
* Scan for crossdomain policies in the Alexa Top 1000.
./whatweb -i plugin-development/alexa-top-100.txt
--url-suffix /crossdomain.xml -p crossdomain_xml
يتم دعم أنواع التسجيل التالية:
يمكنك الإخراج إلى سجلات متعددة في وقت واحد عن طريق تحديد خيارات تسجيل سطر الأوامر المتعددة. يجب على المستخدمين المتقدمين الذين يريدون إخراج SQL قراءة التعليمات البرمجية المصدر لرؤية الميزات غير المدعومة.
تتم المباريات مع:
لسرد المكونات الإضافية المدعومة:
$ ./whatweb -l
Plugin Name - Description
--------------------------------------------------------------------------------
1024-CMS - 1024 is one of a few CMS's leading the way with the implementation...
360-Web-Manager - 360-Web-Manager
3COM-NBX - 3COM NBX phone system. The NBX NetSet utility is a web interface i...
3dcart - 3dcart - The 3dcart Shopping Cart Software is a complete ecommerce s...
4D - 4D web application deployment server
4images - 4images is a powerful web-based image gallery management system. Fe...
... (truncated)
لعرض مزيد من التفاصيل حول مكون إضافي أو مكونات إضافية للبحث عن كلمة رئيسية:
$ ./whatweb -I phpBB
WhatWeb Detailed Plugin List
Searching for phpBB
================================================================================
Plugin: phpBB
--------------------------------------------------------------------------------
Description: phpBB is a free forum
Website: http://phpbb.org/
Author: Andrew Horton
Version: 0.3
Features: [Yes] Pattern Matching (7)
[Yes] Version detection from pattern matching
[Yes] Function for passive matches
[Yes] Function for aggressive matches
[Yes] Google Dorks (1)
Google Dorks:
[1] "Powered by phpBB"
================================================================================
يتم تحميل كافة المكونات الإضافية بشكل افتراضي.
يمكن تحديد المكونات الإضافية عن طريق الدلائل أو الملفات أو أسماء المكونات الإضافية كقائمة مفصولة بفواصل باستخدام خيار سطر الأوامر -p أو --plugin.
قد يحتوي كل عنصر في القائمة على مُعدِّل: + يضيف إلى المجموعة الكاملة، - يُحذف من المجموعة الكاملة ولا يتجاوز أي معدِّل الإعدادات الافتراضية.
يقوم خيار سطر الأوامر --dorks بإرجاع google dorks للمكون الإضافي المحدد. على سبيل المثال، --dorks wordpress يُرجع "بكل فخر بواسطة WordPress"
يبحث خيار سطر الأوامر --grep, -g في الصفحة المستهدفة عن السلسلة المحددة ويعيد تطابقًا في مكون إضافي يسمى Grep إذا تم العثور عليه.
يتميز WhatWeb بعدة مستويات من العدوان. افتراضيًا، يتم تعيين مستوى العدوان على 1 (متخفي) والذي يرسل طلب HTTP GET واحدًا ويتبع أيضًا عمليات إعادة التوجيه.
--aggression, -a
1. Stealthy Makes one HTTP request per target. Also follows redirects.
2. Unused
3. Aggressive Can make a handful of HTTP requests per target. This triggers
aggressive plugins for targets only when those plugins are
identified with a level 1 request first.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
ستقوم المكونات الإضافية العدوانية من المستوى 3 بتخمين المزيد من عناوين URL وتنفيذ إجراءات قد تكون غير مناسبة بدون إذن. لا يدعم WhatWeb حاليًا أي اختبارات لمستوى التطفل/الاستغلال في المكونات الإضافية.
يحدد الفحص الخفي من المستوى الأول أن Smartor.is-root.com/forum/ يستخدم الإصدار 2 من phpBB:
$ ./whatweb smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] PasswordField[password], HTTPServer[Apache/2.2.15], PoweredBy[phpBB], Apache[2.2.15], IP[88.198.177.36], phpBB[2], PHP[5.2.13], X-Powered-By[PHP/5.2.13], Cookies[phpbb2mysql_data,phpbb2mysql_sid], Title[Smartors Mods Forums - Reloaded], Country[GERMANY][DE]
يؤدي الفحص الدقيق من المستوى 3 إلى إجراء اختبارات إضافية في مكون phpBB الإضافي الذي يحدد أن موقع الويب يستخدم إصدار phpBB 2.0.20 أو أعلى:
$ ./whatweb -p plugins/phpbb.rb -a 3 smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] phpBB[2,>2.0.20]
لاحظ استخدام الوسيط -p لتحديد ملحق phpBB فقط. من المستحسن، ولكن ليس إلزاميًا، تحديد مكون إضافي محدد عند محاولة أخذ بصمات إصدارات البرامج في الوضع العدواني. يعتبر هذا الأسلوب أكثر سرية لأنه سيحد من عدد الطلبات.
لا يحتوي WhatWeb على ذاكرة تخزين مؤقت، لذا إذا كنت تستخدم مكونات إضافية قوية لإعادة توجيه عناوين URL، فقد تتمكن من جلب نفس الملفات عدة مرات.
يتميز WhatWeb بعدة خيارات لزيادة الأداء والاستقرار.
يمكن استخدام أوامر --wait و --max-threads للمساعدة في التهرب من نظام كشف التسلل (IDS).
سيؤدي تغيير وكيل المستخدم باستخدام خيار سطر الأوامر -U أو --user-agent إلى تجنب قاعدة Snort IDS لـ WhatWeb.
إذا كنت تقوم بمسح نطاقات من عناوين IP، فمن الأكثر فعالية استخدام ماسح ضوئي للمنافذ مثل Massscan لاكتشاف المنفذ 80 المفتوح قبل المسح باستخدام WhatWeb.
يعمل اكتشاف مجموعة الأحرف، باستخدام البرنامج المساعد Charset، على تقليل الأداء بشكل كبير من خلال طلب المزيد من وحدة المعالجة المركزية. هذا مطلوب من خلال تسجيل JSON وMongoDB.
لتمكين تسجيل MongoDB، قم بتثبيت جوهرة mongo. جوهرة تثبيت مونجو
لتمكين اكتشاف مجموعة الأحرف وتسجيل MongoDB، قم بتثبيت جوهرة rchardet. جوهرة تثبيت rchardet cp plugins-disabled/charset.rb my-plugins/
الإضافات سهلة الكتابة. ابدأ بالاطلاع على البرامج التعليمية للمكونات الإضافية في المجلد my-plugins/ .
نظرة عامة على البرامج التعليمية للبرنامج المساعد هنا. البرنامج المساعد-tutorials.txt
بعد التقدم في البرامج التعليمية، قم بقراءة قسم التطوير في الويكي.
يتميز تصميم تطوير WhatWeb بتحديثات منتظمة.
تصفح الويكي لمزيد من الوثائق وتقنيات الاستخدام المتقدمة.
شكرًا للأشخاص التاليين الذين ساهموا في WhatWeb.
من الصعب تتبع جميع الأشخاص الذين ساهموا في WhatWeb. إذا كان اسمك مفقودًا، فيرجى إبلاغي بذلك.