##
# This file is part of WhatWeb and may be subject to
# redistribution and commercial restrictions. Please see the WhatWeb
# web site for more information on licensing and terms of use.
# http://www.morningstarsecurity.com/research/whatweb
##
# Version 0.5 # 2012-03-05
# Added regex version detection for /readme.html
##
# Version 0.4 # 2011-04-06 #
# Added aggressive md5 matches
##
# Version 0.3
# Now using :version=>// instead of a passive function, added description, examples and included relative /wp-content/ link detection
##
Plugin.define "WordPress" do
author "Andrew Horton"
version "0.5"
description "WordPress is an opensource blogging system commonly used as a CMS. Homepage: http://www.wordpress.org/ " # Examples #
examples %w| http://lonnroth.info/ http://mattbrett.com/ http://www.komodomedia.com/ http://bestwebgallery.com/ http://cssremix.com/ http://www.cssbloom.net/ http://www.screenz.de/ http://www.kineda.com/ http://ifelse.co.uk/ http://fadtastic.net/ http://www.funci.org/en/ | # Dorks #
dorks [
'"is proudly powered by WordPress"'
] # Matches #
matches [ {:text=>"<meta name=\"generator\" content=\"WordPress.com\" />"},
{:text=>"<a href=\"http://www.wordpress.com\">Powered by WordPress</a>", :name=>"powered by link"},
{:regexp=>/"[^"]+\/wp-content\/[^"]+"/, :name=>"wp-content", :certainty=>75 }, {:version=>/<meta name=\"generator\" content=\"(WordPress)[ ]?([0-9\.]+)\"/, :offset=>1 }, # if offset=>1 were missing then it would report "WordPress" as the version. # url exists, i.e. returns HTTP status 200
{:url=>"/wp-cron.php"}, #{:url=>"/admin/", :full=>true }, # full means that whatweb will run all plugins against this url - this isn't yet implemented as of 0.4.7 # /wp-login.php exists & contains a string
{:url=>"/wp-login.php", :text=>'<a title="Powered by WordPress" href="http://wordpress.org/">'},
{:url=>"/wp-login.php", :text=>'<a href="http://wordpress.org/" title="Powered by WordPress">', :name=>'wp3 login page'},
{:url=>"/wp-login.php", :text=>'action=lostpassword'}, {:url=>"/wp-login.php", :tagpattern=>"!doctype,html,head,title,/title,meta,link,link,script,/script,meta,/head,body,div,h1,a,/a,/h1,form,p,label,br,input,/label,/p,p,label,br,input,/label,/p,p,label,input,/label,/p,p,input,input,input,/p,/form,p,a,/a,/p,p,a,/a,/p,/div,script,/script,/body,/html"}, #note that WP plugins can add script tags. tags are delimited by commas so we can count how close it is
{:url=>"favicon.ico", :md5=>'f420dc2c7d90d7873a90d82cd7fde315'}, # not common, seen on http://s.wordpress.org/favicon.ico
{:url=>"favicon.ico", :md5=>'fa54dbf2f61bd2e0188e47f5f578f736'}, # on wordpress.com blogs http://s2.wp.com/i/favicon.ico {:url=>"/readme.html", :version=>/<h1.*WordPress.*Version ([0-9a-z\.]+).*<\/h1>/m} ] # Passive #
def passive
m=[] # detect /wp-content/ on this site but don't be confused by links to other sites.
#<link rel="stylesheet" href="http://bestwebgallery.com/wp-content/themes/master/style.css" type="text/css" /> if @body =~ /(href|src)="[^"]*\/wp-content\/[^"]*/
# is it a relative link or on the same site?
links= @body.scan(/(href|src)="([^"]*\/wp-content\/[^"]*)/).map {|x| x[1].strip }.flatten
links.each do |thislink|
# join this link wtih target, check if host part is ==, if so, it's relative
joined_uri=URI.join(@base_uri.to_s,thislink) if joined_uri.host == @base_uri.host
#puts "yes, #{joined_uri.to_s} is relative to #{@base_uri.to_s}"
m << {:name=>"Relative /wp-content/ link" }
break
end
end
end # Return passive matches
m
end # Aggressive #
def aggressive
m=[] # the paths are relative to the url path if they don't start with /
# this path, with this md5 = this version versions = Hash[
"0.71-gold" =>
[["readme.html",
"0c1e4a01d4ccf6dbedda30bf3c5eeb9e"],
["b2-include/xmlrpc.inc",
"14524c5d7f9f72394e04512d9941bc50"]],
"0.72-rc1" =>
[["readme.html",
"dacf325336ae55fffbcd54bd08de55b4"],
["wp-layout.css",
"dc04833fd754c0b404ec157e0bb8e7ae"]],
"0.72-beta1" =>
[["readme.html",
"dacf325336ae55fffbcd54bd08de55b4"],
["wp-layout.css",
"7edb4d6b89b4625f6e6c6b9e5cd589b6"]],
"1.0-rc1" =>
[["readme.html",
"613b5eca59267b5b62b6e81dd9536b1b"],
["wp-sitetemplates/main/templates/top.html",
"120ca99e1b816915e0f27152b7d24a75"]],
"1.0-platinium" =>
[["readme.html",
"6e08f4bfb7f79de78a3278f0f4ad981f"]],
"1.0.1-rc1" =>
[["readme.html",
"11f6a057f13e9413edc98e4614230622"]],
"1.0.1-miles" =>
[["readme.html",
"7ccd56b1c5b7123ed9afb222e6e93924"]],
"1.0.2" =>
[["readme.html",
"c91375254e9f56e45939ffcc28424c72"]],
"1.0.2-blakey" =>
[["readme.html",
"c91375254e9f56e45939ffcc28424c72"]],
"1.2-rc1" =>
[["readme.html",
"790736d62d442117f9d28b64161919a2"]],
"1.2-rc2" =>
[["readme.html",
"790736d62d442117f9d28b64161919a2"]],
"1.2-beta" =>
[["readme.html",
"790736d62d442117f9d28b64161919a2"],
["wp-layout.css",
"c3f4bd5f3146770c0cba45b10c385047"]],
"1.2-delta" =>
[["readme.html",
"790736d62d442117f9d28b64161919a2"],
["wp-layout.css",
"1bcc9253506c067eb130c9fc4f211a2f"]],
"1.2-mingus" =>
[["readme.html",
"6c3c457ed408be44244edc121cada9a2"],],
"1.2.1" =>
[["readme.html",
"75eaf1c4b267e11fffd42c34e8832567"],
["wp-layout.css",
"7140e06c00ed03d2bb3dad7672557510"]],
"1.2.2" =>
[["readme.html",
"6c3c457ed408be44244edc121cada9a2"],
["wp-includes/js/scriptaculous/scriptaculous.js",
"d72a1c859799b4e1355ff65e4a1ad148"]],
"1.5-strayhorn" =>
[["readme.html",
"aaa2d12586d9632c76b7b7f03d58a9f6"]],
"1.5.1" =>
[["readme.html",
"c60692ee8e176db0ac0be5ca69ba6c24"]],
"1.5.1.1" =>
[["readme.html",
"c60692ee8e176db0ac0be5ca69ba6c24"]],
"1.5.1.2" =>
[["readme.html",
"c60692ee8e176db0ac0be5ca69ba6c24"]],
"1.5.1.3" =>
[["readme.html",
"aaa2d12586d9632c76b7b7f03d58a9f6"]],
"1.5.2" =>
[["readme.html",
"aaa2d12586d9632c76b7b7f03d58a9f6"]],
"2.0" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"],
["wp-content/themes/default/style.css",
"f786f66d3a40846aa22dcdfeb44fa562"]],
"2.0.1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.1-rc1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.4" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.5" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.5-rc1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.5-beta1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.6" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.6-rc1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.7" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.7-rc1" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.7-rc2" =>
[["readme.html",
"010ac2a095f4d30b2a650b94cf3f8842"]],
"2.0.8" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.8-rc1" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.9" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.9-rc1" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.9-beta" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.10" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.10-rc1" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.10-rc2" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.10-rc3" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.11" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.11-rc1" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.11-rc2" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.0.11-rc3" =>
[["readme.html",
"ec9a2ffad38a3f0185aa6d9c0b8d6673"]],
"2.1" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1-rc1" =>
[["readme.html",
"1808e8f88b490dffdfe0e3ea0a951e86"]],
"2.1-rc2" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1-beta1" =>
[["readme.html",
"33228916bae952810ca10a09b23bc366"]],
"2.1-beta2" =>
[["readme.html",
"0bb72a5175266c98406b8b42a31114de"]],
"2.1-beta3" =>
[["readme.html",
"1808e8f88b490dffdfe0e3ea0a951e86"],
["wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js",
"527706a40c4a6939c1a47db7a6c4dbaf"]],
"2.1-beta4" =>
[["readme.html",
"1808e8f88b490dffdfe0e3ea0a951e86"]],
"2.1.1" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.1-rc1" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.1-beta" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.2" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.3" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.3-rc1" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.3-rc2" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.1.3-rc3" =>
[["readme.html",
"a5bc745849e1971abf8efb9a135ce764"]],
"2.2" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2-rc1" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2-rc2" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2.1" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2.1-rc1" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2.1-rc2" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2.2" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.2.3" =>
[["readme.html",
"939a797929aec1b8e0039014e9a29433"]],
"2.3" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3-rc1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3-beta1" =>
[["readme.html",
"0384d4bdace37e066df6bb7a85b009aa"]],
"2.3-beta2" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3-beta3" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.1-rc1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.1-beta1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.2" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.2-rc1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.2-beta1" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.2-beta2" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.2-beta3" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.3.3" =>
[["readme.html",
"95803b846df1873416ee96c1577b3adf"]],
"2.5" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"]],
"2.5-rc1" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/autosave.js",
"c2fa52e7e956c340da6e2d2d86694cee"]],
"2.5-rc2" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/autosave.js",
"d275157ac090ce476b4914505f8de24f"]],
"2.5-rc3" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"]],
"2.5.1" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/tinymce/tiny_mce.js",
"a3d05665b236944c590493e20860bcdb"]],
"2.6" =>
[["readme.html",
"5bca147a86a1d277328c298ab06b772b"]],
"2.6-rc1" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"]],
"2.6-beta1" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/tinymce/tiny_mce.js",
"35f98a53dd50907c60b872213da50deb"]],
"2.6-beta2" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/tinymce/plugins/wpeditimage/editimage.html",
"48a67e901144ce41af63c8e7d680ac74"]],
"2.6-beta3" =>
[["readme.html",
"c3024b888aeb1539f4c29df7b166d483"],
["wp-includes/js/tinymce/plugins/wpeditimage/editimage.html",
"e1e9459af693c6076a6d99997d851ab4"]],
"2.6.1" =>
[["readme.html",
"0377751ad219ccbb809d527952ff7325"]],
"2.6.1-beta1" =>
[["readme.html",
"5bca147a86a1d277328c298ab06b772b"],
["wp-includes/js/tinymce/plugins/wpeditimage/editimage.html",
"cb6e865aa733445c260ac01899542756"]],
"2.6.1-beta2" =>
[["readme.html",
"5bca147a86a1d277328c298ab06b772b"]],
"2.6.2" =>
[["readme.html",
"0377751ad219ccbb809d527952ff7325"]],
"2.6.3" =>
[["readme.html",
"0377751ad219ccbb809d527952ff7325"]],
"2.6.5" =>
[["readme.html",
"0377751ad219ccbb809d527952ff7325"]],
"2.7" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.7-rc1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"],
["wp-includes/js/swfupload/handlers.js",
"a16a9cb39d37486aeacd3b2e1701f6aa"]],
"2.7-rc2" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.7-beta1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"],
["wp-includes/js/autosave.js",
"9ceecef42a279029e0f97b4def8e542b"]],
"2.7-beta2" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"],
["wp-includes/js/autosave.js",
"c1ea7016092c130a51a44ffe232bc7c9"]],
"2.7-beta3" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"],
["wp-includes/js/tinymce/tiny_mce.js",
"f73b7c82ff78af24cd7563862084000a"]],
"2.7.1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.7.1-rc1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.7-beta1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.8" =>
[["readme.html",
"4a64408bdaaa6c8af7cab9346f0ce380"]],
"2.8-rc1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.8-beta1" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.8-beta2" =>
[["readme.html",
"94c4cdfa20778d1bf9784941f9fca133"]],
"2.8.1" =>
[["readme.html",
"7ed95e0b7ae663cbd0a8e77d787a4637"]],
"2.8.1-rc1" =>
[["readme.html",
"4a64408bdaaa6c8af7cab9346f0ce380"]],
"2.8.1-beta1" =>
[["readme.html",
"4a64408bdaaa6c8af7cab9346f0ce380"],
["wp-includes/js/autosave.js",
"40f836bb6cf8fa6007aa2bd335754590"]],
"2.8.1-beta2" =>
[["readme.html",
"4a64408bdaaa6c8af7cab9346f0ce380"],
["wp-includes/js/autosave.js",
"8e58ac561fd6f038843395e7e18fbb0f"]],
"2.8.2" =>
[["readme.html",
"ef8665ddd2d87badccb3532705b95992"],
["wp-content/plugins/akismet/readme.txt",
"48c52025b5f28731e9a0c864c189c2e7"]],
"2.8.3" =>
[["readme.html",
"de32a1268d126ea71127ad5f9fa8f60d"]],
"2.8.4" =>
[["readme.html",
"7d93c7feb3e2e2c2112474f92e3ee6f8"]],
"2.8.5" =>
[["readme.html",
"f32252ef12c927f6285e4fb29efce04f"]],
"2.8.5-beta1" =>
[["readme.html",
"f32252ef12c927f6285e4fb29efce04f"]],
"2.8.6" =>
[["readme.html",
"027283d03b08abae67279fd17a37760b"]],
"2.8.6-beta1" =>
[["readme.html",
"027283d03b08abae67279fd17a37760b"]],
"2.9" =>
[["readme.html",
"1eaf3b4f4c2d039d26a473c0e0b5622e"]],
"2.9-rc1" =>
[["readme.html",
"f182f41b25a96a12c393e35d9d063ed4"]],
"2.9-beta1" =>
[["readme.html",
"f182f41b25a96a12c393e35d9d063ed4"],
["wp-includes/js/swfupload/handlers.js",
"67c19dd1aa288610db84ef258e0fde22"]],
"2.9-beta2" =>
[["readme.html",
"f182f41b25a96a12c393e35d9d063ed4"],
["wp-includes/js/swfupload/handlers.js",
"829d0ee86744a34049329f5c461d12d0"]],
"2.9.1" =>
[["readme.html",
"80c4ecc8630395baeb7363a7cf4dad33"]],
"2.9.1-rc1" =>
[["readme.html",
"80c4ecc8630395baeb7363a7cf4dad33"]],
"2.9.1-beta1" =>
[["readme.html",
"1eaf3b4f4c2d039d26a473c0e0b5622e"]],
"2.9.2" =>
[["readme.html",
"6cfb514bbb51d883bb6fece65d5fd450"],
["wp-content/themes/home/rtl.css",
"64231a50358031e1d92bb02ffcc5579d"]],
"3.0" =>
[["readme.html",
"9ea06ab0184049bf4ea2410bf51ce402"],
["wp-content/themes/twentyten/languages/twentyten.pot",
"2ea37779cc9cbfc274f1a0273a6ea1b5"]],
"3.0-rc1" =>
[["readme.html",
"9ea06ab0184049bf4ea2410bf51ce402"],
["wp-content/themes/twentyten/style.css",
"5e86e1dd9c095c1bf8ea8e5ec53bee1e"]],
"3.0-rc2" =>
[["readme.html",
"9ea06ab0184049bf4ea2410bf51ce402"],
["wp-content/themes/twentyten/style.css",
"23fd2a602c38ec4c611559fb1552afcd"]],
"3.0-rc3" =>
[["readme.html",
"9ea06ab0184049bf4ea2410bf51ce402"],
["wp-content/themes/twentyten/languages/twentyten.pot",
"497963f44fb84e2c7d425c1fd4eed76e"]],
"3.0-beta1" =>
[["readme.html",
"b051ca0b7f06618784dd286da1b3ce95"],
["wp-includes/js/autosave.js",
"a27e28943c0ce3e0438c03c83092c919"]],
"3.0-beta2" =>
[["readme.html",
"9ea06ab0184049bf4ea2410bf51ce402"],
["wp-includes/js/autosave.js",
"46149fb60863c31931ba3b4c2698bff4"]],
"3.0.1" =>
[["readme.html",
"a73cac84b8b9a99377917a6974c9eea2"]],
"3.0.2" =>
[["readme.html",
"0538342b887f11ed4a306d3e7c7d6ea7"]],
"3.0.3" =>
[["readme.html",
"0eb4f7981c3de98df925b3020c147a61"]],
"3.0.4" =>
[["readme.html",
"c7a01d814ffbbb790ee5f4f8f3631903"]],
"3.0.5" =>
[["readme.html",
"ed20f283f2c1b775219bdb12e5c6ba93"]],
"3.0.6" =>
[["readme.html",
"45119882b8d576a3462f76708b6bc1c5"]],
"3.1" =>
[["readme.html",
"f01635ffca23e49e01f47e98553ea75d"]],
"3.1-rc1" =>
[["readme.html",
"d48f95db161328051787e2f427148f4a"],
["wp-content/themes/twentyten/languages/twentyten.pot",
"0aac287d00db838d3bc01a1d6d621d2f"]],
"3.1-rc2" =>
[["readme.html",
"d48f95db161328051787e2f427148f4a"],
["wp-content/themes/twentyten/style.css",
"150c80e23ce93ebced5035e00e4d864b"]],
"3.1-rc3" =>
[["readme.html",
"f01635ffca23e49e01f47e98553ea75d"],
["wp-includes/css/admin-bar-rtl.css",
"c032baf7fa4ed30d82b46946f75cbc69"]],
"3.1-rc4" =>
[["readme.html",
"f01635ffca23e49e01f47e98553ea75d"]],
"3.1-beta1" =>
[["readme.html",
"7a8b02d6ce7229e33bd64da8bef83ad7"],
["wp-includes/css/admin-bar.css",
"d858495789b9a37ef8651f54a9f2e12b"]],
"3.1-beta2" =>
[["readme.html",
"d48f95db161328051787e2f427148f4a"],
["wp-includes/css/admin-bar.css",
"912a71bf5137e3a06911d1ebd855c2b7"]],
"3.1.1" =>
[["readme.html",
"5be6140fc3f44126b476dfff5bc0c658"]],
"3.1.1-rc1" =>
[["readme.html",
"5be6140fc3f44126b476dfff5bc0c658"]],
"3.1.2" =>
[["readme.html",
"20f882b08b2804bc7431c0866a8999d1"]],
"3.1.3" =>
[["readme.html",
"ccc403368e01b3c3b0caf28079a710a5"]],
"3.1.4" =>
[["readme.html",
"fbebf5899944a9d7aedd00250bb71745"],
["wp-content/themes/twentyten/languages/twentyten.pot",
"0702faf14edacb91bb82681870cb6da0"]],
"3.2" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"]],
"3.2-rc1" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"],
["wp-content/themes/twentyeleven/style.css",
"5a13b9234881621dca42f9430bfdd885"]],
"3.2-rc2" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"],
["wp-content/themes/twentyeleven/style.css",
"31156206fec3debcc2f9b844ef83d9e1"]],
"3.2-rc3" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"],
["wp-content/themes/twentyeleven/style.css",
"81b2771858d8ab1ed3ae13d8d5866561"]],
"3.2-beta1" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"],
["wp-includes/js/autosave.js",
"3bf40ac97632994f5ee6d8d4fc72f0d3"]],
"3.2-beta2" =>
[["readme.html",
"573e79628d2ee07670e889569059669e"],
["wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js",
"708373211fb001cba51de1138ff9e748"]],
"3.2.1" =>
[["readme.html",
"98d3f05ff1e321dbd58ad154cc95e569"]],
"3.3" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"]],
"3.3-rc1" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"304a1620b044cc58cef73349359943b3"]],
"3.3-rc2" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"9bb37fe637ee3a53d9274fd2d0301260"]],
"3.3-rc3" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"]],
"3.3-beta1" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"7d21a462f3b5d5b9ad1f878c45f78e92"]],
"3.3-beta2" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"e8af3c520f06153ad674eebd7453971e"]],
"3.3-beta3" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"a30deaec087f1eab3183a2b9d50cd19b"]],
"3.3-beta4" =>
[["readme.html",
"e0f97110b60c3a3c71dcd1d4d923495a"],
["wp-includes/css/admin-bar.css",
"4e6bda0b7acff641f480c4fd5d5b6910"]],
"3.3.1" =>
[["readme.html",
"c1ed266e26a829b772362d5135966bc3"]],
"3.3.2" =>
[["readme.html",
"628419c327ca5ed8685ae3af6f753eb8"]],
"3.3.2-rc1" =>
[["readme.html",
"628419c327ca5ed8685ae3af6f753eb8"]],
"3.3.3" =>
[["readme.html",
"36b2b72a0f22138a921a38db890d18c1"]],
"3.4" =>
[["readme.html",
"34b3071c2c48f0b1a611c2ee9f1b3516"]],
"3.4-rc1" =>
[["readme.html",
"34b3071c2c48f0b1a611c2ee9f1b3516"],
["wp-includes/js/customize-preview.js",
"453a5ccf234fb8d8ce360aca3672ed95"]],
"3.4-rc2" =>
[["readme.html",
"34b3071c2c48f0b1a611c2ee9f1b3516"],
["wp-includes/js/customize-preview.js",
"7b1408a3cd59c8287efa8c02bd43356e"]],
"3.4-rc3" =>
[["readme.html",
"34b3071c2c48f0b1a611c2ee9f1b3516"]],
"3.4-rc4" =>
[["readme.html",
"34b3071c2c48f0b1a611c2ee9f1b3516"]],
"3.4-beta1" =>
[["readme.html",
"8df86e1e534c349747292e0b56531f63"],
["wp-includes/js/tinymce/tiny_mce.js",
"078bd9e2c8fa7b6c2ab231183f6ee2cb"]],
"3.4-beta2" =>
[["readme.html",
"8df86e1e534c349747292e0b56531f63"]],
"3.4-beta3" =>
[["readme.html",
"8df86e1e534c349747292e0b56531f63"],
["wp-includes/js/customize-preview.js",
"e28df79d5eb55f26b46ae88bafadc2b9"]],
"3.4-beta4" =>
[["readme.html",
"8df86e1e534c349747292e0b56531f63"],
["wp-includes/js/customize-preview.js",
"a8a259fc5197a78ffe62d6be38dc52f8"]],
"3.4.1" =>
[["readme.html",
"9ecbb128295ac324f63a6adc0b6e78ea"],
["wp-includes/js/customize-preview.js",
"617d9fd858e117c7d1d087be168b5643"]], "3.4.2" =>
[["readme.html", "c6514a15e04bd9ec96df4d9b78c17bc5"],
["wp-includes/js/customize-preview.js", "617d9fd858e117c7d1d087be168b5643"],
["/wp-admin/css/wp-admin.css", "dc906af62607ada3fe2baac62ac3cceb"]
],
"3.5" =>
[["readme.html", "066cfc0f9b29ae6d491aa342ebfb1b71"],
["wp-admin/css/wp-admin.css", "c8c02c7d0318ddeb985e324f126a19e8"]
],
"3.5.1" =>
[["readme.html", "05d50a04ef19bd4b0a280362469bf22f"],
["wp-admin/css/wp-admin.css", "1906ac1bed40e0c5c7de71f2bc42dc20"]
],
"3.5.2" =>
[["readme.html", "caf7946275c3e885419b1d36b22cb5f3"],
["wp-admin/css/wp-admin.css", "1906ac1bed40e0c5c7de71f2bc42dc20"]
],
"3.6" =>
[["readme.html", "477f1e652f31dae76a38e3559c91deb9"],
["wp-admin/css/wp-admin.css", "25dd20710bf1eec392a00fc892b63fde"]
],
"3.6.1" =>
[["readme.html", "e82f4fe7d3c1166afb4c00856b875f16"],
["wp-admin/css/wp-admin.css", "25dd20710bf1eec392a00fc892b63fde"]
],
"3.7" =>
[["readme.html", "4717bf89e299ff054760ec8b0768c9e1"],
["wp-admin/css/wp-admin.css", "f0894fa9c9733d0e577fc5beddc726cd"]
],
"3.7.1" =>
[["readme.html", "4717bf89e299ff054760ec8b0768c9e1"],
["wp-admin/css/wp-admin.css", "f0894fa9c9733d0e577fc5beddc726cd"]
],
"3.8" =>
[["readme.html", "38ee273095b8f25b9ffd5ce5018fc4f0"],
["wp-admin/css/wp-admin.css", "25554fc81989c307119b7d4818dc3963"]
],
"3.8.1" =>
[["readme.html", "0d0eb101038124a108f608d419387b92"],
["wp-admin/css/wp-admin.css", "68600417d5dc22244168b4eeb84f0af4"]]
] v = Version.new("WordPress", versions, @base_uri) version = v.matches_format # Set version if present
unless version.empty?
version.each { |ver|
m << {:name => "md5 sums of files", :version => ver}
}
end # Return aggressive matches
m
end end

whatweb wordpress.rb的更多相关文章

  1. whatweb tree

    . ├── 1.txt ├── addons │   ├── country-scanner │   ├── gggooglescan │   ├── hunter │   └── verify-ni ...

  2. whatweb.rb 未完待续

    #!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$ ...

  3. backtrack下whatweb的使用

    whatweb是backtrack下的一款Web识别工具,位于 Applications-->BackTrack-->Information Gathing-->Web Applic ...

  4. centos搭建属于自己wordpress网站

    1.在centos7中安装好mysql5.7.16.httpd.php.php-mysql工具 这里的mysql可以用yum一键安装,他可以自己解决依赖问题 [root@localhost ~]# y ...

  5. whatweb

    WhatWeb是一款网站指纹识别工具,主要针对的问题是:“这个网站使用的什么技术?”WhatWeb可以告诉你网站搭建使用的程序,包括何种CMS系统.什么博客系统.Javascript库.web服务器. ...

  6. 从Wordpress迁移到Jekyll

    http://pinkyjie.com/2013/10/24/migrate-from-wordpress-to-jekyll/ 上周末闲着没事干突然想把博客从Wordpress迁移到Github p ...

  7. wordpress密码生成与登录密码验证

    一.研究wordpress时wordpess的密码密码生成与登录密码验证方式很重要 WordPress密码已成为整合的首要目标,如何征服整合,就得了解WordPress密码算法. WordPress系 ...

  8. 微调数据库表结构,30 分钟搞定 WordPress 数据库查询缓慢问题

    同事的美女图片站,基于 WordPress 搭建的,因为数据越来越多,变得慢,我从 PHP slow log 里面看出是 WordPress 有些查询总是很慢,即使已经安装了页面缓存插件,但是由于页面 ...

  9. WPScan扫描Wordpress漏洞

    一.什么是Wpscan?什么是Wordpres? 1.Wpscan WPScan是一个扫描WordPress漏洞的黑盒子扫描器,可以扫描出wordpress的版本,主题,插件,后台用户以及爆破后台用户 ...

随机推荐

  1. 树莓派进阶之路 (018) - raspberryPi摄像头命令行软件raspistill帮助文档

    文档原文:https://www.raspberrypi.org/app/uploads/2013/07/RaspiCam-Documentation.pdf 作用 在指定的时间运行摄像头,而且如果需 ...

  2. 进阶之路(中级篇) - 015 串口控RGB三色灯

    本文由博主原创,如有不对之处请指明,转载请说明出处. /********************************* 代码功能:串口控RGB三色灯 使用函数: Serial.flush(); / ...

  3. webpack window 添加ES6支出

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:张轩链接:http://zhuanlan.zhihu.com/p/20367175来源:知乎 如果现在你的项目还没有对ES6的 ...

  4. NSAttributedString 上下标---!!!!!

    下面这段,亲试可用 /*将符号转换为上标*/ -(NSMutableAttributedString *)changeToSuperscriptForNumberSignWith:(NSString ...

  5. 一些实用的php库

    Idiorm – 轻量级ORM库 Snappy – 快照/PDF库 Buzz – 简单的HTTP请求库 Omnipay – 支付处理库 ShellWrap – 优美的命令行包装器

  6. php-fpm进程关闭与重启脚本详解

    先来理解一下什么是php-fpm PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的. PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中.必须将 ...

  7. Python 文件 tell() 方法

    描述 Python 文件 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell() 参数 无 返回值 返回文件的当前位置. 实 ...

  8. gcc cc1: all warnings being treated as errors

    cc1: all warnings being treated as errors 在Makefile中找到 -Werror项,删除即可.删除后重新编译. 或设置环境变量 c工程设置 export C ...

  9. matlab入门笔记(六):编程基础之M文件

    摘自<matlab从入门到精通>胡晓东 在Matlab中,用户可以在命令行中直接输入命令,从而以一种交互式的方式来编写程序.这种方式适用于命令行比较简单,输入比较方便,同时处理的问题较少的 ...

  10. PhotoShop CS6实现照片背景虚化效果

    在摄影实践中,虚化背景是突出主体的常用手段.但是由于消费级DC镜头的实际焦距都很短,因此实现浅景深而虚化背景的难度较大.如果我们希望用消费级DC也能达到虚化背景突出主体的效果,那么,Photoshop ...