Compare commits

...

1811 Commits
2.1 ... 3.3.0

Author SHA1 Message Date
Ryan Dewhurst
3c47652cc0 Add missing hidden files 2018-09-26 21:17:43 +02:00
Ryan Dewhurst
220ff0e3f7 Update readme 2018-09-26 21:17:02 +02:00
Ryan Dewhurst
d268a86795 HELLO v3!!! 2018-09-26 21:12:01 +02:00
Ryan Dewhurst
28b9c15256 So long hidden files! 2018-09-26 21:03:08 +02:00
Ryan Dewhurst
4f594d59cc So long hombre 2018-09-26 21:00:28 +02:00
Ryan Dewhurst
a25b493064 Merge pull request #1211 from sudoaza/master
Fixing error on missformated rss
2018-09-19 13:17:17 +02:00
aza
2acf88d83e fixing error on missformated rss 2018-09-17 01:44:36 +02:00
Ryan Dewhurst
baf3b4bc2b Add command line gif 2018-08-30 15:09:49 +02:00
Ryan Dewhurst
750411d9e1 Add Patreon shield/badge 2018-08-24 15:40:44 +02:00
Christian Mehlmauer
aa7b922d30 gem update 2018-07-17 17:59:01 +02:00
Christian Mehlmauer
fd660632e0 Update version for dev branch 2018-06-18 07:46:23 +02:00
Ryan Dewhurst
c7df7265ab Ready for 2.9.4 release #1187 2018-06-15 09:40:06 +02:00
Ryan Dewhurst
42685a45b3 Missing space 2018-06-08 09:58:07 +02:00
Ryan Dewhurst
ce5d26a220 Enhacements to sql export code. Thanks to javiercasares for list. 2018-06-08 09:56:28 +02:00
Ryan Dewhurst
0e73774bd9 Add check for .sql backup files 2018-06-07 17:17:39 +02:00
Christian Mehlmauer
85b491472a revert, just a test 2018-05-30 23:35:19 +02:00
Christian Mehlmauer
4b382acbad change twitter handle 2018-05-30 23:32:46 +02:00
Ryan Dewhurst
12d15bfc7e Update data.zip file 2018-05-30 14:39:58 +02:00
Ryan Dewhurst
ea1b6b9c17 Update version information 2018-05-30 14:39:31 +02:00
Ryan Dewhurst
5cb2d16601 Remove Gemnasium as deprecated 2018-05-30 12:56:25 +02:00
Christian Mehlmauer
913717bcf7 update gems 2018-05-30 12:51:50 +02:00
Ryan Dewhurst
99fe1855d9 Output is not plugin specific 2018-05-23 14:54:34 +02:00
Ryan Dewhurst
e2eb94be22 Grammar 2018-05-23 14:46:28 +02:00
Ryan Dewhurst
aca1b487ba Remove spacer in output 2018-05-23 14:44:53 +02:00
Ryan Dewhurst
5820c53d0f More informative output 2018-05-23 14:32:04 +02:00
Christian Mehlmauer
9298758acd Merge pull request #1182 from g0tmi1k/users
Multiple Features
2018-05-22 12:40:52 +02:00
g0tmi1k
a981c2b17b @FireFart's suggestions 2018-05-22 10:06:57 +01:00
g0tmi1k
a783b53107 Fix grammar
..and bots
2018-05-15 11:17:03 +01:00
g0tmi1k
cf2881fda6 Fix bots issues?
...Happy now? Please?
2018-05-15 10:47:55 +01:00
g0tmi1k
59368a72bd Don't fail silent. 2018-05-15 10:39:16 +01:00
g0tmi1k
439900a1ea Misc fixes 2018-05-15 09:05:58 +01:00
g0tmi1k
44557797b0 Update data.zip location to be $HOME 2018-05-15 08:19:44 +01:00
g0tmi1k
ba065d5974 ...Removed too much fat. 2018-05-15 08:09:24 +01:00
g0tmi1k
105e9cbcac Sorted out .*ignore & *files + removed some fat 2018-05-15 07:52:40 +01:00
g0tmi1k
fe277c1e89 Make travis happy 2018-05-15 07:12:02 +01:00
g0tmi1k
b5e3e6280e Trying to make code climate happier 2018-05-14 18:08:42 +01:00
g0tmi1k
f90a64ce81 Tried to make code climate happy 2018-05-14 17:56:49 +01:00
g0tmi1k
b9fa1e3587 Misc fixes and typos 2018-05-14 16:37:14 +01:00
g0tmi1k
4333ecb989 Check for sitemaps (using /robots.txt) 2018-05-14 16:36:52 +01:00
g0tmi1k
715d3d4ad6 Moved http response to a function 2018-05-14 16:35:41 +01:00
g0tmi1k
38f70a88ae Follow any redirections (e.g. http -> https) 2018-05-14 16:17:12 +01:00
g0tmi1k
4b4b968710 Check HTTP status of each value in /robots.txt 2018-05-14 15:57:33 +01:00
g0tmi1k
3b94fc49a7 Fix EOL issue when checking /robots.txt 2018-05-14 15:12:35 +01:00
g0tmi1k
e41aab3a80 Re-worked off-line update only as a fall back (when possible) 2018-05-14 15:12:20 +01:00
g0tmi1k
9450ba6cc5 Add RSS author information 2018-05-14 13:44:02 +01:00
g0tmi1k
ae3c164350 Improved API output results 2018-05-14 13:43:49 +01:00
g0tmi1k
24e6820a90 Clean up wording 2018-05-14 13:43:33 +01:00
g0tmi1k
0e05f77fb7 Made offline extraction more verbose 2018-05-14 13:37:34 +01:00
g0tmi1k
de960ff9db Fix offline extraction zip bug 2018-05-11 18:18:19 +01:00
g0tmi1k
1d0128af72 Move spacer to a function 2018-05-11 18:07:57 +01:00
g0tmi1k
285b1a1733 Cleaner output and fix a typo 2018-05-11 17:10:02 +01:00
g0tmi1k
ab67816dd9 Check for API access and /wp-json/'s users output 2018-05-11 17:01:06 +01:00
g0tmi1k
fea6665876 Re-order output around slightly 2018-05-11 16:59:25 +01:00
g0tmi1k
6cbc8c9924 Clean up some output confusion 2018-05-11 16:58:47 +01:00
g0tmi1k
f542a50213 Remove debug statement 2018-05-11 12:24:11 +01:00
g0tmi1k
fa430606ce Move the last item to ~/.wpscan/ 2018-05-11 11:25:18 +01:00
g0tmi1k
05d27c64be Check location before using them 2018-05-11 11:21:14 +01:00
g0tmi1k
0cd680bb29 Add dev information to file locations 2018-05-11 11:20:58 +01:00
g0tmi1k
ced94a7338 Fix up .gitignore 2018-05-11 11:20:20 +01:00
g0tmi1k
b65a4d0a60 Fix up gemfile 2018-05-11 11:20:03 +01:00
g0tmi1k
2b85b44bd1 Add offline database update support 2018-05-11 11:19:51 +01:00
g0tmi1k
991c87a89e Fix inconsistencies with line endings 2018-05-09 16:35:54 +01:00
g0tmi1k
37a72f0c72 Add /.well-known/security.txt check
See https://securitytxt.org/
2018-05-09 16:34:30 +01:00
g0tmi1k
6c0a21c80d Add /humans.txt check
See http://humanstxt.org/
2018-05-09 16:33:44 +01:00
g0tmi1k
dc48008d43 Bug with user-agent being shown 2018-05-09 16:16:18 +01:00
g0tmi1k
5720d29492 Fix inconsistencies with line endings 2018-05-09 16:11:09 +01:00
g0tmi1k
358f3d59d8 Say when to use --force 2018-05-09 16:04:01 +01:00
g0tmi1k
b6c6a46d25 Remove un-needed single quotes in output 2018-05-09 13:58:23 +01:00
g0tmi1k
25c393d557 gitignore cleanup 2018-05-09 13:58:04 +01:00
g0tmi1k
435fb34233 Check for user-agents.txt before using it 2018-05-09 13:15:12 +01:00
g0tmi1k
2c40913a64 Misc wording fixes 2018-05-09 13:14:41 +01:00
g0tmi1k
e437b952da Move timthumbs.txt to all the other data.zip files 2018-05-09 13:14:05 +01:00
g0tmi1k
282c595b38 Improve user prompt 2018-05-09 13:13:07 +01:00
g0tmi1k
c2c8d63e75 Show database date when updating 2018-05-09 13:12:27 +01:00
g0tmi1k
ad21d97d11 Grammar police! 2018-05-09 13:11:46 +01:00
g0tmi1k
5c27c78ed0 Add friendly reminder about using -u / --url 2018-05-09 13:10:34 +01:00
g0tmi1k
a53e9a5e12 Show the file being downloaded with verbose 2018-05-09 13:09:58 +01:00
g0tmi1k
c8036692ee Display user-agent with verbose mode (Handy with --random-agent) 2018-05-09 13:09:33 +01:00
Ryan Dewhurst
b9535a3648 Merge pull request #1180 from g0tmi1k/fixes
Stop trying to execute when it shouldn't
2018-05-09 10:05:14 +02:00
Ryan Dewhurst
651c364fa9 Merge pull request #1181 from g0tmi1k/users
Add a quick message about doing more wordpress users to usage
2018-05-09 10:03:49 +02:00
g0tmi1k
958410d4c9 Add a quick message about doing more wordpress users to usage 2018-05-08 17:19:33 +01:00
g0tmi1k
e9fba126d2 Stop trying to execute when it shouldn't 2018-05-08 17:14:48 +01:00
Christian Mehlmauer
95d39cce5a resolve 2018-05-08 07:53:45 +02:00
Christian Mehlmauer
32d9afdf9b update 2018-05-08 07:52:51 +02:00
Christian Mehlmauer
7e9a4168ff update 2018-05-08 07:50:32 +02:00
Christian Mehlmauer
9d6415a89b update gems 2018-03-28 00:25:48 +02:00
erwanlr
1499b07176 Fixes #1152 2018-01-30 19:59:41 +00:00
Christian Mehlmauer
9c7188a312 Merge branch 'master' of github.com:wpscanteam/wpscan 2018-01-11 07:25:05 +01:00
Christian Mehlmauer
b63e28c150 update readme 2018-01-11 07:24:51 +01:00
ethicalhack3r
50d48902cf Happy New Year! 2018-01-09 17:14:42 +01:00
Christian Mehlmauer
aa6899cbc5 ruby upgrade 2017-12-27 00:50:33 +01:00
Christian Mehlmauer
94e6b2eab6 upgrade ruby 2017-12-27 00:41:04 +01:00
erwanlr
54c0e79c58 Fixes #1154 2017-12-11 09:21:56 +00:00
erwanlr
859d7f1c60 Fixes spec, Ref #1147 2017-12-11 09:08:25 +00:00
Christian Mehlmauer
166112209e fix #1147 2017-12-06 19:18:15 +01:00
Christian Mehlmauer
952395d0c1 try to fix travis 2017-11-25 16:37:30 +01:00
Christian Mehlmauer
c7061f8a51 try to fix travis 2017-11-25 16:34:01 +01:00
Erwan
0c71bce221 Fix #1149 2017-11-24 08:43:20 +00:00
Christian Mehlmauer
b2b4eebd78 Merge branch 'master' of github.com:wpscanteam/wpscan 2017-11-14 19:41:24 +01:00
Christian Mehlmauer
5257a8b997 update 2017-11-14 19:41:15 +01:00
ethicalhack3r
9844f9d8ab Remove --max-threads option from output. Fix #1142 2017-11-08 10:59:33 +01:00
Christian Mehlmauer
000f275263 update bundler 2017-11-01 19:47:14 +01:00
Christian Mehlmauer
e5077c490a Merge branch 'master' of github.com:wpscanteam/wpscan 2017-10-22 00:36:25 +02:00
Christian Mehlmauer
d76968c15f update 2017-10-22 00:36:16 +02:00
Ryan Dewhurst
289ef5b0dd Remove some known issues. Fix #1141 2017-10-11 10:51:19 +02:00
Ryan Dewhurst
7ec227873c Update wording 2017-10-11 10:49:43 +02:00
Ryan Dewhurst
1deccfd477 Remove space 2017-10-11 10:40:10 +02:00
Ryan Dewhurst
286e6bd51a Update banner 2017-10-11 10:35:11 +02:00
Ryan Dewhurst
8167fa2e17 Remove CREDITS file 2017-10-11 10:34:17 +02:00
Ryan Dewhurst
c960df0bb1 Update copyright dates 2017-10-11 10:31:12 +02:00
Christian Mehlmauer
ebf8d31c6c specs 2017-10-09 12:59:43 +02:00
Christian Mehlmauer
082ae650fc specs 2017-10-09 12:53:18 +02:00
Christian Mehlmauer
2f5599c863 specs 2017-10-09 12:43:35 +02:00
Christian Mehlmauer
a764bdd993 update 2017-10-09 12:30:28 +02:00
Christian Mehlmauer
ef46d2c956 update readme and changelog files 2017-10-09 12:26:09 +02:00
Christian Mehlmauer
d2c2c1defb update 2017-09-18 20:40:51 +02:00
ethicalhack3r
dede023ec8 Update to Ruby 2.4.2 2017-09-14 19:50:31 +02:00
ethicalhack3r
d8a9b3aa77 Only show readme.html output when wp <= 4.8 #1127 2017-09-14 19:12:37 +02:00
Christian Mehlmauer
ad364e6a2e bundle update 2017-09-04 20:01:19 +02:00
Christian Mehlmauer
523954e507 bundle update 2017-08-11 10:08:25 +02:00
Christian Mehlmauer
872bbdb8e0 more output 2017-08-01 18:19:03 +02:00
Christian Mehlmauer
3ca8727b64 Merge branch 'master' of github.com:wpscanteam/wpscan 2017-08-01 18:15:50 +02:00
Christian Mehlmauer
1d3ca87772 better output 2017-08-01 18:15:37 +02:00
Christian Mehlmauer
90c42f42a1 Update README.md 2017-07-21 13:25:38 +02:00
Christian Mehlmauer
641108e7eb Stats 2017-07-19 15:24:32 +02:00
Christian Mehlmauer
0e87384b0a update data.zip 2017-07-19 15:05:41 +02:00
Christian Mehlmauer
5175170c4b prepare release 2017-07-19 14:59:33 +02:00
ethicalhack3r
79864cae7b Add emergency.php detection #1108 2017-07-17 20:56:38 +02:00
Christian Mehlmauer
ca5f92ca61 travis 2017-07-08 01:12:06 +02:00
Christian Mehlmauer
d29de83c41 prepare release, update gems 2017-07-08 01:10:00 +02:00
Christian Mehlmauer
1f42ce6e2f Merge pull request #1109 from zmwangx/readme-homebrew
Document Homebrew package in README
2017-07-07 09:39:30 +02:00
Zhiming Wang
0dc7128582 Document Homebrew package in README
Also, (Mac) OS X has been rebranded as macOS since June 2016, so rename that.
2017-07-06 20:13:57 -04:00
Christian Mehlmauer
21f4de2ec1 make logfile configurable 2017-05-31 23:16:07 +02:00
ethicalhack3r
d65567fc8f Remove previous version detection commit #1092 2017-05-02 16:13:54 +02:00
Christian Mehlmauer
20af778fa1 fix rspecs 2017-05-02 15:37:38 +02:00
ethicalhack3r
5f77832386 Improve version detection regex. Fix #1092 2017-05-02 12:30:16 +02:00
Christian Mehlmauer
6ccfe70775 install only supported gems 2017-04-21 20:07:02 +02:00
Christian Mehlmauer
6b0f687abb typo 2017-04-21 19:45:17 +02:00
Christian Mehlmauer
67ba526b5b use ruby alpine image from now on 2017-04-21 19:40:25 +02:00
ethicalhack3r
e186ec7534 Update install instruction for ruby 2.4.0 2017-04-20 16:35:11 +02:00
Christian Mehlmauer
23ef1e75b3 remove unneeded statement 2017-04-12 20:26:47 +02:00
Christian Mehlmauer
8170390f92 fix rspecs 2017-04-12 20:22:47 +02:00
Christian Mehlmauer
c148295f64 use Gemfile.lock from now on 2017-04-12 20:18:13 +02:00
Christian Mehlmauer
37b99f9baa Merge branch 'master' of github.com:wpscanteam/wpscan 2017-04-12 20:15:22 +02:00
Christian Mehlmauer
8e4643874d more docker work 2017-04-12 20:13:49 +02:00
Ryan Dewhurst
0522023fd4 Merge pull request #1081 from jamesalbert/master
--wordlist - reads stdin
2017-04-12 09:12:06 +02:00
jamesalbert
711ee730a0 updated readme 2017-04-11 09:58:43 -07:00
jamesalbert
f3bd995528 differentiate between stdin and file (estimating) 2017-04-11 03:20:11 -07:00
jamesalbert
beec0bd35a fixed progress_bar scope 2017-04-11 03:09:24 -07:00
jamesalbert
9d7f35f3b2 tightened up the threshold 2017-04-11 02:58:47 -07:00
jamesalbert
c7488e28f7 added estimation for stdin 2017-04-11 02:55:34 -07:00
jamesalbert
9150e0ca52 reads stdin line by line 2017-04-10 02:44:43 -07:00
jamesalbert
475288deeb --wordlist - reads stdin 2017-04-10 02:10:34 -07:00
erwanlr
82335d7399 Merge pull request #1075 from qutorial/master
Preciser reporting in bruteforcing password with bad response
2017-03-25 15:42:26 +00:00
Zaur
338eacd63b Preciser reporting in bruteforcing password with bad response
When bruteforcing for multiple logins and passwords the bad response code reported
might indicate a match! But the reporting for it is not clear enough.
For example "Unkown response for admin" might mean a user name admin and some password
or a password 'admin' for some user.

This commit makes in unambiguous reporting a bad response, and naming which login and
which password caused it.
2017-03-25 16:18:05 +01:00
Christian Mehlmauer
0b9b79f55f change tag 2017-03-24 18:55:49 +01:00
Christian Mehlmauer
5303b28957 add docker examples 2017-03-23 20:09:30 +01:00
Christian Mehlmauer
11c05a3590 some more help 2017-03-11 19:49:22 +01:00
Christian Mehlmauer
862c0a9014 binstub 2017-03-03 16:21:07 +01:00
Christian Mehlmauer
487a483aa6 gitignore 2017-01-31 22:03:43 +01:00
Christian Mehlmauer
030c20a11b travis 2017-01-31 22:02:53 +01:00
Christian Mehlmauer
ec831f7fed wtf? it was never required? 2017-01-31 22:02:20 +01:00
Christian Mehlmauer
50fa79b331 try to fix travis 2017-01-31 21:46:07 +01:00
Christian Mehlmauer
edab0e812a try to fix travis 2017-01-31 21:43:07 +01:00
Christian Mehlmauer
f0126ca860 try to fix travis 2017-01-31 21:36:00 +01:00
Christian Mehlmauer
01261d4d29 try to fix travis 2017-01-31 21:33:09 +01:00
Christian Mehlmauer
f97d3436a5 try to fix travis 2017-01-31 21:23:43 +01:00
Christian Mehlmauer
0bcb8b4b3b try to fix travis 2017-01-31 21:12:42 +01:00
Christian Mehlmauer
489545dd75 try to fix travis 2017-01-31 21:08:58 +01:00
Christian Mehlmauer
f6c152f58a update all gems to newest version 2017-01-31 20:36:32 +01:00
Christian Mehlmauer
16734418be Merge pull request #1053 from wpscanteam/revert-1052-master
Revert "Fix logic error in parsing command line args"
2017-01-29 23:16:42 +01:00
Christian Mehlmauer
b17ee20f58 Revert "Fix logic error in parsing command line args" 2017-01-29 23:16:01 +01:00
Ryan Dewhurst
aaee6f1e6d Merge pull request #1052 from petercunha/master
Fix logic error in parsing command line args
2017-01-29 21:26:58 +01:00
Peter Cunha
64d8240b8a Fix logic error in parsing command line args 2017-01-29 14:25:25 -05:00
Christian Mehlmauer
0a6d430c9f fix typo 2017-01-28 00:40:51 +01:00
Christian Mehlmauer
7bf0314561 try to fix travis 2017-01-17 20:47:01 +01:00
Christian Mehlmauer
409897fec4 fix travis and older ruby versions 2017-01-17 20:40:37 +01:00
Christian Mehlmauer
91b0d20665 forgot travis 2017-01-17 20:26:43 +01:00
Christian Mehlmauer
f6644eebf9 make wpscan ruby 2.4.0 compatible
fixes #1044
2017-01-17 20:24:32 +01:00
Ryan Dewhurst
88bddd4f87 Merge pull request #1046 from dctabuyz/fix__require_readline
'gem install readline' issues fix
2017-01-12 12:34:50 +01:00
dctabuyz
c61b023fb7 placing 'require readline' before require 'bundler/setup' fixes 'gem install readline' issues 2017-01-12 01:32:07 -05:00
Christian Mehlmauer
1b5df8751f Merge pull request #1045 from thijskh/patch-1
Add gcc to Debian prerequisites
2017-01-11 17:51:25 +01:00
Thijs Kinkhorst
314c98f101 Add gcc to Debian prerequisites
This is needed to install some gems and mirrors the fact that gcc is included in the command lines Fedora and Ubuntu (there contained in `build-essential`).
2017-01-11 17:19:27 +01:00
ethicalhack3r
8274e2efe9 Update to Ruby 2.3.3 2016-11-24 19:00:45 +01:00
ethicalhack3r
2bff063805 More changelog info 2016-11-15 20:51:38 +01:00
ethicalhack3r
53d9956829 Update data.zip 2016-11-15 20:37:54 +01:00
ethicalhack3r
6e98678c3c Bump wpscan version 2016-11-15 20:37:07 +01:00
ethicalhack3r
f0f21f5ac2 Add stats to changelog 2016-11-15 20:35:48 +01:00
ethicalhack3r
aa233b1c4d Add total vuln stats 2016-11-15 20:34:55 +01:00
ethicalhack3r
93f9123f45 Document missing options 2016-11-15 20:17:09 +01:00
ethicalhack3r
5c710d88e4 Update changelog 2016-11-15 20:00:54 +01:00
ethicalhack3r
ded70ff743 add R symbol 2016-11-08 14:03:33 +01:00
Christian Mehlmauer
9df7443aa4 color 2016-11-02 22:23:00 +01:00
Christian Mehlmauer
8362975691 apt tweak 2016-11-02 21:52:14 +01:00
Christian Mehlmauer
49771419ae Merge branch 'master' of github.com:wpscanteam/wpscan 2016-11-01 19:39:24 +01:00
Christian Mehlmauer
d344f84824 remove cloudflare error handling 2016-11-01 19:38:47 +01:00
Christian Mehlmauer
89c0b8d4d0 Merge pull request #1019 from wpscanteam/hash
remove scripts before calculating hashes
2016-10-26 11:48:13 +02:00
Christian Mehlmauer
3c74ee8d97 remove scripts before calculating hashes 2016-10-25 20:44:00 +02:00
ethicalhack3r
785c6efa5b Fix typo 2016-10-14 14:52:54 +02:00
ethicalhack3r
4e2bf5322e Markdown formating 2016-10-14 14:51:40 +02:00
ethicalhack3r
54ed148c87 Add passive detection of google-universal-analytics 2016-10-14 14:48:48 +02:00
Christian Mehlmauer
b08e298eba Merge branch 'master' of github.com:wpscanteam/wpscan 2016-10-06 20:35:44 +02:00
Christian Mehlmauer
89e2088357 fix #1008 2016-10-06 20:35:29 +02:00
ethicalhack3r
f3cc35bd74 trademark update 2016-09-08 09:39:52 +02:00
Christian Mehlmauer
a007d283e5 rspecs 2016-09-05 23:25:33 +02:00
Christian Mehlmauer
70902aa013 Merge branch 'master' of github.com:wpscanteam/wpscan 2016-09-05 22:59:14 +02:00
Christian Mehlmauer
91151fc53b check for ssl related errors. Fix #993 2016-09-05 22:58:56 +02:00
Christian Mehlmauer
d4ee82dac5 Update README.md 2016-08-17 18:31:35 +02:00
Christian Mehlmauer
88d3c26113 moar rspecs 2016-08-16 21:40:19 +02:00
Christian Mehlmauer
054a4ee6aa fix #984 2016-08-16 21:20:29 +02:00
ethicalhack3r
c291022753 Improve yoast seo pasive detection regex #984 2016-08-16 17:20:52 +02:00
Christian Mehlmauer
2fc488b602 rework readme 2016-08-15 00:25:46 +02:00
Christian Mehlmauer
009ddd690e verbose update 2016-08-13 12:52:33 +02:00
Christian Mehlmauer
88b5cd8751 readme 2016-08-13 10:30:06 +02:00
Christian Mehlmauer
cfd19d02b1 readme 2016-08-13 10:29:28 +02:00
Christian Mehlmauer
19ce30d862 trigger docker build 2016-08-13 10:27:52 +02:00
Christian Mehlmauer
c6df6e0e89 move docker stuff 2016-08-13 10:24:02 +02:00
Christian Mehlmauer
e942a5bcf6 Exit on exceptions 2016-08-12 23:56:36 +02:00
Christian Mehlmauer
c0f5163d07 handle null 2016-08-12 21:50:59 +02:00
Christian Mehlmauer
f5aa9f117f fix #968 2016-08-12 21:29:05 +02:00
Christian Mehlmauer
498d93377d rvm install instructions 2016-08-12 21:25:45 +02:00
Christian Mehlmauer
52242e706b Merge branch 'master' of github.com:wpscanteam/wpscan 2016-08-12 20:55:20 +02:00
Christian Mehlmauer
22d69a1bf9 more detailed update exception 2016-08-12 20:54:24 +02:00
Ryan Dewhurst
0b1fa13696 Merge pull request #973 from pierre-dargham/feature_option_cache
Enable --cache-dir option in command line parameters, which solves write permission issues when wpscan is installed in system or root-owned directories
2016-08-12 12:16:11 +02:00
Christian Mehlmauer
19b15b5327 travis 2016-08-08 22:35:20 +02:00
Christian Mehlmauer
e63e96f5ed travis 2016-08-08 22:04:42 +02:00
Christian Mehlmauer
e8ac8f26a7 travis 2016-08-08 22:00:52 +02:00
Christian Mehlmauer
13e4327de4 travis 2016-08-08 21:57:38 +02:00
Christian Mehlmauer
c22a1ed12a travis 2016-08-08 21:55:40 +02:00
Christian Mehlmauer
be5662b5f1 travis 2016-08-08 21:52:30 +02:00
Christian Mehlmauer
6e840ca920 fix #974 2016-08-08 21:40:36 +02:00
Pierre Dargham
8492190f4c Allow --cache-dir option in command line parameters 2016-08-05 10:56:40 +02:00
Christian Mehlmauer
93ab6ee2a0 fucking specs 2016-08-01 22:13:38 +02:00
Christian Mehlmauer
7075e01886 Merge branch 'master' of github.com:wpscanteam/wpscan 2016-08-01 22:07:47 +02:00
Christian Mehlmauer
436a83434c fix #972 2016-08-01 22:04:13 +02:00
pvdl
d270391b56 Fix for missing 'zlib.h' in Nokogiri 2016-07-26 19:43:45 +02:00
Christian Mehlmauer
7f2762eb6f new options 2016-07-21 21:27:21 +02:00
Christian Mehlmauer
2cc5bb0311 fix rspecs 2016-07-21 13:57:18 +02:00
Christian Mehlmauer
d697127261 set user agent globally 2016-07-21 13:21:07 +02:00
Christian Mehlmauer
825523a851 changelog 2016-06-27 16:07:40 +02:00
Christian Mehlmauer
0f3f9cac33 more info 2016-06-24 21:17:43 +02:00
ethicalhack3r
f9b545b100 Clearer instructions 2016-06-23 13:40:15 +02:00
Christian Mehlmauer
943bfc39b3 fix for #957 2016-06-14 03:30:17 +02:00
Ryan Dewhurst
b1a8f445c6 Merge pull request #950 from anthraxx/master
bump terminal-table to 1.6.0 and drop workaround
2016-06-07 09:54:42 +02:00
anthraxx
5435df4345 bump terminal-table to 1.6.0 and drop workaround 2016-06-06 19:28:40 +02:00
ethicalhack3r
8e9d29e94f Update dependencies #939 2016-06-02 11:21:07 +02:00
ethicalhack3r
1afa761f09 RandomStorm is no more 2016-06-02 11:09:10 +02:00
Ryan Dewhurst
d626913ce9 Merge pull request #949 from wpscanteam/finders
more advanced version detection
2016-06-02 11:04:38 +02:00
ethicalhack3r
9c52e4a5ee Update dependencies #939 2016-06-02 11:03:07 +02:00
Christian Mehlmauer
72c2c1992b rspec fixed 2016-05-31 15:23:34 +02:00
Christian Mehlmauer
e1b4b5e8e5 typo 2016-05-31 14:53:50 +02:00
Christian Mehlmauer
0243522854 more advanced version detection 2016-05-31 14:51:09 +02:00
Christian Mehlmauer
5118c68f45 fix #943 2016-05-13 21:23:22 +02:00
Christian Mehlmauer
442884b5c5 remove executable flags 2016-05-09 16:19:11 +02:00
Christian Mehlmauer
f832e27b49 correct stats an correct data files 2016-05-06 11:52:05 +02:00
ethicalhack3r
6ce29f73c5 Update with correct stat #935 2016-05-06 11:35:57 +02:00
ethicalhack3r
920338fb62 Prepare 2.9.1 release #935 2016-05-06 00:15:53 +02:00
Christian Mehlmauer
49d0a9e6d9 check directory listing in wp-includes 2016-05-05 00:01:52 +02:00
Christian Mehlmauer
fe401e622b add stats 2016-05-04 23:09:00 +02:00
Christian Mehlmauer
6e32cb0db2 changelog 2016-05-04 22:46:02 +02:00
Ryan Dewhurst
73171eb39d Merge pull request #929 from wpscanteam/wp_metadata
WP Metadata Integration
2016-04-28 14:35:43 +02:00
ethicalhack3r
2e05f4171e Update to Ruby 2.3.1 2016-04-28 14:04:54 +02:00
Christian Mehlmauer
75b8c303e2 more verbose error 2016-04-27 15:19:07 +02:00
Christian Mehlmauer
bd7a493f1c travis errors 2016-04-20 20:49:17 +02:00
Christian Mehlmauer
9dada7c8f4 travis errors 2016-04-20 20:41:46 +02:00
ethicalhack3r
fe7aede458 Better output 2016-04-20 13:39:05 +02:00
ethicalhack3r
cdf2b38780 Only show changelog if verbose 2016-04-20 13:09:02 +02:00
ethicalhack3r
a09dbab6a8 Use db_file 2016-04-20 12:43:56 +02:00
ethicalhack3r
49a6d275d2 Update comment 2016-04-20 12:37:46 +02:00
ethicalhack3r
8192a4a215 Fix typo 2016-04-20 12:27:09 +02:00
ethicalhack3r
1d6593fd4d Add WP metadata #704 2016-04-20 12:02:15 +02:00
Christian Mehlmauer
bf99e31e70 higher update timeout 2016-04-20 09:33:56 +02:00
Christian Mehlmauer
5386496bdc move wordpress check to the top 2016-04-06 14:13:56 +02:00
Christian Mehlmauer
6451510449 new ruby version with security bugfixes released 2016-04-03 00:34:52 +02:00
Christian Mehlmauer
cd68aa719c possible fix for timeouts 2016-04-01 11:52:13 +02:00
Christian Mehlmauer
b328dc4ff9 possible fix for #912 2016-03-11 09:28:42 +01:00
Christian Mehlmauer
1e1c79aa56 Merge pull request #909 from wpscanteam/ruby_version
drop ruby 1.9 and 2.0 support, whitespaces
2016-02-26 14:08:38 +01:00
Christian Mehlmauer
08650ce156 fix travis 2016-02-25 06:39:47 +01:00
Christian Mehlmauer
a1929719f3 version 2.1.8 minimum requirement 2016-02-24 23:48:50 +01:00
Christian Mehlmauer
d34da72cd3 ruby 2.0.0 is EOL 2016-02-24 23:41:32 +01:00
Christian Mehlmauer
816b18b604 drop ruby 1.9 support, whitespaces 2016-02-23 18:07:20 +01:00
Christian Mehlmauer
a78a13bf3f revert change 2016-02-18 00:02:55 +01:00
Christian Mehlmauer
33f8aaf1dc Merge branch 'master' of github.com:wpscanteam/wpscan 2016-02-17 23:30:45 +01:00
Christian Mehlmauer
26ab95d822 more actual gems 2016-02-17 23:30:28 +01:00
erwanlr
cea01d8aa0 Improves brute forcer output to avoid confustions 2016-02-13 16:44:29 +00:00
Ryan Dewhurst
0e61f1e284 Merge pull request #901 from wpscanteam/new_urls
add new urls
2016-02-06 22:26:25 +01:00
Christian Mehlmauer
ddef061b90 add new urls 2016-02-05 22:25:18 +01:00
erwanlr
addeab8947 Fixes #900 2016-02-04 20:37:13 +01:00
erwanlr
55dc665404 Better specs 2016-01-11 16:33:29 +00:00
erwanlr
8f8538e9e9 Changes the order of the WP version from stylesheets check - Fixes #865 2016-01-11 16:27:22 +00:00
Christian Mehlmauer
348ca55bee copyright 2016-01-08 23:54:04 +01:00
Christian Mehlmauer
1bb5bc7f33 fix rspec 2016-01-03 21:28:02 +01:00
ethicalhack3r
3be5e1fcf5 Add Windows OS detection 2016-01-03 20:15:11 +01:00
Christian Mehlmauer
9df8cc9243 Update README.md 2016-01-02 10:57:55 +01:00
Christian Mehlmauer
e28c84aa34 Update fedore install instructions
See #886
2016-01-02 10:52:23 +01:00
Christian Mehlmauer
7db6b54761 Merge pull request #894 from nonmadden/update-ruby
Update to Ruby 2.3.0
2015-12-31 10:22:47 +01:00
nonmadden
e3a06f5694 Update to Ruby 2.3.0 2015-12-31 10:41:04 +07:00
erwanlr
7c5d15e098 Updates Nokogiri dep 2015-12-18 18:59:32 +01:00
ethicalhack3r
d683c0f151 Update to Ruby 2.2.4 2015-12-18 11:13:41 +01:00
erwanlr
1e67fa26ff Fixes #890 2015-11-26 14:12:04 +00:00
erwanlr
0ae6ef59ec Fixes an issue with --cache-ttl being a Strig instead of an integer 2015-11-26 13:52:12 +00:00
erwanlr
e27ef40e0f Updates Nokogiri dep version 2015-11-26 11:53:13 +00:00
ethicalhack3r
380760d028 Onlt shoe theme description when there is one 2015-10-26 16:06:13 +01:00
ethicalhack3r
18cfdafc19 Fix typo in options 2015-10-15 16:28:42 +02:00
ethicalhack3r
0934a2e329 Recommend RVM in readme 2015-10-15 15:51:38 +02:00
ethicalhack3r
d1a320324e Update reame CLI options 2015-10-15 15:49:18 +02:00
ethicalhack3r
361c96d746 Version 2.9 release 2015-10-15 13:01:53 +02:00
erwanlr
e7dbf9278d Fixes #873 - mu-plugins detection 2015-10-13 13:17:22 +01:00
erwanlr
6564fddb27 Adds a reminder about updating the terminal-table version 2015-10-13 13:12:12 +01:00
erwanlr
d382874e86 Fixes incorrect detection of the FDP data 2015-10-12 12:57:20 +01:00
erwanlr
91b30bee9f Updates Typhoeus dependency 2015-10-09 19:03:37 +02:00
erwanlr
7804aad776 Removes useless stuff & update the --throttle options text 2015-10-07 22:09:23 +01:00
erwanlr
b7552ac8aa Tried to throttle things 2015-10-07 19:03:52 +01:00
erwanlr
a76c94cccf Let's try Travis container-based infra & caching 2015-09-18 16:13:37 +02:00
Christian Mehlmauer
c0ae5c7cad Merge pull request #864 from wpscanteam/apiv2
new dependency
2015-09-11 21:09:51 +02:00
Christian Mehlmauer
cc55b39b83 new dependency 2015-09-11 15:31:29 +02:00
ethicalhack3r
d8a6884ab6 Only show 'up to date' string when version found 2015-09-09 15:46:44 +02:00
Ryan Dewhurst
5ce3581386 Merge pull request #862 from wpscanteam/apiv2
Apiv2
2015-09-08 21:00:03 +02:00
ethicalhack3r
2208f2a8c0 Implement lesser? method #862 2015-09-08 17:54:32 +02:00
ethicalhack3r
a4a14c7e63 Better version output #862 2015-09-08 17:24:10 +02:00
erwanlr
aa464b476c Fixes a bug where -e vp was displaying non vulnerable plugins - Ref #853 2015-09-06 15:25:29 +01:00
erwanlr
3c92712a6e Uses yajl as JSON parser to reduce memory used 2015-09-06 14:29:41 +01:00
erwanlr
fd0c47f5d7 Adds the latest_version, last_updated and popular? attributes - Ref #853 2015-09-06 14:26:36 +01:00
erwanlr
c03a44d225 Removes useless code 2015-09-06 13:32:13 +01:00
ethicalhack3r
d31d45ba71 Remove unneede newline 2015-09-05 14:10:08 +02:00
ethicalhack3r
db528b27f4 Implement Erwan's feedback #853 2015-09-05 13:49:03 +02:00
ethicalhack3r
e6d29f6f18 New json structure implemented #853 2015-09-03 22:04:44 +02:00
Christian Mehlmauer
e4d6b988ef forgot spec file, #858
Signed-off-by: Christian Mehlmauer <firefart@gmail.com>
2015-08-22 21:52:55 +02:00
Christian Mehlmauer
ec68291bf0 fix #858 2015-08-22 21:50:31 +02:00
ethicalhack3r
3a6a451db1 Update to Ruby 2.2.3 2015-08-21 09:41:06 +02:00
Christian Mehlmauer
7ec095d708 fix duplicate robots.txt entries 2015-08-18 15:55:10 +02:00
ethicalhack3r
57f6206aee Implement Erwan's feedbaxk #853 2015-08-14 21:51:55 +02:00
ethicalhack3r
390f10e83f Remove ArchAssault, 'had to close its doors' 2015-08-14 19:26:52 +02:00
ethicalhack3r
8727935cb2 Fix specs #853 2015-08-14 16:33:57 +02:00
ethicalhack3r
d0e868f556 Enable rspec fail-fast #853 2015-08-14 16:04:26 +02:00
ethicalhack3r
01c357e146 Fix specs #853 2015-08-14 16:03:21 +02:00
ethicalhack3r
a0fed4a9d0 Clean up last commit #853 2015-08-14 00:22:48 +02:00
ethicalhack3r
c4aed0ec89 Initial attempt at implementing apiv2 #853 2015-08-14 00:19:22 +02:00
erwanlr
cc737090a2 Fixes incorrect detection of the username 2015-08-13 10:27:33 +01:00
erwanlr
1652c09e95 Merge pull request #850 from mikicaivosevic/master
Re-factorises a statement
2015-08-12 14:53:43 +01:00
erwanlr
2538b88579 Adds the Accept-Encoding header when updating the DBs - Fixes #852 2015-08-12 14:50:14 +01:00
Mikica Ivosevic
8c2eb63840 update wp_target.rb
Refactor if else statement - wp_content_dir (credits: ethicalhack3r)
2015-07-28 12:41:09 +02:00
erwanlr
36df5ee6e4 Comments debug statement 2015-07-23 14:15:46 +01:00
erwanlr
9720b4edf1 Escapes brackets etc potentially present in Dir.pwd When using Dir.glob - Fixes #840 2015-07-23 14:15:04 +01:00
Christian Mehlmauer
13d35b7607 update email 2015-07-08 14:29:18 +02:00
Christian Mehlmauer
13c2c51cfd update email adress 2015-07-08 13:45:47 +02:00
ethicalhack3r
f43175b0c3 Use older terminal-table gem #841 2015-07-02 10:48:34 +02:00
erwanlr
1508aba8b2 Uses terminal-table 1.5.1 - Fixes #839 2015-06-28 13:54:25 +01:00
erwanlr
5414ab05e5 Restraints terminal-table version - Ref #839 2015-06-27 09:23:26 +01:00
erwanlr
bd5d2db634 Fixes #836 2015-06-26 09:24:17 +01:00
erwanlr
3259dd29d8 Merge pull request #833 from stefancastille/master
Adds a --vhost option (Virtualhost support)
2015-06-26 09:14:39 +01:00
stefancastille
6e56013a95 Update browser.rb 2015-06-25 16:18:04 +02:00
stefancastille
252f762209 Update wp_target.rb 2015-06-25 16:17:03 +02:00
stefancastille
15c0448cf1 Update wpscan_options.rb 2015-06-25 16:13:04 +02:00
erwanlr
4c800bacaa Fixes #835 2015-06-24 11:46:06 +01:00
ethicalhack3r
5902a483b4 Ready for release version 2.8 #834 2015-06-22 18:56:37 +02:00
Christian Mehlmauer
ca73e4b93e fix some code styling issues 2015-06-21 11:05:25 +02:00
Christian Mehlmauer
ace64d88ce Merge branch 'master' of github.com:wpscanteam/wpscan 2015-06-21 11:03:55 +02:00
Christian Mehlmauer
4cc9f7c8b5 merge 2015-06-21 11:03:51 +02:00
Christian Mehlmauer
f4f1390b67 fix some code styling issues 2015-06-21 10:59:57 +02:00
erwanlr
14115761f9 Uses the URI.join to determine the redirection URL - Fix #829 2015-06-18 20:48:43 +01:00
Peter
ac3409e376 Update CHANGELOG 2015-06-18 21:07:12 +02:00
stefancastille
86a73229c0 Update wp_target.rb 2015-06-17 08:46:14 +02:00
stefancastille
cc41b96e88 Update wpscan_options.rb 2015-06-17 08:44:50 +02:00
stefancastille
e16c5584d1 Update wpscan_options.rb 2015-06-17 08:44:04 +02:00
stefancastille
94bab3f550 Update wpscan_options.rb
Add support for virtual hosts
2015-06-17 08:42:59 +02:00
stefancastille
9d04b23fb2 Update browser.rb
add support for virtual hosts
2015-06-16 17:23:25 +02:00
Ryan Dewhurst
2657e5050f Merge pull request #830 from mrnfrancesco/fix-issue-815
Fix issue 815
2015-06-04 09:46:26 +02:00
ethicalhack3r
3d6e5b2b9e Continue if user chooses not to update + db exists 2015-06-03 16:42:23 +02:00
ethicalhack3r
bdd6b9727d Dont update if user chooses default + no DBs exist 2015-06-03 16:40:04 +02:00
Francesco Marano
6c8172c7cf Removed Time.parse('2000-01-01') expedient 2015-06-03 16:03:01 +02:00
Francesco Marano
ae5bae9899 Capitalised 'Last db update' in 'Last DB update' 2015-06-03 15:52:33 +02:00
Francesco Marano
b6bf306042 Removed unnecessary 'return' and '()' 2015-06-03 15:43:58 +02:00
Francesco Marano
9c5196dfec Added last db update to --version option (see #815) 2015-06-03 15:33:14 +02:00
Francesco Marano
3d7b8592ea Defined function to get last db update and removed redundant code 2015-06-03 15:32:34 +02:00
Christian Mehlmauer
e03f7691f2 switch to mitre 2015-05-24 09:02:26 +02:00
Christian Mehlmauer
7a54ac62d6 output path 2015-05-21 23:16:33 +02:00
Christian Mehlmauer
8db06d37d2 check if method exist 2015-05-16 08:21:32 +02:00
Christian Mehlmauer
5ee5e76544 new link types 2015-05-15 22:34:24 +02:00
Christian Mehlmauer
090cd999cb fix rspec 2015-05-12 22:36:07 +02:00
Christian Mehlmauer
50b75354e0 #796, do not swallow exit code 2015-05-12 21:51:15 +02:00
Christian Mehlmauer
c7b6b25851 removed debug output 2015-05-12 21:29:21 +02:00
Christian Mehlmauer
b931df654d fix #796 2015-05-12 21:28:12 +02:00
erwanlr
b5d5c4177d Removes potential spaces in robots.txt entries - Ref #819 2015-05-08 09:50:51 +01:00
Christian Mehlmauer
b22550ea55 fix #814 2015-05-01 22:15:58 +02:00
Christian Mehlmauer
04d50ebea5 more logic 2015-05-01 13:14:23 +02:00
Christian Mehlmauer
202180909c warn the user to update his DB files 2015-05-01 11:29:03 +02:00
erwanlr
0d806e6d74 Ignores potential non version chars in theme version detection - Fixes #816 2015-05-01 09:56:18 +01:00
erwanlr
54f31ebe7f Merge branch 'master' of github.com:wpscanteam/wpscan 2015-05-01 09:50:45 +01:00
erwanlr
227a39d2fa Updates the theme detection pattern - Ref #816 2015-05-01 09:50:20 +01:00
Christian Mehlmauer
99d8faa38b switch from gnutls to openssl 2015-04-30 23:45:10 +02:00
Christian Mehlmauer
9a7afe1549 option to hide banner 2015-04-30 21:39:03 +02:00
erwanlr
e6751e0d89 Remove potential new line at the end of .sha512 files during the update 2015-04-25 15:27:13 +01:00
ethicalhack3r
371f1df830 Remove www subdomain from wpvulndb.com link 2015-04-24 10:12:15 +02:00
Peter
8e1ba352ee Singular and plural sentences 2015-04-21 20:33:32 +02:00
ethicalhack3r
7ebfe42eb2 Install bundler gem README 2015-04-17 16:25:17 +02:00
ethicalhack3r
df514d3b9f Update to Ruby 2.2.2 2015-04-16 18:52:25 +02:00
erwanlr
acae16e7ee Adds the missing spec file - Ref #804 2015-04-15 18:38:57 +01:00
erwanlr
deb8508ea5 Updates the Theme detection pattern - Fixes #804 2015-04-15 18:37:23 +01:00
erwanlr
a4bbf41086 Forces UTF-8 encoding when enumerating usernames - Fixes #801 2015-04-11 12:26:15 +01:00
erwanlr
4fbc535b0c Increases default connect-timeout to 10s - Fixes #803 2015-04-10 16:58:21 +01:00
Ryan Dewhurst
36f6f98ce7 Merge pull request #802 from wpscanteam/remove_wpstoools
Remove wpstools #793
2015-04-10 14:29:57 +02:00
ethicalhack3r
21cc7d604c Remove wpstools #793 2015-04-10 13:43:11 +02:00
erwanlr
44207161e6 Also check for potential timed out requests when updating - Ref #797 2015-04-03 17:48:59 +01:00
erwanlr
dc20ef0754 Increases the timeout values - Ref #797 2015-04-03 17:10:07 +01:00
erwanlr
413ee7a6d3 Adds the HttpError exception - Fixes #792 2015-04-03 16:22:28 +01:00
Christian Mehlmauer
5b94714ca7 remove GHOST warning, fixes #795 2015-04-03 17:00:17 +02:00
Christian Mehlmauer
3675fe1ed7 whitespace 2015-04-03 16:45:41 +02:00
erwanlr
e074a03c40 Fixes Indentation 2015-04-03 12:29:27 +01:00
erwanlr
a7860f72a2 Merge pull request #798 from surfer190/master
Add db checksum to verbose logging during update
2015-04-03 12:25:16 +01:00
surfer190
4b587593ee Add db checksum to verbose logging during update 2015-04-03 10:27:26 +02:00
Christian Mehlmauer
0aa8a97070 additional output 2015-04-02 07:17:58 +02:00
Christian Mehlmauer
3c16f84853 even more output 2015-04-02 00:34:44 +02:00
Christian Mehlmauer
346898e549 more output 2015-04-02 00:21:53 +02:00
erwanlr
bcef4b2de7 Fixes #791 - Rogue character causing the scan of non-wordpress site to crash 2015-04-01 13:09:10 +01:00
erwanlr
e42bf7fd7c Consider the target down after 30 requests timed out requests instead of 10 - Fixes 790 2015-04-01 09:25:17 +01:00
Christian Mehlmauer
48cd0602d8 do not build gh-pages branch 2015-03-30 22:00:39 +02:00
Christian Mehlmauer
814e837ae5 No rdoc and no ri for gems 2015-03-30 21:58:28 +02:00
erwanlr
a58b34eba8 Updates request timeout values to realistic ones (and in seconds) 2015-03-30 16:08:49 +01:00
ethicalhack3r
7d790f8f79 Add blackarch to readme. Fix #789 2015-03-30 16:44:27 +02:00
ethicalhack3r
7cf06f4989 Updated data file #784 2015-03-16 18:35:57 +01:00
ethicalhack3r
61381b7168 Update changelog, change version number #784 2015-03-16 10:49:54 +01:00
Christian Mehlmauer
df598c5900 fix for custom content dir 2015-03-14 16:03:48 +01:00
ethicalhack3r
aed74e029a Update Ruby to 2.2.1 2015-03-03 15:09:32 +01:00
erwanlr
6e01e1b9da Merge pull request #774 from berotti3/berotti3-wpscan
Updates the Username detection pattern
2015-02-21 12:56:06 +00:00
berotti3
42f278aafe Available take username for wordpress 3.0 or lower. 2015-02-21 15:48:28 +09:00
Christian Mehlmauer
884f64addb move version detection to seperate function and change line endings 2015-02-18 18:37:47 +01:00
erwanlr
0c9cf4ddd5 Changes the GHOST warning message to a notice one - Fixes #771 2015-02-13 16:54:02 +01:00
erwanlr
f6dfe0e8dd Avoid iterating over all the vuln items once the right one has been found 2015-02-12 18:57:16 +01:00
ethicalhack3r
9f4ca1add7 Update databases from wpvulnsb.com 2015-02-06 00:21:13 +01:00
ethicalhack3r
1f6edc5852 Add link to ghost msf module #763 2015-02-02 15:36:27 +01:00
ethicalhack3r
a74017f595 Fix #764 2015-01-30 16:18:28 +01:00
Ryan Dewhurst
89bc7609ea Merge pull request #762 from Pablohn26/patch-1
Add patch dependency to fedora installation
2015-01-30 15:45:20 +01:00
ethicalhack3r
2c93c8ef6d Update Ruby version in RVM docs 2015-01-30 15:32:03 +01:00
erwanlr
bfe370fa50 Adds a line about GHOST when XMLRPC is enabled, Fixes #763 2015-01-30 12:02:59 +01:00
Pablo Hinojosa
3b4850e1ba Add patch dependency to fedora installation 2015-01-28 18:52:02 +01:00
erwanlr
b2d1c25b8e Uses inline if 2015-01-26 18:19:49 +01:00
erwanlr
093598ac99 Fixes #760 2015-01-26 18:16:50 +01:00
erwanlr
585d22be46 Adds security-protection plugin detection - Fixes #747 2015-01-25 15:16:11 +01:00
erwanlr
9361cf4b00 Adds a global requests counter - Fixes #746 2015-01-22 21:08:09 +01:00
erwanlr
298e9130dd Fixes #754 2015-01-22 19:48:01 +01:00
Christian Mehlmauer
41ae47f065 sync license 2015-01-21 21:53:54 +01:00
ethicalhack3r
41f7fe1554 Markdown formatting 2015-01-21 17:57:06 +01:00
ethicalhack3r
965be1c0f3 New license 2015-01-21 17:52:34 +01:00
Ryan Dewhurst
fa8ac37e8b New LICENSE 2015-01-21 17:50:02 +01:00
Christian Mehlmauer
d7975b6192 version detection 2015-01-20 15:14:32 +01:00
Christian Mehlmauer
0a0fe55427 improve regex and more samples 2015-01-20 00:35:46 +01:00
Christian Mehlmauer
8e08a20178 missing ? 2015-01-20 00:06:34 +01:00
Christian Mehlmauer
9dd44808ec detect even more 2015-01-20 00:04:49 +01:00
Christian Mehlmauer
507cf1d511 fix regex 2015-01-19 23:41:51 +01:00
Christian Mehlmauer
53f3ce8b1f advanced version detection 2015-01-19 23:38:26 +01:00
erwanlr
2d39e5b1fa Ensures timeouts given to Typhoeus are Integers - Fixes #753 2015-01-18 20:14:41 +01:00
ethicalhack3r
60716dcf81 Update CREDITS 2015-01-11 12:06:51 +01:00
Christian Mehlmauer
82141c2535 refine version detection regex 2015-01-08 23:42:15 +01:00
Christian Mehlmauer
3d6de3fe75 refine version detection regex 2015-01-08 23:34:19 +01:00
erwanlr
03ab396353 Ensures that the version detected by stylesheets is present more than once. Ref #478 2015-01-08 23:26:36 +01:00
erwanlr
6221601376 Fixes a typo 2015-01-08 22:53:14 +01:00
erwanlr
71fdef45c9 Adds passive WP version detection from stylesheets. Fix #478 - Ref #750 2015-01-08 20:45:15 +01:00
ethicalhack3r
147a9e4968 Recommend random-agent on 403 2015-01-08 15:07:02 +01:00
ethicalhack3r
8f7b56da32 Fix typo 2015-01-08 14:15:34 +01:00
ethicalhack3r
4ef2452083 Update Typhoeus to 0.7.0 2015-01-08 14:14:07 +01:00
erwanlr
70cfa03ee8 Adds Addressable to the Gemfile 2015-01-07 10:35:26 +01:00
erwanlr
5bd3d4fd96 Merge pull request #749 from dctabuyz/master
wp_must_use_plugins.rb fix page hash calculation & encode IDN
2015-01-07 10:33:36 +01:00
dctabuyz
c0fe02efb9 Merge pull request #2 from dctabuyz/useActualRubyVersion
use actual ruby interpreter
2015-01-07 14:03:54 +05:00
dctabuyz
b0f4843526 Merge pull request #1 from dctabuyz/encodeIDN
IDN support: encode non-ascii domain names
2015-01-07 14:03:50 +05:00
dctabuyz
a9e161268c IDN support: encode non-ascii domain names 2015-01-07 12:55:26 +05:00
dctabuyz
cbad8857bd use actual ruby interpreter 2015-01-07 12:34:27 +05:00
dctabuyz
5adefda286 Digest::MD5.hexdigest replaced by WebSite.page_hash 2015-01-06 23:05:57 +03:00
dctabuyz
265bfcd7c8 calculate page hash only if response code is valid 2015-01-06 19:11:57 +03:00
dctabuyz
b81a4987d9 fix page hash calculation 2015-01-06 19:10:22 +03:00
ethicalhack3r
6b9c9eb0ed Build icon pointing to CMSScanner 2015-01-02 18:57:14 +01:00
ethicalhack3r
4f82d618dc Ruby 2.2.0 changes #748 2015-01-02 18:19:07 +01:00
ethicalhack3r
b7f7bdb9ac Fix specs #748 2015-01-02 18:17:45 +01:00
ethicalhack3r
c5136fd330 Update copyright date range 2015-01-02 17:00:13 +01:00
Peter
e7e0e886fc Better readable sentence 2015-01-02 13:09:11 +01:00
erwanlr
42e8ab1680 Updates the version pattern to allow letters in the format - Ref #745 2015-01-01 20:13:33 +01:00
erwanlr
ab7b7de60a Detects version in a release date format - Fixes #745 2015-01-01 19:45:10 +01:00
erwanlr
21221d48d0 Bumps the version 2014-12-19 17:26:11 +01:00
Peter
1f1a190c84 Update changelog 2014-12-19 13:25:59 +01:00
ethicalhack3r
82d79c4662 Add statistics to changelog #740 2014-12-19 12:57:55 +01:00
ethicalhack3r
08771a6d5d Update data file #740 2014-12-19 12:53:42 +01:00
ethicalhack3r
e01d18f224 Add RS as special thanks #736 2014-12-19 12:20:47 +01:00
ethicalhack3r
8496650542 Remove references to pyfiscan 2014-12-19 12:19:20 +01:00
Peter
399245cd0f Prepare changelog for next release 2014-12-19 12:04:40 +01:00
ethicalhack3r
adfa5dddcf Remove unneeded code 2014-12-15 16:01:24 +01:00
ethicalhack3r
85971e0e91 Refactor #703 #336 2014-12-15 16:00:30 +01:00
ethicalhack3r
3a3376ec41 Disable logging by default. Implement log option. #703 #336 2014-12-15 15:39:14 +01:00
Christian Mehlmauer
d988b6ccbf fix all the rspecs 2014-12-15 13:12:19 +01:00
Christian Mehlmauer
6654f446a4 try to fix #741 2014-12-15 12:37:46 +01:00
erwanlr
88808db9a5 Fixes the progressbar being overriden by next brute forcing attempts 2014-12-10 22:05:35 +01:00
erwanlr
dfad0fd6bd Implements Firefart solution to avoid mandatory blank newline at the end of the wordlist 2014-12-10 21:56:45 +01:00
erwanlr
3fe49a24c7 Updates the readmes to reflect the new --usernames option 2014-12-10 18:17:04 +01:00
erwanlr
ac609445fb Adds a statement about mendatory newlines at the end of list - Ref #739 2014-12-10 18:11:12 +01:00
erwanlr
0223f74a53 Adds the --usernames option - Fixes #739 2014-12-10 17:59:07 +01:00
erwanlr
607a5b3fda Adds the --usernames option - Fixes #739 2014-12-10 17:58:51 +01:00
erwanlr
e3ac331a71 Removes the theme version check from the readme, unrealistic scenario - Ref #737 2014-12-10 17:01:14 +01:00
erwanlr
e09b4cc76d Adds some readme files to check for plugin versions - Fixes #737 2014-12-10 16:55:00 +01:00
erwanlr
c24ed707ef Improves plugin/theme version detection by looking at the "Version: "- Fixes #732 2014-12-05 18:11:49 +01:00
Christian Mehlmauer
a8c55ddee3 remove malware folder 2014-12-03 23:51:01 +01:00
Christian Mehlmauer
e080835224 updated zip 2014-12-03 23:45:33 +01:00
Christian Mehlmauer
2fe675abce remove malwares 2014-12-03 23:37:31 +01:00
ethicalhack3r
d230221999 Prevent parent theme infinite loop 2014-12-02 16:40:18 +01:00
ethicalhack3r
91a01265e5 Add response code to proxy error output 2014-12-01 11:00:19 +01:00
ethicalhack3r
77286301a7 Add protocol to sucuri url in banner 2014-11-27 21:33:54 +01:00
ethicalhack3r
7c39827c16 Add Sucuri sponsor to banner 2014-11-27 21:30:17 +01:00
Ryan Dewhurst
8f789994eb Merge pull request #729 from fgeek/rmobsoletecode
Remove obsolete code
2014-11-26 13:54:07 +01:00
Henri Salo
79cb9c8142 Remove obsolete code. If use cases are found from active installations these functions can be taken into use with proper unit tests. 2014-11-26 01:18:12 +02:00
erwanlr
de1d047c08 Adds the --version in the help - Fixes #716 2014-11-25 17:44:01 +01:00
erwanlr
8252cb486b Fixes #728 2014-11-25 17:36:11 +01:00
erwanlr
fb8ad72335 WpItems detection: Perform the passive check and filter only vulnerable results at the end if required, fixes #727 2014-11-21 16:49:04 +01:00
Christian Mehlmauer
bc4f0c002b added check for valid credentials 2014-11-19 10:50:04 +01:00
ethicalhack3r
0a53c52645 Add new updating info to docs #715 #691 2014-11-14 11:52:06 +01:00
ethicalhack3r
7941a8accb Update to Ruby 2.1.5 and travis 2014-11-13 17:02:21 +01:00
ethicalhack3r
5389923b34 Expand on readme.html finding output #717 2014-11-01 20:44:30 +01:00
ethicalhack3r
9c1149cb25 Update to Ruby 2.1.4 2014-10-27 14:42:03 +01:00
erwanlr
c5130de805 Merge pull request #711 from Soullivaneuh/db-updater-binary
Fix UTF-8 encode on security db file download
2014-10-20 15:19:57 +01:00
Sullivan SENECHAL
020633503b Fix UTF-8 encode on security db file download 2014-10-20 14:00:58 +02:00
Peter
74b9776801 Give warning if default username 'admin' is still used 2014-10-19 12:28:59 +02:00
ethicalhack3r
5a605d686c License amendment to make it more clear about value added usage 2014-10-13 10:09:04 +02:00
Christian Mehlmauer
4ba9bdf605 Fix #705 2014-10-03 23:07:15 +02:00
Christian Mehlmauer
3f647348c3 Update README.md 2014-10-01 22:02:00 +02:00
erwanlr
de4f90dd72 Adds v2.5.1 2014-09-29 13:49:06 +02:00
ethicalhack3r
4a7b4754f0 Fix wpvulndb url #700 2014-09-29 12:51:48 +02:00
ethicalhack3r
fe05534a95 Update wpstools docs #697 2014-09-27 16:55:11 +02:00
ethicalhack3r
c7c7e75b32 Fix for #698 2014-09-27 16:43:44 +02:00
Christian Mehlmauer
efc6aed388 Ruby 2.1.3 2014-09-27 00:27:19 +02:00
Peter
197521d5b1 Added wpvulndb.com URL 2014-09-26 15:01:44 +02:00
Peter
23420f62df Some files changed for version release 2.5 2014-09-26 11:15:59 +02:00
ethicalhack3r
33149caede Update url 2014-09-26 10:20:38 +02:00
ethicalhack3r
67bec7136b Merge branch 'vdb_intergration'
Conflicts:
	lib/common/models/vulnerability.rb
	spec/lib/common/models/vulnerability_spec.rb
	spec/lib/common/models/wp_item_spec.rb
	spec/lib/common/models/wp_plugin_spec.rb
	spec/lib/common/models/wp_theme_spec.rb
	spec/lib/common/models/wp_version_spec.rb
2014-09-26 10:15:36 +02:00
erwanlr
57a12114dc Updates the data.zip 2014-09-25 17:32:25 +01:00
erwanlr
e32abea46b Adds latest DB files 2014-09-25 13:21:07 +02:00
erwanlr
b12b271a61 Update ruby-progressbar version dependency - Ref #495 2014-09-24 16:20:03 +02:00
Peter
f337cccc68 Update CHANGELOG.md (prepared for release) 2014-09-24 15:22:28 +02:00
Christian Mehlmauer
7f9e178f75 changed some colors 2014-09-22 23:34:42 +02:00
ethicalhack3r
b19696090f Fix for #694 2014-09-21 22:02:30 +02:00
ethicalhack3r
d7488bd402 Fix bug in output 2014-09-21 21:05:49 +02:00
ethicalhack3r
604299a1ac Update VDB url 2014-09-20 10:09:35 +02:00
ethicalhack3r
6800d51347 Undo changes, seem to work with new json ref arrays 2014-09-20 09:32:13 +02:00
ethicalhack3r
7cecd249a8 Update json parsing to reflect new reference arrays 2014-09-20 09:28:48 +02:00
erwanlr
a214ea9341 Adds pathname require statement - Fix #693 2014-09-19 12:33:12 +02:00
ethicalhack3r
884a19b13d Link to new vdb in references output 2014-09-18 10:24:55 +02:00
ethicalhack3r
771f4ae766 Update docs to reflect new updating logic 2014-09-18 09:49:17 +02:00
Peter
9273398c0e Shorter if statement 2014-09-18 00:07:13 +02:00
Peter
a5ed6ad134 Fix if statement 2014-09-17 23:47:54 +02:00
Peter
1bbf575e91 Small code clean 2014-09-17 22:36:39 +02:00
Peter
49582fd841 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-09-17 18:51:52 +02:00
Peter
bdaf12c1fa Exit program after --update 2014-09-17 18:50:29 +02:00
Peter
ef27c98056 Little output change and coloring 2014-09-17 18:39:58 +02:00
erwanlr
722f3ce384 Adds config file to check - Ref #689 2014-09-17 18:03:25 +02:00
erwanlr
9d084a7b2f Merges the db-update branch 2014-09-17 16:12:12 +02:00
erwanlr
c31a06e255 Removes the source code updaters 2014-09-17 16:01:41 +02:00
erwanlr
ea36c79c26 Adds a missing verbose output 2014-09-13 14:00:59 +02:00
erwanlr
cbe33caeef Removes the ListGenerator plugin from WPStools 2014-09-13 13:57:45 +02:00
erwanlr
8b44354fec Fixes travis failure 2014-09-12 20:47:47 +02:00
erwanlr
619302cd11 Adds the empty data dir 2014-09-12 19:20:44 +02:00
erwanlr
3e94ca11df DB Update: fixes a bug due to .chomp, Adds verbose output 2014-09-12 19:18:56 +02:00
erwanlr
f818778e0a Removes all files from data/ 2014-09-12 18:46:30 +02:00
Peter
280a91f139 Update CHANGELOG 2014-09-12 16:10:16 +02:00
erwanlr
82367a81c9 Deletes the json spec (files to test not longer in the repo) 2014-09-12 12:50:46 +02:00
erwanlr
93b1234d0f Removes useless code 2014-09-12 12:47:55 +02:00
erwanlr
571bc5cf90 Removes the exit used for testing 2014-09-12 12:43:51 +02:00
erwanlr
91de353307 Adds the db update system 2014-09-12 12:43:06 +02:00
Christian Mehlmauer
7ec394a8f2 update data files 2014-09-11 21:03:17 +02:00
Christian Mehlmauer
451c6c07ca new generate method, fix #657 2014-09-11 21:03:16 +02:00
erwanlr
a6b0548426 Potenial fix for 'marshal data too short' error - Ref #685 2014-09-11 20:04:24 +02:00
erwanlr
f89463c4d8 Adds specs for relative URI in Location headers - Ref #686 2014-09-11 19:40:47 +02:00
erwanlr
3be63d85f2 Merge pull request #687 from Soullivaneuh/magic-slash
Re-build redirection url if relative URI
2014-09-11 17:53:06 +01:00
Sullivan SENECHAL
d271b63aa4 Re-build redirection url if begin with slash '/' 2014-09-11 15:35:00 +02:00
erwanlr
fb46fd7101 Removes the vuln.xsd 2014-09-10 17:31:44 +02:00
erwanlr
64513bb9d1 Adds db files 2014-09-10 17:27:06 +02:00
erwanlr
ef56f82de9 Deleting db file 2014-09-10 17:20:15 +02:00
erwanlr
f775379f42 Simulating db update before release 2014-09-10 17:19:35 +02:00
erwanlr
1b377dd674 Testing db stuff 2014-09-10 17:08:12 +02:00
erwanlr
99837127a6 Testing the ignore of db files 2014-09-10 16:57:02 +02:00
erwanlr
f2d205e576 Adds DB update system 2014-09-10 16:31:04 +02:00
ethicalhack3r
bf5bde0e36 Slight changes 2014-09-10 16:27:08 +02:00
ethicalhack3r
18314adce2 Update license #435 2014-09-10 16:23:26 +02:00
erwanlr
d1a7a0ee1f Db Update draft 2014-09-10 12:52:52 +02:00
Christian Mehlmauer
eb73025338 directory listing 2014-09-05 18:27:06 +02:00
Christian Mehlmauer
66cd3e08a0 Detect directory listing in upload folder 2014-09-05 18:25:46 +02:00
Peter
aa8e525681 Prepare CHANGELOG, added stats 2014-09-04 21:47:04 +02:00
erwanlr
7a36f89124 Adds WP 4.0 fingerprints 2014-09-04 20:13:02 +02:00
erwanlr
3e56acab64 Merge pull request #679 from jeffmcjunkin/master
Update README - fix typo in Ubuntu 14.04 instructions
2014-09-02 20:13:38 +01:00
jeffmcjunkin
012670b349 Update README - fix typo in Ubuntu 14.04 instructions
"sudo apt-get install" line had "build-essentials" instead of "build-essential"
2014-09-02 12:05:16 -07:00
erwanlr
44cb13644a Typo, sort of ... 2014-09-02 20:43:37 +02:00
erwanlr
bd8e6db092 Don't try to play with the comments in passive detection, just ignore them 2014-09-02 20:42:17 +02:00
erwanlr
96ae8ade5d Fixes the remove_conditional_comments function 2014-09-02 18:34:01 +02:00
erwanlr
04b1cee71e Factorises a crappy spec - Kudos to @hlissner for this one ;) 2014-09-02 17:12:56 +02:00
Peter
bd07cf859f Prepare CHANGELOG for the new WPScan release 2014-09-02 10:22:54 +02:00
Christian Mehlmauer
e937906647 Be more verbose when no version can be detected 2014-09-01 20:00:59 +02:00
erwanlr
03618f38b5 Improves the Plugins & Themes passive detection, fixes #674 2014-09-01 18:28:09 +02:00
Christian Mehlmauer
94fdddb056 Merge branch 'master' of github.com:wpscanteam/wpscan 2014-08-30 12:18:55 +02:00
Christian Mehlmauer
12dfc60f75 Added detection for Yoast Wordpress SEO plugin 2014-08-30 12:18:31 +02:00
erwanlr
a383d12061 Ensures to give a string to Typhoeus 2014-08-29 20:41:17 +02:00
Christian Mehlmauer
3131c6cb5d fix #673 2014-08-29 07:27:29 +02:00
erwanlr
5f53297f58 Also ensure to not process empty Location headers 2014-08-15 23:00:42 +02:00
erwanlr
cebd808674 Ensures a nil location is not processed when enumerating usernames 2014-08-15 22:54:17 +02:00
erwanlr
30a07f037e Fixes #661 - Don't hash directories named like a file 2014-08-14 17:42:08 +02:00
Peter
4ef1387781 Small change in output (coloring) 2014-08-10 13:19:58 +02:00
ethicalhack3r
1578ce2ebd Fix for infinite loop in wpstools #653 2014-08-07 23:05:46 +02:00
Christian Mehlmauer
391fd6c960 Fix Travis 2014-08-07 22:18:22 +02:00
Christian Mehlmauer
ef7ac1d77b Fix #626 2014-08-07 22:01:23 +02:00
Christian Mehlmauer
ca2610d74f Add exception so ruby wpscan.rb http://domain.com is detected 2014-08-07 21:38:37 +02:00
erwanlr
8d8aa52b9b Adds WP 3.9.2, 3.8.4 & 3.7.4 fingerprints - Ref #652 2014-08-06 21:31:00 +02:00
Ryan Dewhurst
84ec0c3964 Merge pull request #647 from wpvulndb/master
Pull Request from WPVULNDB
2014-08-01 14:29:58 +02:00
wpvulndb
f55736599e Commit from WPVULNDB 2014-08-01 14:23:02 +02:00
wpvulndb
b890235a82 Commit from WPVULNDB 2014-08-01 14:23:00 +02:00
wpvulndb
2cc3bc5759 Commit from WPVULNDB 2014-08-01 14:22:54 +02:00
ethicalhack3r
ca100ef7e9 Merge branch 'json_data'
Conflicts:
	data/plugin_vulns.xml
	data/theme_vulns.xml
2014-08-01 13:34:34 +02:00
ethicalhack3r
721cad75a2 Add file 2014-08-01 13:27:40 +02:00
erwanlr
c3110a4ab7 Merge pull request #643 from fgeek/2012-6652
Address CVE-2012-6652. Closes #623
2014-07-31 20:30:28 +01:00
Henri Salo
452aabf89b Address CVE-2012-6652. Closes #623 2014-07-31 22:17:23 +03:00
Peter
adcd6734ef Added Paid Membership Pro Vuln. Fix #627 2014-07-31 20:11:37 +02:00
Peter
a68c1f1cf7 Added Novana Vuln. Fix #630 2014-07-31 20:05:19 +02:00
Peter
712eaf9f1e Corrected a typo 2014-07-31 19:52:09 +02:00
Peter
7e119fa2ac Added Uploadify Vuln. Fix #634 2014-07-31 19:30:54 +02:00
ethicalhack3r
ac90ad0129 Dont use fail 2014-07-31 15:39:48 +02:00
ethicalhack3r
6b61e273a0 Use fail 2014-07-31 15:38:02 +02:00
ethicalhack3r
aab8e85f9d Implement FireFart's feedback 2014-07-31 15:31:07 +02:00
ethicalhack3r
3959892c20 Fix wpstools check-vuln-ref-urls 2014-07-31 15:26:13 +02:00
ethicalhack3r
420ad6cd37 Fix rspecs for new json 2014-07-31 14:08:49 +02:00
Peter
664bff544e git push origin masterMerge branch 'fgeek-vulndb4' 2014-07-31 13:28:23 +02:00
Peter
6716de6635 Fix merge conflict 2014-07-31 13:27:30 +02:00
Peter
4f50fbdfe4 Added new CVE's. Fix #572 2014-07-31 13:16:51 +02:00
Henri Salo
009abb3fd5 References. Added old starbox-voting FPD vulnerability. 2014-07-31 14:08:20 +03:00
Peter
191b4402e1 Added new CVE's. Update #572 2014-07-31 12:39:12 +02:00
Peter
13bc347897 Added new CVE's. Update #572 2014-07-31 12:13:27 +02:00
ethicalhack3r
187e2f1330 Correct wp_vulns file 2014-07-31 12:07:33 +02:00
ethicalhack3r
8d2ec115f5 Changed vuln data references to url 2014-07-31 11:56:14 +02:00
Peter
921596f6f8 Added WP-e-Commerce Vulns. Fix #640 2014-07-31 11:43:42 +02:00
Peter
a00987efc8 Added Email-Newsletter Vuln. Fix #632 2014-07-31 11:29:33 +02:00
Peter
b1a35d9df8 Added Uploader Vuln. Update #633 2014-07-31 11:21:22 +02:00
ethicalhack3r
08dfa4cab2 Implemented Erwan's feedback 2014-07-31 11:14:22 +02:00
erwanlr
63ca695b51 Merge pull request #629 from fgeek/vulndb2
Fixed error in plugin name.
2014-07-31 08:30:02 +01:00
erwanlr
55310247c2 Merge pull request #636 from fgeek/vulndb3
Added references.
2014-07-31 08:29:33 +01:00
Henri Salo
456334af75 Added references. 2014-07-31 09:16:27 +03:00
Henri Salo
38ce047d9e Fixed error in plugin name. 2014-07-31 08:35:21 +03:00
ethicalhack3r
14be7dead5 Work on json database file parsing, still needs some work. 2014-07-30 18:34:42 +02:00
erwanlr
ab2e368c6f Fixes #625 - Only parse styles when needed 2014-07-30 15:36:00 +01:00
Peter
0e7ca594ed Added CVE-2014-4938. Update #572 2014-07-30 16:30:12 +02:00
Peter
f742287496 Added CVE-2014-4937 and CVE-2014-4938. Update #572 2014-07-30 16:18:31 +02:00
Peter
cb37919e76 Added Simple Slider Vuln. Fix #614 2014-07-30 16:02:09 +02:00
Peter
933fc26b66 Merge pull request #624 from fgeek/GeoPlaces
geoplaces4 also uses name GeoPlaces4beta
2014-07-30 15:51:23 +02:00
Henri Salo
8ea94175ac geoplaces4 also uses name GeoPlaces4beta 2014-07-30 16:36:41 +03:00
erwanlr
013fb12c00 Improves the version comparison 2014-07-30 12:13:23 +01:00
erwanlr
1e6b5a1e4d Improves the version comparison 2014-07-30 12:11:04 +01:00
erwanlr
aed20db328 Merge pull request #621 from fgeek/vulndb
haiku-minimalist-audio-player osvdb reference
2014-07-30 12:02:49 +01:00
Henri Salo
332684f4e2 haiku-minimalist-audio-player osvdb reference 2014-07-30 13:47:01 +03:00
erwanlr
12d275c26b Updates bulletproof-securty vulns 2014-07-30 10:56:30 +01:00
ethicalhack3r
9b1312c7d9 Incorrect DB 2014-07-29 23:15:56 +02:00
Christian Mehlmauer
874b069357 Added metasploit module 2014-07-29 20:40:45 +02:00
erwanlr
03a917c326 Merge pull request #616 from fgeek/CVE-2012-6651
CVE-2012-6651/vitamin
2014-07-29 08:23:04 +01:00
erwanlr
6a5560a0b1 Merge pull request #617 from fgeek/media-library-categories
media-library-categories OSVDB ID correction
2014-07-29 08:22:36 +01:00
Henri Salo
6b0bbdc605 media-library-categories OSVDB ID correction 2014-07-29 08:11:43 +03:00
Henri Salo
4c0608d47d CVE-2012-6651/vitamin 2014-07-29 08:06:56 +03:00
Christian Mehlmauer
2e1aede8b4 Added metasploit module 2014-07-28 22:44:46 +02:00
Peter
2c3e968710 Added CVE-2014-4942. Update #572 2014-07-28 20:54:00 +02:00
Peter
ecf45803e0 Added Magazine Basic Theme vuln. Fix #597 2014-07-28 20:27:42 +02:00
Peter
2e4ede4251 Change WPtouch. Fix #587 2014-07-28 10:46:51 +02:00
Peter
4f52649f28 Change portable-phpmyadmin. Fix #583 2014-07-27 21:37:00 +02:00
Peter
11e58ff88d Added OSVDB 71966. Fix #607 2014-07-27 20:55:38 +02:00
erwanlr
a7c097a5a9 Merge pull request #612 from fgeek/pluginvulns2
CVE-2013-0721/wp-php-widget. Closes #599
2014-07-27 17:34:06 +01:00
erwanlr
8c53686697 Merge pull request #611 from fgeek/pluginvulns
mp3-jplayer vulnerability, references
2014-07-27 17:31:59 +01:00
Henri Salo
6754f1467a CVE-2013-0721/wp-php-widget. Closes #599 2014-07-27 19:25:11 +03:00
Henri Salo
fb98b3cc9a mp3-jplayer vulnerability, references 2014-07-27 19:18:25 +03:00
erwanlr
729f6fd308 Merge pull request #610 from fgeek/vulndb2
Adds detection for wp-imagezoom download.php file upload php code execution vulnerability
2014-07-27 13:56:56 +01:00
erwanlr
e2b0711271 Merge pull request #609 from fgeek/vulndb
Added references. Also closes #608.
2014-07-27 13:50:52 +01:00
Henri Salo
eb8cffb1a8 Adds detection for wp-imagezoom download.php file upload php code execution vulnerability 2014-07-27 15:48:45 +03:00
Henri Salo
d7e534ca74 Added references. Also closes #608. 2014-07-27 15:34:22 +03:00
erwanlr
347e261748 Merge pull request #605 from fgeek/user-photo
CVE-2013-1916/user-photo
2014-07-27 10:49:21 +01:00
Henri Salo
7deb9c4fbf CVE-2013-1916/user-photo 2014-07-27 12:42:27 +03:00
erwanlr
c1ab5ad929 Merge pull request #604 from fgeek/vulndb
Added references
2014-07-26 23:40:05 +01:00
Henri Salo
2686c37aa1 Added references 2014-07-27 01:29:00 +03:00
erwanlr
45edb9973d Merge pull request #602 from fgeek/dbdata2
Added references
2014-07-26 21:04:03 +01:00
Henri Salo
2bd4ce08c4 Added references 2014-07-26 22:30:36 +03:00
erwanlr
460d1ac86c Merge pull request #601 from fgeek/dbdata
Added references for plugin vulns
2014-07-26 20:28:29 +01:00
erwanlr
9df8da0b6f Merge pull request #596 from fgeek/theme-famous
famous OSVDB item
2014-07-26 20:22:36 +01:00
erwanlr
baaf85f567 Merge pull request #595 from fgeek/readme-change
Fixed typo, added note about pyfiscan as it is made for that reason.
2014-07-26 20:22:20 +01:00
erwanlr
6ffe817e86 Merge pull request #593 from fgeek/2013-7102
CVE-2013-7102/optimizepress fixed in version
2014-07-26 20:21:49 +01:00
erwanlr
edbdbdac56 Merge pull request #592 from fgeek/classipress
CVE-2011-5257/classipress
2014-07-26 20:21:21 +01:00
erwanlr
11c3c6d20e Merge pull request #591 from fgeek/buddypress
CVE-2012-2109/buddypress
2014-07-26 20:21:10 +01:00
erwanlr
81019b9fc8 Merge pull request #589 from fgeek/changes
Added references
2014-07-26 20:20:55 +01:00
erwanlr
4514123279 Merge pull request #582 from fgeek/CVE-2011-4562
CVE-2011-3981/allwebmenus-wordpress-menu-plugin, CVE-2011-4562/redirection
2014-07-26 20:20:38 +01:00
Henri Salo
0fc4a448aa New references 2014-07-26 22:19:24 +03:00
Henri Salo
bde51cc946 famous OSVDB item 2014-07-26 21:27:20 +03:00
Henri Salo
4f7e29163f Fixed typo, added note about pyfiscan as it is made for that reason. 2014-07-26 21:23:53 +03:00
Henri Salo
7837d1f6e8 CVE2013-7102/optimizepress fixed in version 2014-07-26 21:14:31 +03:00
Henri Salo
99bb300559 CVE-2011-5257/classipress 2014-07-26 21:09:12 +03:00
Henri Salo
f1108ef7d1 CVE-2012-2109/buddypress 2014-07-26 20:56:38 +03:00
Henri Salo
bd6cfec71c Added references. 2014-07-26 20:43:18 +03:00
Henri Salo
ef3ed86096 CVE-2011-4562/redirection 2014-07-26 18:26:28 +03:00
Henri Salo
097898b120 CVE-2011-3981/allwebmenus-wordpress-menu-plugin 2014-07-26 17:05:06 +03:00
Ryan Dewhurst
6fbf2643a1 Merge pull request #577 from fgeek/wysija-newsletters
CVE-2014-4725
2014-07-24 23:29:58 +02:00
Ryan Dewhurst
a1989c105e Merge pull request #576 from fgeek/readme
Added make to Debian installation guide, which is needed in minimal installation.
2014-07-24 23:29:00 +02:00
Henri Salo
97426e6d7d CVE-2014-4725 2014-07-24 13:12:09 +03:00
Henri Salo
b2e1b65ae5 Added make to Debian installation, which is needed in minimal installation. 2014-07-24 12:57:13 +03:00
Peter
06c8d34451 Added CVE-2014-4944. Update #572 2014-07-22 12:36:00 +02:00
erwanlr
ecba81ea5b Fixes #575 - Typo in a package name 2014-07-20 19:42:04 +02:00
Christian Mehlmauer
26e0066c82 Only output if different from style_url 2014-07-16 18:38:39 +02:00
Christian Mehlmauer
6ebb9b6f66 Fixed false positive theme detection 2014-07-16 18:25:35 +02:00
Christian Mehlmauer
102e30c29a Added metasploit module for WPTouch 2014-07-15 23:36:41 +02:00
ethicalhack3r
a8a716e0bd Change metasploit url to updated one 2014-07-15 14:35:56 +02:00
ethicalhack3r
9e23aaa5c0 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-07-15 13:21:55 +02:00
ethicalhack3r
9b059c3985 Add wptouch vuln 2014-07-15 13:21:30 +02:00
Peter
2d3c7e65d2 Added CVE's. Update #567 2014-07-15 00:03:10 +02:00
Peter
9e7d3462ab Added CVE's. Update #567 2014-07-14 07:28:32 +02:00
Peter
aececf980b Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-07-11 18:22:42 +02:00
Peter
e5f3b4bf1d Added some missing Theme names 2014-07-11 18:20:30 +02:00
ethicalhack3r
9b629bb1c4 Backticks to 4 spaces 2014-07-11 17:07:33 +02:00
ethicalhack3r
9e39a57231 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-07-11 17:03:24 +02:00
ethicalhack3r
47e9608aa2 Update links in MD 2014-07-11 17:02:29 +02:00
erwanlr
2f012caa3e Removes the remaining bacticks 2014-07-11 17:01:21 +02:00
ethicalhack3r
e835fc3ac0 MD test 2014-07-11 16:59:50 +02:00
ethicalhack3r
5240e9ce98 MD test 2014-07-11 16:57:59 +02:00
ethicalhack3r
b8ab2c839f MD test 2014-07-11 16:56:59 +02:00
ethicalhack3r
1ee81b90bf Change bacticks to 4 spaces in MD 2014-07-11 16:52:54 +02:00
ethicalhack3r
1354f2debb Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-07-11 16:50:31 +02:00
ethicalhack3r
7373ea24d8 Markdown test 2014-07-11 16:50:17 +02:00
erwanlr
7fc03461ba MD Test 2014-07-11 16:49:47 +02:00
ethicalhack3r
a5e45e2d79 Markdown test 2014-07-11 16:43:00 +02:00
ethicalhack3r
42cf2ac19b Markdown test 2014-07-11 16:42:10 +02:00
ethicalhack3r
6098d064a7 Markdown test 2014-07-11 16:41:16 +02:00
ethicalhack3r
cd79f576b7 Change markdown back 2014-07-11 16:39:18 +02:00
ethicalhack3r
4039a4a820 Quick markdown test 2014-07-11 16:38:17 +02:00
ethicalhack3r
919085d829 Use absolute URL for repo page 2014-07-11 16:26:02 +02:00
ethicalhack3r
88f27b39c4 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-07-11 16:25:24 +02:00
ethicalhack3r
b1f38a51fe Use local WPScan logo 2014-07-11 16:25:06 +02:00
Peter
ef0253ee9e Added CVE's. Update #554 2014-07-11 16:20:46 +02:00
ethicalhack3r
3cf33af0e2 Add build-essentials requirement to Ubuntu > 14.04 2014-07-11 15:24:14 +02:00
Ryan Dewhurst
3eaa060aac Merge pull request #565 from fgeek/readme
Updated installation instr. for GNU/Linux Debian.
2014-07-11 12:01:32 +02:00
Henri Salo
cf4efee340 Updated installation instr. for GNU/Linux Debian. 2014-07-11 10:04:08 +03:00
Peter
0b04a96e15 Added CVE's. Update #554 2014-07-10 19:50:34 +02:00
Peter
c1d928c503 Added CVE's. Fix #564 2014-07-10 18:20:22 +02:00
Christian Mehlmauer
479b21a722 Replace all occurences 2014-07-10 00:30:33 +02:00
Christian Mehlmauer
ceeaeaf487 better username extraction 2014-07-10 00:24:20 +02:00
Peter
d5179b742b Added CVE's. Update #554 2014-07-09 22:09:55 +02:00
Peter
b38055c497 Added CVE-2014-4560, CVE-2014-4563. Update #554 2014-07-09 09:45:40 +02:00
Peter
ff1e9e63d6 Added CVE-2014-4603. Fix #550 2014-07-09 09:27:17 +02:00
Peter
a1a4293851 Added CVE-2014-4588. Fix #521 2014-07-09 09:17:51 +02:00
Peter
f39cc8ee53 Update vuln db 2014-07-07 21:02:06 +02:00
Peter
9fc5b90f25 Update vuln db 2014-07-06 23:19:55 +02:00
erwanlr
e7c9c884e9 Adds the NextGen Arbitrary File Upload vuln 2014-07-06 22:16:49 +02:00
Christian Mehlmauer
0469128917 They released another fix 2014-07-06 10:58:16 +02:00
erwanlr
656e38eae7 Updates the timthumbs list 2014-07-05 21:24:09 +02:00
Christian Mehlmauer
95721350da Added metasploit exploit 2014-07-03 21:47:41 +02:00
erwanlr
98d9e87356 Changes VersionCompare#is_newer_or_same? by lesser_or_equal? 2014-07-03 12:33:27 +02:00
erwanlr
a69cb4f4c2 Fixes #515 - theme-my-login LFI added 2014-07-03 10:05:33 +02:00
erwanlr
f42ea74e26 Adds the Parallax timthumb file location. Ref #506 2014-07-02 13:03:05 +02:00
erwanlr
d9b86f9922 Fix Timthumb RCE detection for version 2.0 (which was excluded) 2014-07-02 12:17:14 +02:00
erwanlr
605e9cfe6d Changes the vulnerable version of timthumb to 1.33 instead of 1.34 2014-07-01 22:10:01 +02:00
erwanlr
dd53c7b200 Fix #506 - Timthumbs WebShot RCE detection 2014-07-01 21:44:39 +02:00
ethicalhack3r
f9b10dc9db Added wysija-newsletters plugin file upload found by Sucuri 2014-07-01 18:04:09 +02:00
erwanlr
daef491d3e Changes the email in the Readme 2014-06-30 20:59:26 +02:00
erwanlr
95fde17d97 Updates the recommended ruby version 2014-06-30 20:57:06 +02:00
erwanlr
2c6cbb7799 Fix #509 - Stored XSS & CSRF in simple-share-buttons-adder 2014-06-30 20:51:33 +02:00
erwanlr
3498d4317a Fix #513 - login-rebuilder CSRF 2014-06-30 20:45:30 +02:00
erwanlr
611ef49d03 Merge pull request #511 from fgeek/pluginvulns
CVE-2014-4030 assigned
2014-06-28 10:08:53 +01:00
Henri Salo
fd2212db7b CVE-2014-4030 assigned 2014-06-27 18:37:25 +03:00
Christian Mehlmauer
4d8b8ba64c Changed text
in single sites it seems to be user registration, and
blog registration on multusite installations
2014-06-27 13:17:55 +02:00
Christian Mehlmauer
32fe70a354 Output registration URL 2014-06-27 00:15:55 +02:00
Christian Mehlmauer
e2652df546 Added fixed_in 2014-06-26 23:50:49 +02:00
ethicalhack3r
d1427d5f99 Add url to featured-comments plugin 2014-06-26 22:04:53 +02:00
Peter
ef814f3602 Added CVE-2012-6649. Fix #508 2014-06-26 15:21:24 +02:00
Peter
00acc8289e Added CVE-2012-6649. Fix #508 2014-06-26 15:20:05 +02:00
Peter
341f980974 Added CVE-2012-6649. Fix #509 2014-06-26 14:44:53 +02:00
Peter
1b7ea5bed3 Update vuln db 2014-06-26 08:35:02 +02:00
Peter
ee1c92ffa0 Small change vuln db 2014-06-25 15:08:59 +02:00
Peter
0114a50f61 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-06-25 11:51:56 +02:00
Peter
c7c9e105ef Update vuln db 2014-06-25 11:50:20 +02:00
ethicalhack3r
3e31e71116 Added old disqus sqli bug. Poss fake... 2014-06-25 11:28:17 +02:00
ethicalhack3r
e74b1d2210 Add new disqus RCE vuln 2014-06-25 11:25:41 +02:00
Ryan Dewhurst
1ca2f28187 Merge pull request #507 from fgeek/pluginvulns
CVEs for old issues
2014-06-25 09:39:55 +02:00
Henri Salo
9fc75b651e CVE for OSVDB item 85134 2014-06-25 10:02:48 +03:00
Henri Salo
934a6acdd2 CVE for OSVDB item 107297 2014-06-25 09:54:56 +03:00
Peter
88adc5676f Update vuln db 2014-06-24 22:11:53 +02:00
Peter
f27483ea7b Merge pull request #505 from fgeek/readmechanges
Changed copyright year. Small change to prerequirements.
2014-06-24 15:00:46 +02:00
Henri Salo
6a11c620cf Changed copyright year. Small change to prerequirements. 2014-06-24 12:15:57 +03:00
Peter
7281f15051 Add wp-football vulnerabilities in db 2014-06-24 10:58:01 +02:00
Peter
b1196fb09b Small change to correct XML tag 2014-06-19 20:38:24 +02:00
Peter
27fb875c0d Small change to correct XML tag 2014-06-19 20:36:22 +02:00
Peter
3cdeac5dfb Fix #503. Update CREDITS 2014-06-19 12:49:31 +02:00
Peter
e1c47ce5c3 Fix #490. Add a disclaimer file. 2014-06-19 09:51:23 +02:00
Peter
d9523cb1bc Update vuln db 2014-06-17 22:17:08 +02:00
Peter
bd2403388e Added CVE-2014-3921. Fix #497 2014-06-17 21:38:41 +02:00
Christian Mehlmauer
7511208b8b Update README 2014-06-17 16:56:36 +02:00
Christian Mehlmauer
4586d44c1f Update README.md 2014-06-17 16:55:43 +02:00
Peter
717e5b07d1 Added CVE-2014-3961. Fix #498 2014-06-17 13:19:56 +02:00
ethicalhack3r
2c6082f454 Tell Travis to ignore Ruby 1.9.2 errors 2014-06-17 12:12:05 +02:00
Christian Mehlmauer
586239292b Try to fix Travis 2014-06-17 10:59:02 +02:00
Christian Mehlmauer
7bd1c87bf6 Update README 2014-06-17 07:12:26 +02:00
Christian Mehlmauer
6eded4cdc2 Update README.md 2014-06-17 07:12:18 +02:00
Christian Mehlmauer
5e693f2274 Update README.md 2014-06-17 07:12:01 +02:00
Christian Mehlmauer
b0e3aeed6c Update README 2014-06-17 07:08:41 +02:00
Peter
dd9ef38636 Removed useless line in Vuln db 2014-06-16 09:52:43 +02:00
Peter
32df782470 Added CVE-2013-3937. Fix #499 2014-06-16 07:46:07 +02:00
Peter
1d9162930c Added CVE-2013-3257. Fix #500 2014-06-15 09:31:46 +02:00
Peter
152d02bcbe Added CVE-2013-3258. Fix #501 2014-06-15 09:23:35 +02:00
ethicalhack3r
2cc4dc724b Made title of some vulns smaller 2014-06-11 23:22:17 +02:00
Peter
1ee14f4c69 Update vuln db 2014-06-10 08:47:25 +02:00
Christian Mehlmauer
7748019a76 Update pre-commit-hook.rb 2014-06-07 00:28:37 +02:00
Peter
8241a1d8a3 Update README. Fixes: #496, #482 and #477 2014-06-06 09:36:33 +02:00
Peter
83e3373561 Update vuln db 2014-06-04 09:08:41 +02:00
erwanlr
c8c126d444 Rspec 3.0 support 2014-06-02 22:06:49 +02:00
erwanlr
c12b1d0670 Pre-transpec 2014-06-02 22:02:44 +02:00
Peter
5caf4f45a9 Fix #494. All in one SEO pack vulnerability 2014-06-02 20:25:58 +02:00
Christian Mehlmauer
8f51ff2910 Merge branch 'master' of github.com:wpscanteam/wpscan 2014-05-31 15:59:26 +02:00
Christian Mehlmauer
6b8436f825 Replace some '/' by File.join 2014-05-31 15:59:05 +02:00
erwanlr
c4b146b36b Fixes #489 - Adds bib2html CVE 2014-05-29 14:53:42 +02:00
erwanlr
098b14884d Fixes #491 - DZS Video Gallery Content Spoofing & XSS 2014-05-29 14:46:54 +02:00
Peter
47d8818028 Update vuln db 2014-05-28 11:18:58 +02:00
erwanlr
e3bc50a163 Fixes #487 2014-05-27 14:55:42 +02:00
Christian Mehlmauer
34ba6a86c9 set ruby version and gemset for rvm users 2014-05-27 09:45:16 +02:00
Peter
2369ef53ac Update vuln db 2014-05-25 22:02:52 +02:00
erwanlr
8d3907ff65 Fixes the location of the robots.txt check 2014-05-22 17:45:10 +02:00
erwanlr
2760eaca85 Adds ruby 2.1.2 to Travis 2014-05-22 17:41:01 +02:00
erwanlr
af0319cc66 Adds a --cookie option. Ref #485 2014-05-22 17:34:09 +02:00
Peter
e050539747 Update vuln db 2014-05-22 09:20:08 +02:00
erwanlr
451756c764 Merge pull request #484 from fgeek/master
Address CVE-2014-3210
2014-05-21 19:22:50 +02:00
Henri Salo
afa40df7ad Address CVE-2014-3210 2014-05-21 20:03:26 +03:00
Henri Salo
fb2b606d26 Address CVE-2014-3210 2014-05-21 20:02:55 +03:00
Peter
e0ebd47730 Update vuln db 2014-05-18 00:31:25 +02:00
Peter
e97f4e8020 Fix for Jetpack plugin false positive. Fix: #481 2014-05-15 08:05:12 +02:00
erwanlr
79f07b7350 Properly removes the colour sequence from log. Fixes #480 2014-05-14 18:33:23 +02:00
Peter
c1c8829536 Update vuln db 2014-05-13 22:42:28 +02:00
Peter
ef20371562 Timthumb in MoneyTheme
See also: http://packetstormsecurity.com/files/123819/
2014-05-12 20:34:31 +02:00
ethicalhack3r
c08f275cf7 Updated Gemfile 2014-05-12 16:57:34 +02:00
ethicalhack3r
6f995fe350 Updated ruby-progressbar to 1.5.0 2014-05-12 16:23:08 +02:00
Peter
68aec92d3a Update vuln db 2014-05-11 00:04:37 +02:00
erwanlr
dda328210c Bumps the version 2014-05-10 16:10:57 +02:00
erwanlr
c3f4f232e3 Updates the plugin & theme lists 2014-05-10 16:09:54 +02:00
erwanlr
302f1da066 Ensures a clean abort of Hydra, Ref #461 2014-05-10 10:23:24 +02:00
erwanlr
a6e65d33dd Updates ruby-progressbar constraint 2014-05-10 10:02:14 +02:00
Christian Mehlmauer
7b0cb29466 XML check rspecs
Example output:
  1) XML content each plugin vuln needs a type node
     Failure/Error: @result.should have(0).items, "Items:\n#{@result.join("\n")}"
       Items:
       ReFlex Gallery 1.4 - reflex-gallery.php Direct Request Path Disclosure
       Gallery Plugin 3.8.3 - gallery-plugin.php filename_1 Parameter Arbitrary File Access
       EZPZ One Click Backup <= 12.03.10 - OS Command Injection
       BulletProof Security - Security Log Script Insertion Vulnerability
       Portable phpMyAdmin - /pma/phpinfo.php Direct Request System Information Disclosure
       HMS Testimonials 2.0.10 - CSRF
       HMS Testimonials 2.0.10 - XSS
       platinum_seo_pack.php - s Parameter Reflected XSS
       Email Newsletter 8.0 - 'option' Parameter Information Disclosure Vulnerability
2014-05-09 17:58:04 +02:00
ethicalhack3r
a3eedb14f4 Added missing type nodes 2014-05-09 15:38:30 +02:00
ethicalhack3r
74d73a1d17 Added missing type node 2014-05-09 15:29:18 +02:00
ethicalhack3r
92e7e8516c Added missing type node 2014-05-09 15:25:26 +02:00
ethicalhack3r
61ac0b7d20 Added missing type node 2014-05-09 15:22:30 +02:00
ethicalhack3r
8b4ea7fd7c Added missing type 2014-05-09 15:15:47 +02:00
ethicalhack3r
90846cf770 Added missing type to vuln 2014-05-09 15:05:01 +02:00
ethicalhack3r
a9e33ea282 Added missing type 2014-05-09 14:58:57 +02:00
ethicalhack3r
eea006e787 Added missing type node 2014-05-09 14:53:27 +02:00
Peter
9e58098e5c Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-05-09 08:32:08 +02:00
Peter
ff49f574d4 Merge branch 'droope-patch-1' 2014-05-09 08:30:18 +02:00
Peter
599d816a88 Solve Git Merge conflict 2014-05-09 08:13:33 +02:00
Pedro Worcel
4b0dd04114 Update plugin_vulns.xml
add <vulnerability> tag
2014-05-09 10:49:55 +12:00
erwanlr
36a0fbf181 Adds 3.9.1 fingerprints 2014-05-08 21:20:36 +02:00
erwanlr
3cfd8f40da Removes the Travis failure allowed for ruby-2.1.0 2014-05-08 15:06:27 +02:00
Christian Mehlmauer
23173c4bf4 Merge pull request #476 from droope/patch-2
Update plugin_vulns.xml
2014-05-08 09:21:10 +02:00
Pedro Worcel
722c31ccd9 Update plugin_vulns.xml
Hi there,

adding http://packetstormsecurity.com/files/126521/wpphotogallery-xsrf.txt to the list, security researcher was a bad boy and didn't specify version or anything.

Ta,
Pedro
2014-05-08 17:40:15 +12:00
Pedro Worcel
7623a01272 Update plugin_vulns.xml
Added code exec + others in iMember360is. I assume the name of the plugin is "infusion4wp" due to the fact that you can download a zip file from here http://docs.imember360.com/welcome/ which has that as the zip root folder.
2014-05-08 17:23:22 +12:00
Peter
1b90fdce73 Update vuln db 2014-05-06 09:14:29 +02:00
Peter
ce57db9526 Fixed vulnerabilities in statistics 2014-05-05 18:42:36 +02:00
Peter
8b9e47cd11 Update vuln db 2014-05-05 00:24:37 +02:00
Peter
a87a261b80 Markup the command help 2014-05-02 15:31:09 +02:00
Peter
989d561679 Small updates for the --no-color argument switch 2014-05-02 15:04:59 +02:00
Peter
b349990b19 Added a --no-color argument switch 2014-05-02 14:43:16 +02:00
Peter
2104b49cee Output: Give 'Fixed in' an informational tag' 2014-05-02 13:42:10 +02:00
Peter
77606efb77 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-05-01 12:09:04 +02:00
Peter
6164ad2ab1 Fix #472. WPScan stops after redirection if not WordPress website 2014-05-01 12:08:03 +02:00
erwanlr
a60d58dcb0 Merge pull request #473 from fgeek/master
CVE-2014-3114
2014-05-01 11:47:02 +02:00
Henri Salo
4e45d17ad2 CVE-2014-3114 2014-05-01 12:13:43 +03:00
erwanlr
c8e614d064 Allows ruby-2.1.0 to fail until a solution is found 2014-04-30 23:22:09 +02:00
Peter
544beeb078 Update vuln db 2014-04-30 22:25:00 +02:00
erwanlr
a00f0d8367 Fixes #464 - Readmes updated to reflect recent changes about the config file & batch mode 2014-04-30 16:59:17 +02:00
Peter
ea57290792 Added ArchAssault distro - WPScan comes pre-installed with this distro 2014-04-27 16:56:01 +02:00
Peter
603a4afaf3 Merge pull request #470 from wpscanteam/layout-423
New improved Layout (see #423)
2014-04-27 16:02:54 +02:00
Peter
19e2772729 Update wpscan.rb 2014-04-27 15:49:15 +02:00
Peter
82ebb82a5f Small change in code 2014-04-27 15:40:12 +02:00
Peter
516ae6b68c Fix git merge problem 2014-04-27 15:32:10 +02:00
Peter
59225a4b9c Update vuln db 2014-04-25 15:43:55 +02:00
Peter
1da9d36ecc Update vuln db 2014-04-22 21:11:15 +02:00
Peter
0787e5c738 Update vuln db - #467 2014-04-22 13:04:51 +02:00
erwanlr
8a661088bb Bumping 2.4 2014-04-17 15:00:03 +02:00
erwanlr
91659a32af Ful Plugin List regenerated 2014-04-17 13:22:46 +02:00
Peter
5f8cd7e5c4 Update CHANGELOG for release 2.4 - Only release date needs to be changed 2014-04-17 12:49:35 +02:00
Peter
bc3f62a766 Update CHANGELOG for release 2.4 - Statistics to be done 2014-04-17 12:03:26 +02:00
erwanlr
92faedb4a5 Theme lists updated 2014-04-17 10:12:27 +02:00
erwanlr
6f7008dd91 WP 3.9 fingerprints 2014-04-16 22:52:17 +02:00
erwanlr
447589541f Fixes #458 - Follow the location when hashing a page 2014-04-16 15:55:34 +02:00
erwanlr
45f5f50262 Fixes #456 - stop-user-enumeration detection & script for bypass 2014-04-16 15:09:41 +02:00
erwanlr
f77a27ecc3 Merge branch 'follow-redirect-with-batch' 2014-04-15 22:58:39 +02:00
Peter
09de2eb194 Update vuln db 2014-04-15 22:53:24 +02:00
erwanlr
7747a5665b Ref #454 - --follow-redirection now works along with the --batch option 2014-04-15 22:48:22 +02:00
erwanlr
aa617b5106 typo 2014-04-15 17:02:45 +02:00
erwanlr
8038e2e01a Ref #455 - Fails with a message if the target returns a 403 during the wordpress check 2014-04-15 17:02:22 +02:00
erwanlr
212b068a8d Adds the referer to request 2014-04-15 16:24:19 +02:00
Peter
2bcea0b566 Update vuln db 2014-04-15 09:19:22 +02:00
Peter
512d4f2fb9 Update for issue #448 - Plupload Unspecified XSS 2014-04-14 23:48:27 +02:00
erwanlr
b524546e9c WP 3.8.3 & 3.7.3 fingerprints 2014-04-14 22:32:38 +02:00
ethicalhack3r
f91e287207 Fix typo 2014-04-14 19:52:19 +02:00
ethicalhack3r
0fcf0a6a88 Fix typo and string appending 2014-04-14 19:49:54 +02:00
ethicalhack3r
f9f3d74a3b Add MWR CVE-2014-0166 link 2014-04-14 19:29:45 +02:00
Peter
2bfd0f2cc0 Update vuln db 2014-04-14 14:22:33 +02:00
Peter
cdeb2eebe5 Update vuln db 2014-04-14 14:19:43 +02:00
ethicalhack3r
5134516afc Theme name not in correct format 2014-04-14 12:50:48 +02:00
Peter
e14b5d99eb Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-04-14 12:39:06 +02:00
Peter
a0375f52cf Update Jetpack vuln. See issue #452 2014-04-14 12:37:22 +02:00
ethicalhack3r
69dbcf3947 Plugin name did not adhere to usual format, updated. 2014-04-14 12:36:44 +02:00
Peter
79387730bc Update vuln db 2014-04-13 22:34:53 +02:00
ethicalhack3r
3e6b019044 Fix CVE value 2014-04-11 20:35:03 +02:00
Peter
1886b90be7 Update vuln db 2014-04-11 18:42:03 +02:00
erwanlr
85421f9b4b Fix #454 --batch option added 2014-04-11 16:45:44 +02:00
ethicalhack3r
3749ef8433 Added some plugin vulns reported by dxw 2014-04-11 15:46:29 +02:00
Christian Mehlmauer
dfb3e98fec Fixes Issue #453
-) Fixed options
-) Fixed "unrecognized method 'verbose' for nil:NilClass when supplying an unknown option
2014-04-10 01:14:38 +02:00
Peter
a40442c8a9 Removed 'Total WordPress Sites in the World' counter from stats 2014-04-11 10:27:24 +02:00
Peter
a7396d6bee Update vuln db 2014-04-11 10:19:04 +02:00
erwanlr
507c4c67ff Ref #451 - Do not rely only on files in wp-content for fingerprinting 2014-04-11 00:05:31 +02:00
erwanlr
cbdc04e929 Ref #451 - Do not rely only on files in wp-content for fingerprinting 2014-04-11 00:04:17 +02:00
ethicalhack3r
a6582a1da3 Jetpack plugin critical update vuln added #452 2014-04-10 23:06:12 +02:00
Peter
3d8f3df8f1 Update CVE-2014-0165 and CVE-2014-0166 (Ref #448) 2014-04-10 08:40:48 +02:00
ethicalhack3r
7b8dbdedb5 Amend new SQLi vuln title 2014-04-09 23:25:53 +02:00
ethicalhack3r
53b13eacaa Added CVE-2014-0165 #448 2014-04-09 23:03:22 +02:00
ethicalhack3r
fcc76d99ef Wrong CVE format 2014-04-09 16:36:18 +02:00
ethicalhack3r
9a2141025a Added WP 3.8.1 vulns. See #448 2014-04-09 16:30:20 +02:00
erwanlr
bfe3285375 WP 3.8.2 & 3.7.2 Fingerprints added (Ref #448) 2014-04-08 21:24:10 +02:00
Peter
5cf9c6e073 Update vuln db - changed some titles 2014-04-08 09:28:24 +02:00
Peter
5e00d77e69 Merge pull request #447 from droope/arb-fileupload-add
add more templates which are vulnerable to 1337day.com/exploit/22090
2014-04-08 09:13:18 +02:00
Peter
a4dfb05d0c Update vuln db 2014-04-08 09:04:52 +02:00
Pedro Worcel (Security-Assessment.com)
97a798e357 add more templates which are vulnerable to 1337day.com/exploit/22090 2014-04-08 11:40:38 +12:00
Ryan Dewhurst
47aafe88f8 Merge pull request #444 from droope/patch-2
Wordpress Templatic Themes CSRF
2014-04-07 09:23:22 +02:00
Ryan Dewhurst
bc356ab8e5 Merge pull request #443 from droope/patch-1
wordpress plugin "wp-business-intelligence" RCE
2014-04-07 09:22:20 +02:00
Your Name
dd5cdfd848 fix indentation 2014-04-07 12:19:22 +12:00
Pedro Worcel
de2cb08a6b Wordpress Templatic Themes CSRF
Add http://1337day.com/exploit/22091

Couldn't verify myself because themes are paid, but files seem to exist and are possibly vulnerable.
2014-04-07 12:07:13 +12:00
Pedro Worcel
9a2550ad48 wordpress plugin "wp-business-intelligence" RCE
Hi there,

Found this exploit, adding.
2014-04-07 11:21:00 +12:00
erwanlr
2f6e4c0736 typo 2014-04-06 14:51:57 +02:00
erwanlr
a9c5cbf11f Only output error trace if verbose if enabled 2014-04-05 13:44:20 +02:00
erwanlr
facd0d398a Fix #439 - Detect if the target goes down during the scan 2014-04-05 13:12:57 +02:00
erwanlr
1b2fc5d403 Merge pull request #441 from fgeek/master
Added CVE for OSVDB item 104402.
2014-04-05 11:50:30 +02:00
Henri Salo
9d290aa533 Added CVE for OSVDB item 104402. 2014-04-05 12:34:52 +03:00
erwanlr
9046291128 Fix #440 - Old wpscan repo links removed 2014-04-05 11:21:21 +02:00
Peter
59131b6b51 Update vuln db 2014-04-03 09:29:40 +02:00
erwanlr
3725a23c49 Fix #438 - New choice added when a redirection is detected 2014-04-02 19:43:17 +02:00
erwanlr
812c42c89a Site5 Themes Email Spoofing vuln updated 2014-04-02 18:06:32 +02:00
Peter
285d7d3265 Update vuln db 2014-04-01 15:16:04 +02:00
erwanlr
134789602b Ruby 2.1.1 added to Travis 2014-03-31 21:01:21 +02:00
Peter
55f49b5f78 Update vuln db 2014-03-31 20:55:06 +02:00
ethicalhack3r
cd8067285f Couple more 404s fixed 2014-03-31 12:50:22 +02:00
Peter
10c09e9375 Update vuln db 2014-03-30 15:40:36 +02:00
erwanlr
bb70c0733a Merge pull request #436 from fgeek/master
Added CVEs
2014-03-30 11:22:41 +02:00
Henri Salo
3dad2b31bb Added CVE for OSVDB 89924 2014-03-30 11:33:51 +03:00
Henri Salo
7844acd70f Added CVE for OSVDB 90406 2014-03-30 11:29:53 +03:00
Peter
f01b0b3404 Update vuln db 2014-03-29 21:53:03 +01:00
erwanlr
10fee6e144 allow-php-in-posts-and-pages SQLi vuln updated 2014-03-29 17:27:11 +01:00
erwanlr
c4c8a8b703 Memory improvements during wp-items enumerations 2014-03-29 12:16:23 +01:00
ethicalhack3r
7053a1e42a Fixed broken link checker, fixed some broken links 2014-03-28 19:06:29 +01:00
ethicalhack3r
fd3c4261de Added wp-html-sitemap and gd-star-rating plugin vulns 2014-03-28 18:32:57 +01:00
erwanlr
d21e475d12 Captcha plugin v2.12-3.8.1 captcha bypass vuln added 2014-03-27 22:49:33 +01:00
erwanlr
48bdf0b2a9 Ref #427 - Note added about version numbering changed 2014-03-27 18:09:50 +01:00
Christian Mehlmauer
ac1c652854 new plugin has a new folder name. missed that 2014-03-26 01:01:22 +01:00
erwanlr
3b286de9db Fix #434 CVEs added 2014-03-27 15:22:22 +01:00
Christian Mehlmauer
cbcb696cfd added leaflet-maps-marker vulnerabilities (sorry there are no details on the last one it was a pentest at work) 2014-03-26 00:54:37 +01:00
Peter
13320ea8cc Update vuln db 2014-03-26 21:34:43 +01:00
erwanlr
bdf45f6a0b Themes & Plugins list updated 2014-03-25 15:18:48 +01:00
Peter
667b1e9f99 Update vuln db 2014-03-24 23:17:23 +01:00
FireFart
e52e82fb78 formatting 2014-03-22 18:12:47 +01:00
FireFart
78cb3f8ee2 Merge remote-tracking branch 'origin/master' into layout-423 2014-03-22 18:01:22 +01:00
FireFart
a0f476fb24 switch over to nist
Closes #301
2014-03-22 17:30:03 +01:00
Christian Mehlmauer
13c32bfe53 Merge pull request #417 from wpscanteam/useragent
Issue #415 - Useragent
2014-03-23 16:25:02 +01:00
FireFart
a54da059ef Closes #431 2014-03-22 16:29:53 +01:00
FireFart
76fe0def4f rspec 2014-03-22 16:23:20 +01:00
FireFart
9a25b747ae Merge branch 'useragent' of github.com:wpscanteam/wpscan into useragent 2014-03-22 16:09:02 +01:00
FireFart
aeefd3e873 rspecs 2014-03-22 16:08:21 +01:00
FireFart
f9efdcb654 config file 2014-03-22 16:08:21 +01:00
FireFart
be672cbcba Added more CLI options 2014-03-22 16:08:21 +01:00
FireFart
c4ca7e471a Add random-agent 2014-03-22 16:08:21 +01:00
FireFart
bbce082ec2 Issue #415 2014-03-22 16:08:21 +01:00
FireFart
781214a2f0 rspecs 2014-03-22 16:05:10 +01:00
FireFart
7942eaf64b config file 2014-03-22 14:47:31 +01:00
erwanlr
36cd3c0c42 No newline at the end of .yml 2014-03-21 10:16:31 +01:00
erwanlr
620bccb102 Forcing Travis notify the team 2014-03-21 10:13:44 +01:00
erwanlr
3ca79bebc7 Proper fix for #429 2014-03-21 09:50:57 +01:00
erwanlr
a1add0cfdb Hotfix for #429 2014-03-21 09:32:38 +01:00
erwanlr
dc22ad1ca1 Hotfix for #429 2014-03-21 09:32:08 +01:00
Peter
010df5a081 Update vuln db 2014-03-21 07:58:24 +01:00
Peter
71e8b22849 Update vuln db 2014-03-20 09:49:57 +01:00
Peter
17dcc7ec80 Undo even more, wrong branch 2014-03-16 23:16:40 +01:00
Peter
138c17d4a3 Update vuln db 2014-03-16 23:08:16 +01:00
Peter
565eed99ef Undo last commit, wrong branch 2014-03-16 22:58:42 +01:00
Peter
1f13c47a46 Update vuln db 2014-03-16 22:30:37 +01:00
Peter
ec5d12c940 Changed layout and coloring 2014-03-08 22:47:43 +01:00
Peter
bac19b2486 Fix #425 2014-03-08 21:04:48 +01:00
Peter
5fbfa1453c Layout changes with new colors 2014-03-07 23:16:50 +01:00
Peter
dab2001dcc Equal output layout for interaction questions 2014-03-07 16:08:19 +01:00
Peter
5bff9eb4d8 Update vuln db 2014-03-07 09:33:47 +01:00
Peter
e2102bdefa Fix #424 2014-03-07 09:07:17 +01:00
Peter
2a3e06610f Update Fix #388 2014-03-06 20:29:20 +01:00
erwanlr
d186240cfc Fix #421 - wp-syntax vuln corrected 2014-03-05 14:22:39 +01:00
Peter
0f0d4f06bb Update vuln db 2014-03-05 08:21:03 +01:00
ethicalhack3r
249af325c9 Added thecotton theme and google analytics mu plugin vulns. #419 #418 2014-03-03 23:27:05 +01:00
ethicalhack3r
a7532f2154 Fix for fuplicate entry in plugin xml file. Fixes 1c0a00e9b2. 2014-03-03 11:36:21 +01:00
Peter
1c0a00e9b2 Update vuln db 2014-03-03 09:39:16 +01:00
FireFart
b1b8066fe5 Added more CLI options 2014-03-01 14:09:05 +01:00
FireFart
25c2f3adad Add random-agent 2014-03-01 09:01:52 +01:00
FireFart
68e47d70fd Issue #415 2014-02-28 21:49:01 +01:00
Peter van der Laan
af3b3f4ee5 Update vuln db 2014-02-28 13:35:46 +01:00
erwanlr
1b63d514ac reverting last commit 2014-02-27 14:38:40 +01:00
erwanlr
c6453a6e10 Useless code removed 2014-02-27 11:15:17 +01:00
Peter
3f3f5fdaa0 Update #388. Added flash-player-widget plugin 2014-02-27 09:58:33 +01:00
erwanlr
2f72721ee2 Fingerprinting Dev script removed, see https://github.com/erwanlr/Fingerprinter 2014-02-26 15:59:50 +01:00
erwanlr
92d99c6d64 Fix #380 - Redirects in WP 3.6-3.0 2014-02-26 13:05:25 +01:00
erwanlr
f3b26b1101 Fix #414 - Duplicate plugin vulns 2014-02-26 12:48:31 +01:00
erwanlr
4f0a5bcf15 Fix #411 - Old WP Core CVEs added 2014-02-26 12:30:21 +01:00
erwanlr
ffb1a8ad84 Fix #409 media-file-renamer XSS 2014-02-26 11:52:09 +01:00
Peter
70c07cf731 Update vuln db 2014-02-25 20:06:35 +01:00
erwanlr
b2d946794b Fix #413 - Check the version of the Timthumbs files found 2014-02-24 18:17:22 +01:00
Peter
90617c5433 Update WP Forum Server vulnerabilities - fix error 2014-02-24 09:57:16 +01:00
Peter
278dc34b44 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-02-24 09:44:08 +01:00
Peter
dcd5d7b534 Update WP Forum Server vulnerabilities 2014-02-24 09:41:03 +01:00
Peter
2d48465e1d Merge pull request #412 from nashe/patch-2
Fix 412. aryo-activity-log vulnerability
2014-02-24 08:45:16 +01:00
nashe
6bda493f6e Update plugin_vulns.xml
Adding the full path disclosure in "aryo-activity-log" plugin; it was fixed 3 days ago.
2014-02-23 22:52:02 +01:00
Peter van der Laan
5459b8bb7a Update vuln db 2014-02-20 20:00:25 +01:00
Peter
e410939bde Update vuln db 2014-02-19 10:22:48 +01:00
ethicalhack3r
047de2d747 Added Directory traversal in NextGEN Gallery 2.0.0 2014-02-18 22:14:09 +01:00
Peter
997f4d35c2 Update vuln db 2014-02-15 22:00:02 +01:00
erwanlr
ca547f1239 Right Theme name (Kiddo) + associated Secunia ID 2014-02-15 00:53:20 +01:00
Peter
c9665773e2 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2014-02-14 11:31:55 +01:00
Peter
eeeea6b735 Update vuln db 2014-02-14 11:29:29 +01:00
erwanlr
bbd6a2b5d5 Typo in a theme name (Kiddo -> Kidoo) + RCE -> UPLOAD 2014-02-13 21:22:42 +01:00
Peter
d33db2a0fe Update vuln db 2014-02-12 11:34:41 +01:00
Peter
1f2588d677 Update vuln db 2014-02-12 10:16:02 +01:00
Peter
f30bad5c5a Change: v2.3 2014-02-11 13:06:48 +01:00
erwanlr
5a5bf77b1c Plugins & Themes updated 2014-02-11 10:41:47 +01:00
Peter
22c6597005 CHANGELOG ready for launching v2.3 2014-02-11 09:20:07 +01:00
Peter
9761d70f23 Update vuln db 2014-02-10 13:29:47 +01:00
erwanlr
518135006c Fix #406 CVEs added 2014-02-08 16:17:32 +01:00
Peter
9327eb7e75 Update vuln db 2014-02-06 19:34:33 +01:00
Peter
13080ade9e Update vuln db 2014-02-06 18:43:26 +01:00
erwanlr
9c3947a7b1 Fix #404 - Brute forcing issue over https 2014-02-05 21:52:55 +01:00
Peter
f33cbcaa53 Update vuln db 2014-02-05 09:32:51 +01:00
Peter van der Laan
2c8fe7971f Update vuln db 2014-02-04 21:06:26 +01:00
Peter
85e10330cb Removed 'fake' WordPress vuln 2014-02-04 07:51:56 +01:00
erwanlr
a02fd4b6f6 Ruby 2.1.0 added to Travis 2014-02-03 23:54:34 +01:00
Peter
9395119749 Update vuln db 2014-02-03 13:55:18 +01:00
erwanlr
2c0bbe9082 Updated the version of WebMock required 2014-02-02 15:13:26 +01:00
Peter van der Laan
b1535864aa Update vuln db 2014-02-02 11:52:50 +01:00
Peter van der Laan
fd880da057 Update vuln db 2014-02-02 11:32:43 +01:00
Peter van der Laan
6c62b06e46 Update vuln db 2014-02-02 09:24:21 +01:00
erwanlr
b44869ec49 Ref #400 cve for nokia-mapsplaces XSS 2014-01-31 16:01:57 +01:00
Peter
b3a6251b04 Update vuln db 2014-01-30 12:34:35 +01:00
Peter
80667bc38f Update vuln db 2014-01-30 11:01:40 +01:00
Peter
cff35ea845 Update vuln db 2014-01-28 09:22:01 +01:00
Peter
cb93397ae4 Update vuln db 2014-01-27 19:21:10 +01:00
Peter
c805a8d624 Update plugin_vulns.xml 2014-01-27 13:18:16 +01:00
Peter
3f775c081c Update plugin_vulns.xml 2014-01-27 12:36:55 +01:00
Peter
864b892da0 Update plugin_vulns.xml 2014-01-27 12:19:24 +01:00
erwanlr
f7773d2113 Fix #398 Removed a fake vuln in WP Super Cache 2014-01-27 09:44:21 +01:00
Peter
cf471d0f36 Update plugin_vulns.xml 2014-01-26 13:37:49 +01:00
Peter
d14791679c Update plugin_vulns.xml 2014-01-24 22:34:40 +01:00
erwanlr
f358d34e54 Better fingerprints 2014-01-24 11:37:58 +01:00
erwanlr
7ba3a7dd2f Fix #397 WP 3.8.1 Fingerprint 2014-01-24 00:30:35 +01:00
Peter
196af51e2c Update plugin_vulns.xml 2014-01-23 11:21:30 +01:00
Peter
cbe959da66 Update plugin_vulns.xml 2014-01-22 09:53:14 +01:00
erwanlr
9512fd4cca Fix #396 - easy-media-gallery vuln updated 2014-01-20 19:26:54 +01:00
Peter
e2b6853c46 Update plugin_vulns.xml 2014-01-18 19:56:59 +01:00
erwanlr
2578bfd0ff Fix #395 CVEs added 2014-01-18 14:45:26 +01:00
Peter
277fff5f2c Update plugin_vulns.xml 2014-01-13 21:20:13 +01:00
Peter
4c72e9d206 Update plugin_vulns.xml 2014-01-13 09:16:48 +01:00
Peter
7a44a303e5 Update plugin_vulns.xml 2014-01-13 09:10:02 +01:00
Peter
e3796045eb Update plugin_vulns.xml 2014-01-12 23:22:53 +01:00
Peter
85ad8d8b9f Better string concatenation in code 2014-01-09 21:53:01 +01:00
Peter
f737c92988 Removed duplicate vuln 2014-01-09 21:02:52 +01:00
Peter
5d05ecaee3 Update plugin_vulns.xml 2014-01-09 20:33:41 +01:00
ethicalhack3r
8cc83a8df9 Added fixed_in tag. 2014-01-09 17:33:18 +01:00
ethicalhack3r
43b0f1bea9 Wrong OSVDB ID. 2014-01-09 17:21:47 +01:00
ethicalhack3r
a12ee4a61e Added OSVDB 38577. Found in more versions, also updated OSVDB entry. 2014-01-09 17:19:00 +01:00
Peter
d595a45f2b Output cosmetics 2014-01-09 10:58:09 +01:00
Peter
76a6d59837 Output cosmetics 2014-01-09 10:24:40 +01:00
Peter
bfe9bf2d5b Update wpscan.rb 2014-01-08 23:58:35 +01:00
Peter
59cac169e7 Update output.rb 2014-01-08 23:39:33 +01:00
Peter
c24ee89b16 Some modifications in the output of an item 2014-01-08 23:34:35 +01:00
Peter
a73c2d7292 Update plugin_vulns.xml 2014-01-08 21:48:03 +01:00
Peter
97671b3592 Small fix 2014-01-08 21:29:12 +01:00
Peter
dd38586ead Update plugin_vulns.xml 2014-01-08 20:57:52 +01:00
Peter
e11de68203 Update plugin_vulns.xml 2014-01-08 14:36:08 +01:00
Peter
97ce286ff2 Update plugin_vulns.xml 2014-01-08 13:09:57 +01:00
Peter
99e4e5a219 Added database modification dates in status report 2014-01-07 14:00:08 +01:00
Peter
316b9aa68a Removed allready included libs in stats_plugin 2014-01-06 15:37:19 +01:00
Peter
7318d6615f Remove Backtrack Linux. Not maintained anymore. 2014-01-06 12:46:34 +01:00
Peter
6782b108b0 Remove Backtrack Linux. Not maintained anymore. 2014-01-06 12:44:09 +01:00
Peter
494af0ad23 Update CHANGELOG.md 2014-01-06 12:35:22 +01:00
Peter
55cff03747 Added 'Total WordPress Sites in the World' statistics 2014-01-06 11:42:21 +01:00
erwanlr
599cc7c3af Fix #393 sudo added to the bundle install cmd for Mac OSX 2014-01-06 10:04:58 +00:00
erwanlr
bfa7a7a6dc Plugins & Themes updated 2014-01-06 10:04:24 +00:00
Peter
b243a5404b Update plugin_vulns.xml 2014-01-06 09:39:59 +01:00
Peter
2e40a7377a Corrected spelling mistake 2014-01-05 22:46:22 +01:00
Peter
62e86a0474 Update plugin_vulns.xml 2014-01-04 21:24:33 +01:00
Peter
8c1ee9cf21 Update wp_vulns.xml 2014-01-04 15:32:45 +01:00
Peter
3afda882de Update plugin_vulns.xml 2014-01-04 15:22:32 +01:00
Peter
69fd90ed3a Update plugin_vulns.xml 2014-01-03 15:52:57 +01:00
erwanlr
554530dd60 rspec-mocks version constraint released 2014-01-03 12:30:12 +00:00
Peter
2472e5546f Update plugin_vulns.xml 2014-01-02 12:02:05 +01:00
erwanlr
a7ee4c09f5 Merge pull request #391 from fgeek/master
CVE ID for OptimizePress theme file upload vulnerability
2014-01-02 02:50:47 -08:00
Henri Salo
7effac73b9 CVE ID for OptimizePress theme file upload vulnerability 2014-01-02 12:14:02 +02:00
Peter
125924d125 Update plugin_vulns.xml 2013-12-31 15:53:59 +01:00
Peter
00aaac866f Update plugin_vulns.xml 2013-12-31 15:45:12 +01:00
Peter
170299c13c Update theme_vulns.xml 2013-12-31 15:39:11 +01:00
Peter
ac6f56dbf4 Update for fix #388. 2013-12-31 14:57:18 +01:00
Peter
09c494c6c5 Update plugin_vulns.xml 2013-12-31 10:51:48 +01:00
Peter
fdd685d20c Update plugin_vulns.xml 2013-12-31 10:00:41 +01:00
Peter
fcff22981b Update plugin_vulns.xml 2013-12-30 23:34:34 +01:00
Peter
7f82a41e66 Update theme_vulns.xml 2013-12-30 18:33:12 +01:00
Peter
17d12b41db Update plugin_vulns.xml 2013-12-30 17:38:46 +01:00
Peter
2f7d68f7f1 Update theme_vulns.xml 2013-12-30 16:30:17 +01:00
erwanlr
dc1c65b418 Tabs replaced by spaces !
The presence of tabs can be checked with 'rubocop --only Tab --format
files'
2013-12-30 11:50:43 +00:00
Peter
23de013c86 Fix for #388. Dewplayer vulnerability.
Needs some more investigation. There are more vulnerabilities for this flash media player.
2013-12-30 10:59:57 +01:00
Peter
a922b00716 Update wp_vulns.xml 2013-12-30 00:42:00 +01:00
Peter
babe21a3dc Update plugin_vulns.xml 2013-12-30 00:18:33 +01:00
Peter
59ef0b05a1 Update plugin_vulns.xml 2013-12-30 00:10:08 +01:00
Peter
3da7ed76c5 Merge pull request #389 from fgeek/master
Added CVE-2013-6010 as reference.
2013-12-29 14:51:53 -08:00
Henri Salo
bbf0cd7578 Added CVE-2013-6010 as reference. 2013-12-30 00:39:51 +02:00
Peter
25be97e65c Update plugin_vulns.xml 2013-12-29 22:26:22 +01:00
FireFart
175bb9206e no whitespaces at beginning or end of a string 2013-11-30 20:18:40 +01:00
Peter
68605ad409 Update plugin_vulns.xml 2013-12-29 09:55:35 +01:00
Peter
4500687d47 Removed duplicate vulnerability 2013-12-29 09:17:59 +01:00
Peter
fc38e6f270 Update plugin_vulns.xml 2013-12-28 22:38:58 +01:00
Peter
f1936fea6b Update plugin_vulns.xml 2013-12-28 21:49:57 +01:00
erwanlr
24bdcf66ed Fixes duplicate vulns 2013-12-27 18:13:44 +01:00
erwanlr
8688523ced Fix #385, Fix #386, Fix #387 2013-12-27 18:10:47 +01:00
erwanlr
856944e463 Added Valums Uploader Shell Upload in 3 premium themes 2013-12-27 09:40:18 +00:00
erwanlr
84f6894bc4 Fix #383, fake TwentyTen File Upload vuln removed 2013-12-24 20:42:05 +01:00
erwanlr
9bf33f89a9 Complete fingerprint script & hash search added 2013-12-24 11:20:14 +00:00
erwanlr
c0fa7c42cd Fix #379 Blooog Theme XSS CVE & references 2013-12-22 15:07:55 +01:00
Peter
3281a85ae9 Update wp_vulns.xml
Including: First WordPress 3.8 related vulnerability
2013-12-21 21:55:24 +01:00
Peter
0db965a95f Disabled fake reported vulnerability. OSVDB: 88298
Info: see commit 40f96dd
2013-12-19 08:51:18 +01:00
Peter
0732ea1162 Update plugin_vulns.xml 2013-12-18 14:19:11 +01:00
Peter
c88497afba Update plugin_vulns.xml 2013-12-18 14:10:04 +01:00
Peter
d4892c19b4 Update plugin_vulns.xml 2013-12-18 14:00:03 +01:00
Peter
3ed25b069d Update plugin_vulns.xml 2013-12-18 11:14:58 +01:00
Peter
e51b1f7643 Disabled fake reported vulnerability. OSVDB: 100878
Info: see commit 40f96dd2bd
2013-12-18 08:57:45 +01:00
Peter
7d07b27d4f Update theme_vulns.xml 2013-12-14 22:12:32 +01:00
erwanlr
57fdc90623 Fix #378 WP 3.8 Fingerprint 2013-12-13 21:01:56 +00:00
Peter
72bec2ef49 WP 3.8 Fingerprinting 2013-12-13 08:57:09 +01:00
Peter
58a3805788 Update plugin_vulns.xml 2013-12-12 22:44:51 +01:00
Peter
40f96dd2bd Update plugin_vulns.xml 2013-12-12 13:30:32 +01:00
Christian Mehlmauer
fca13d453e Merge pull request #376 from wpscanteam/parent_theme
Detect parent theme
2013-12-11 00:27:41 -08:00
Peter
32e590f398 Update wp_vulns.xml 2013-12-11 07:50:04 +01:00
erwanlr
301b44dcae Commenting the fake page-flip-image-gallery File Upload vuln 2013-12-11 00:24:16 +01:00
Peter
e45e91b0bf Update plugin_vulns.xml 2013-12-09 19:29:15 +01:00
Christian Mehlmauer
fe31dbca26 fix pre-commit hook 2013-12-08 08:36:26 +01:00
Christian Mehlmauer
51fa754ec5 bugfix 2013-12-08 01:39:28 +01:00
Christian Mehlmauer
2ce10af051 rspecs 2013-12-08 01:28:19 +01:00
Christian Mehlmauer
c107422353 verbose output 2013-12-08 00:52:07 +01:00
Christian Mehlmauer
1e1fdee5a7 fix rspecs 2013-12-07 22:37:07 +01:00
Christian Mehlmauer
fffcd61cc4 Detect and output parent theme 2013-12-07 22:04:51 +01:00
Christian Mehlmauer
2fd11cba15 Output theme info 2013-12-07 20:51:30 +01:00
Peter
f1ec85aef5 Update plugin_vulns.xml 2013-12-07 20:12:09 +01:00
erwanlr
4c4b363035 podPress XSS Fixed in 8.8.10.17 2013-12-06 13:34:58 +00:00
Peter
8555e0c7e7 Update theme_vulns.xml 2013-12-05 13:47:29 +01:00
Peter
c07f7390ec Update plugin_vulns.xml 2013-12-05 10:13:55 +01:00
Peter
34f6e15271 WordPress 3.6 Multiple Function Path Disclosure Vulnerability 2013-12-05 09:29:27 +01:00
erwanlr
135f0677e4 haiku-minimalist-audio-player XSS fixed in v1.1.0 2013-12-04 19:03:35 +01:00
erwanlr
63ad255f2b disqus-comment-system XSS Fixed in v2.69 2013-12-04 18:59:06 +01:00
erwanlr
16ac8ea196 wp-recaptcha XSS fixed in 3.1.4 2013-12-04 18:55:30 +01:00
erwanlr
0e00773238 Newsletter SQLi fixed in v3.0.9
See http://plugins.trac.wordpress.org/changeset?reponame=&new=663445%40newsletter%2Ftrunk%2Fdo%2Fview.php&old=627016%40newsletter%2Ftrunk%2Fdo%2Fview.php
2013-12-04 18:51:36 +01:00
Christian Mehlmauer
cf1f676268 Added metasploit plugin for OptimizePress 2013-12-03 13:18:33 +01:00
ethicalhack3r
d2f304b047 Fixed null exploitdb tag. 2013-12-02 10:42:43 +01:00
Peter
0a9bb138c5 Update plugin_vulns.xml 2013-12-02 09:59:21 +01:00
erwanlr
6236391c86 Added OptimizePress Premium Theme File Upload Vuln 2013-11-30 21:27:56 +01:00
Peter
78257cb1c0 Update plugin_vulns.xml 2013-11-29 12:34:25 +01:00
Peter
c4cb75668c Update wp_vulns.xml 2013-11-28 11:03:33 +01:00
Peter
9880bcacd6 Update theme_vulns.xml 2013-11-27 20:56:41 +01:00
Peter
52aedd0a31 Update theme_vulns.xml 2013-11-27 20:28:06 +01:00
Peter
c7ce741857 Update theme_vulns.xml 2013-11-25 12:49:52 +01:00
Peter
bcbf012406 Update plugin_vulns.xml 2013-11-25 12:38:30 +01:00
Peter
ec75b4418b Update plugin_vulns.xml 2013-11-22 11:56:47 +01:00
Peter
716b84f507 rspec change due to separator in Item 2013-11-19 20:28:19 +01:00
Peter
e95b3a59ef Add separator between Name and Version in Item 2013-11-19 19:53:41 +01:00
Peter van der Laan
9dc179b2cd Update plugin_vulns.xml 2013-11-19 09:43:47 +01:00
ethicalhack3r
efe1b01936 Indentatio 2013-11-18 23:48:54 +01:00
ethicalhack3r
cd26b0c5a9 Some more files/folders to ignore spelling in. 2013-11-18 23:43:49 +01:00
Peter van der Laan
b075f71f11 Update theme_vulns.xml 2013-11-18 21:54:40 +01:00
ethicalhack3r
44145ef265 Oh. The irony. 2013-11-18 16:59:04 +01:00
ethicalhack3r
82ef21b821 Ignore log file. 2013-11-18 16:49:04 +01:00
ethicalhack3r
5655d7456c Would help if I commited the file... 2013-11-18 16:46:23 +01:00
ethicalhack3r
a7992102af Spelling mistake. 2013-11-18 16:45:03 +01:00
ethicalhack3r
ee2cd412ce New spell checker! 2013-11-18 16:44:23 +01:00
erwanlr
1c34f48c39 Fix #228, #327 Infinite loop when self-redirect 2013-11-18 11:20:15 +00:00
erwanlr
0c2937936b Fix #370 Added CVE for the Tweet Blender XSS 2013-11-18 10:01:33 +00:00
Peter van der Laan
b0c3f6c82a Update theme_vulns.xml 2013-11-18 10:19:05 +01:00
Peter van der Laan
e047525be9 Update plugin_vulns.xml 2013-11-17 15:19:17 +01:00
Peter van der Laan
7f1ad590f6 Update plugin_vulns.xml 2013-11-17 14:53:44 +01:00
Peter van der Laan
fbf2d827c2 Update theme_vulns.xml 2013-11-16 19:33:46 +01:00
Peter van der Laan
72619df02c Update plugin_vulns.xml 2013-11-15 10:44:09 +01:00
Peter van der Laan
c58d8992cf Update plugin_vulns.xml 2013-11-15 10:37:28 +01:00
ethicalhack3r
c98177ea20 Create unique cache dir to prevent race conditions. Issue #344. 2013-11-15 00:24:20 +01:00
ethicalhack3r
766409e581 Added pvd to docs. 2013-11-14 23:32:10 +01:00
FireFart
c076d61cc9 Merge branch 'master' of github.com:wpscanteam/wpscan 2013-11-13 18:02:13 +01:00
Peter van der Laan
92e265ecc9 Update plugin_vulns.xml 2013-11-14 20:59:14 +01:00
FireFart
e223df64cf added blog post 2013-11-13 17:58:10 +01:00
FireFart
629ebf5ff2 fixed Theme version detection 2013-11-13 15:37:36 +01:00
Peter van der Laan
0019eb70b5 Add a "Work in progress" URL in the CHANGELOG 2013-11-14 14:07:05 +01:00
erwanlr
e5f1be0b30 Fix #201 Incorrect Paramter Parsing when no url was supplied 2013-11-14 12:01:45 +00:00
erwanlr
dd74934638 "Exiting!" sentence removed 2013-11-14 11:58:49 +00:00
Peter van der Laan
8d4973a9cc Update wp_vulns.xml 2013-11-14 11:57:22 +01:00
Peter van der Laan
a49c091cd5 Update plugin_vulns.xml 2013-11-14 11:16:38 +01:00
Peter van der Laan
7d0268a4ce Update plugin_vulns.xml 2013-11-14 11:08:37 +01:00
Peter van der Laan
44e53e7225 Update theme_vulns.xml 2013-11-14 09:31:53 +01:00
Peter van der Laan
1a1689da1f Update theme_vulns.xml 2013-11-14 09:21:14 +01:00
Peter van der Laan
a28802e84e Update wp_vulns.xml 2013-11-13 23:04:52 +01:00
Peter van der Laan
2798e71a52 Merge pull request #368 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-13 13:27:02 -08:00
ethicalhack3r
e3647092b0 Small typo in comment 2013-11-13 12:57:13 +01:00
ethicalhack3r
117cc13ed7 Fixed typo 2013-11-13 12:56:07 +01:00
Peter van der Laan
2d39a04575 Update plugin_vulns.xml 2013-11-13 11:47:37 +01:00
erwanlr
d3e9457532 Merge pull request #366 from pvdl/vulns
Changes statistics due to v2.2
2013-11-13 01:31:18 -08:00
Peter van der Laan
afc737b9bd Changed statistics due to v2.2 2013-11-13 08:17:45 +01:00
Peter van der Laan
32e597f6a4 Merge pull request #1 from wpscanteam/master
Update from master
2013-11-12 23:12:20 -08:00
erwanlr
16c7edb0f1 Forgot to bump the version :x 2013-11-12 22:38:19 +01:00
erwanlr
65cf4a0336 v2.2 release date added to changelog 2013-11-12 21:31:35 +00:00
erwanlr
89dcf33a6e Merge pull request #365 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-12 12:36:48 -08:00
Peter van der Laan
d4758bd22f Update plugin_vulns.xml 2013-11-12 17:19:42 +01:00
Peter van der Laan
a391453213 Update plugin_vulns.xml 2013-11-12 16:57:10 +01:00
Peter van der Laan
e18f2c9988 Update plugin_vulns.xml 2013-11-12 16:44:43 +01:00
Peter van der Laan
4e06939463 Update plugin_vulns.xml 2013-11-12 16:31:36 +01:00
Peter van der Laan
f833181d81 Update plugin_vulns.xml 2013-11-12 13:59:24 +01:00
Peter van der Laan
f16692e3ae Added some vulns from Security Focus 2013-11-12 12:18:57 +01:00
erwanlr
d02108ece2 Better Detection of Kali Linux 2013-11-12 11:07:35 +00:00
Ryan Dewhurst
71b056a1b5 Merge pull request #364 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-12 00:28:04 -08:00
Peter van der Laan
cc0ce769b7 Update theme_vulns.xml 2013-11-11 23:28:28 +01:00
Peter van der Laan
43c7586b61 Update theme_vulns.xml 2013-11-11 18:18:29 +01:00
Peter van der Laan
cfa222c3b6 Update OSVDB 85682,85567,85729 2013-11-11 18:01:38 +01:00
erwanlr
30709091b3 Merge pull request #363 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-11 05:48:44 -08:00
Peter van der Laan
5c93540f91 Update theme_vulns.xml 2013-11-11 14:05:12 +01:00
Peter van der Laan
bf8b1e92fa Added OSVDB #99553 2013-11-11 13:00:50 +01:00
Peter van der Laan
c00576e06d Added OSVDB #99485, #99515 2013-11-11 12:55:28 +01:00
erwanlr
7f9b49059b Merge pull request #361 from pvdl/master
Create CHANGELOG.md (remove old CHANGELOG)
2013-11-10 09:29:47 -08:00
Peter van der Laan
c292c4ba9e Delete CHANGELOG 2013-11-10 13:08:40 +01:00
Peter van der Laan
46570ecc2b Create CHANGELOG.md 2013-11-10 13:04:06 +01:00
Peter van der Laan
ed7e352d3a Merge pull request #3 from wpscanteam/master
update master
2013-11-10 03:43:53 -08:00
erwanlr
5e38d68adb Properly create the cache directory (Kali issue) 2013-11-09 11:26:49 +00:00
erwanlr
32cb6f86f4 Better fix for Kali 2013-11-09 10:41:30 +00:00
erwanlr
ab16368b09 Merge pull request #360 from pvdl/master
Add a CHANGELOG
2013-11-09 01:42:57 -08:00
Peter van der Laan
804db84b9a Update CHANGELOG 2013-11-08 15:43:48 +01:00
Peter van der Laan
48ad1a9af2 Update CHANGELOG 2013-11-08 15:31:25 +01:00
Peter van der Laan
8014093d33 Create CHANGELOG
First commit CHANGELOG. Needs some polish
2013-11-08 15:22:50 +01:00
Peter van der Laan
d7f6389ca8 Merge pull request #2 from wpscanteam/master
Update master
2013-11-08 05:36:38 -08:00
erwanlr
6ecd538364 Plugins & Themes Updated 2013-11-08 11:30:05 +00:00
erwanlr
f58794f797 Most popular themes list generation set to 20 pages
150 was more than the max existing pages (there are 140 pages in the
wordpress.org theme list)
2013-11-08 11:28:13 +00:00
erwanlr
fe71c2e543 metasploit module reference to the ofc upload vuln 2013-11-07 16:40:06 +00:00
erwanlr
02a013bdfa Trying a fix for Kali Linux 2013-11-07 15:20:19 +00:00
erwanlr
098e75f12d Merge pull request #358 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-07 04:16:08 -08:00
Peter van der Laan
dd7c793966 Update plugin_vulns.xml 2013-11-07 12:54:56 +01:00
Peter van der Laan
a4662d0519 Added some "old" Secunia vulns 2013-11-07 12:19:50 +01:00
Peter van der Laan
a7d64b0e1d Update plugin_vulns.xml 2013-11-07 11:49:47 +01:00
Peter van der Laan
02545340f0 Update theme_vulns.xml 2013-11-07 11:31:42 +01:00
erwanlr
58ebf4786d Merge pull request #357 from pvdl/vulns
Update WordPress Vulnerabilities and some code cleaning
2013-11-06 13:05:25 -08:00
Peter van der Laan
843f783a7a Update output.rb 2013-11-06 20:12:25 +01:00
Peter van der Laan
5e6efb4cb7 Update output.rb 2013-11-06 15:05:37 +01:00
Peter van der Laan
b6cc3400e8 Update theme_vulns.xml 2013-11-06 13:15:16 +01:00
Peter van der Laan
39724afc81 Update plugin_vulns.xml 2013-11-06 12:37:15 +01:00
Peter van der Laan
47f2545a50 Update plugin_vulns.xml 2013-11-06 11:25:03 +01:00
Ryan Dewhurst
01c45afa10 Merge pull request #356 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-06 01:21:21 -08:00
Peter van der Laan
b14ded2994 Update wp_vulns.xml 2013-11-06 09:39:05 +01:00
Peter van der Laan
c751009130 Update plugin_vulns.xml 2013-11-06 09:28:17 +01:00
Peter van der Laan
7122ca872a Added Exploit-DB #29150 2013-11-06 09:09:22 +01:00
Peter van der Laan
a825774341 Added OSVDB #99345 2013-11-06 08:56:35 +01:00
Peter van der Laan
cfc53f67f9 Update plugin_vulns.xml 2013-11-05 20:19:41 +01:00
Ryan Dewhurst
24466b779b Merge pull request #353 from pvdl/vulns
Added a "Credits" card
2013-11-05 08:52:14 -08:00
Peter van der Laan
ce6881fdc7 Added a "Credits" card 2013-11-05 17:18:35 +01:00
erwanlr
9de59d7243 Merge pull request #352 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-05 05:46:22 -08:00
Peter van der Laan
71b821a653 Added OSVDB #87817 2013-11-05 12:05:44 +01:00
Peter van der Laan
17fec7a161 Update plugin_vulns.xml 2013-11-05 11:31:42 +01:00
Peter van der Laan
99181a3bd9 Added OSVDB #90432, #90433, #90434 2013-11-05 09:52:33 +01:00
Peter van der Laan
529660e622 Update theme_vulns.xml 2013-11-05 09:32:08 +01:00
Peter van der Laan
16ba490f3f Added OSVDB #99339, #99340, #99341 2013-11-05 09:07:32 +01:00
erwanlr
73af9b2922 Merge pull request #351 from pvdl/vulns
Update plugin_vulns.xml
2013-11-04 12:29:41 -08:00
Peter van der Laan
0d80c1dc06 Update plugin_vulns.xml 2013-11-04 21:00:04 +01:00
erwanlr
942676a493 WP 3.7.1 Fingerprinting 2013-11-04 17:17:51 +00:00
erwanlr
6e16ae32cf Merge pull request #349 from pvdl/vulns
Update WordPress Vulnerabilities
2013-11-01 03:02:20 -07:00
Peter van der Laan
4f441d2b40 Added OSVDB #99187 2013-11-01 09:59:17 +01:00
Peter van der Laan
e4c93e2707 Update OSVDB #74835, #76658 2013-10-31 22:18:53 +01:00
erwanlr
916ce80869 Merge pull request #347 from pvdl/vulns
Update WordPress Vulnerabilities
2013-10-31 04:26:16 -07:00
Peter van der Laan
1ac72096af Added OSVDB #99195 2013-10-31 10:44:06 +01:00
Peter van der Laan
81e3ff6dc0 Update wp_vulns.xml 2013-10-29 16:04:26 +01:00
Peter van der Laan
ac9647d2b2 Output the vulnerability fix if available
It just shows if there is a vulnerability fix.
It doesn't check if the fix matches with the current plugin version.
So you should check manually if you need to upgrade or not.
2013-10-29 13:42:40 +01:00
erwanlr
81d17639eb Merge pull request #345 from pvdl/master
Update WordPress Vulnerabilities
2013-10-29 03:54:37 -07:00
Peter van der Laan
924770f73e Added OSVDB #99045, #99046 2013-10-29 11:45:49 +01:00
Peter van der Laan
383b2ad563 Added OSVDB #99043 2013-10-29 11:26:18 +01:00
Peter van der Laan
aca4d8ac50 Update plugin_vulns.xml 2013-10-28 19:47:04 +01:00
Peter van der Laan
9fb0597a3e Update theme_vulns.xml 2013-10-28 18:08:06 +01:00
Peter van der Laan
5921458fc4 Added OSVDB #98975 2013-10-28 17:57:54 +01:00
Peter van der Laan
fb921f8f78 Added SimplyDark Theme Vuln 2013-10-28 17:48:49 +01:00
Peter van der Laan
93597fe3ac Update wp_vulns.xml 2013-10-28 17:30:29 +01:00
Peter van der Laan
42576a9c7e Update plugin_vulns.xml 2013-10-28 16:46:12 +01:00
Peter van der Laan
7b26d0e105 Added OSVDB #98831, #98978 2013-10-28 14:45:43 +01:00
ethicalhack3r
10323a59af Changed wordpress.com scanning error to warning. See issue #343. 2013-10-28 00:32:13 +01:00
ethicalhack3r
95755f8d46 Missed full stop in error. 2013-10-28 00:20:05 +01:00
ethicalhack3r
a7d9927584 Added hosted wordpress detection. See issue #343. 2013-10-28 00:18:09 +01:00
Ryan Dewhurst
ac1228d97c Merge pull request #342 from pvdl/master
Update WordPress Vulnerabilities
2013-10-27 16:01:34 -07:00
Peter van der Laan
fa9f4c0ab7 Update plugin_vulns.xml 2013-10-27 00:09:33 +02:00
Peter van der Laan
77ee2494f0 Update plugin_vulns.xml 2013-10-26 23:09:42 +02:00
Peter van der Laan
30e4fe2671 Update plugin_vulns.xml 2013-10-26 22:28:46 +02:00
Peter van der Laan
5f2edac86a Update plugin_vulns.xml 2013-10-26 22:00:43 +02:00
Peter van der Laan
bc14c6d040 Fixed tag error 2013-10-26 21:09:00 +02:00
Peter van der Laan
803a5a7409 Update plugin_vulns.xml 2013-10-26 20:57:48 +02:00
erwanlr
dcc443ac9a WP 3.7 Fingerprinting 2013-10-25 21:12:59 +01:00
Peter van der Laan
6fedeffe03 Added some 'old' OSVDB vulns 2013-10-25 16:59:35 +02:00
erwanlr
392283d786 Merge pull request #341 from pvdl/master
Update WordPress Vulnerabilities
2013-10-25 03:39:39 -07:00
Peter van der Laan
0c406d72f6 Update WordPress Theme vulns 2013-10-25 11:48:22 +02:00
Peter van der Laan
bec7b5ed22 It's WordPress, not Wordpress 2013-10-25 10:40:53 +02:00
erwanlr
7ddbae4144 Merge pull request #340 from pvdl/master
Added new WordPress vulns
2013-10-25 01:27:56 -07:00
Peter van der Laan
96b6e5db87 Added Blue Wrench Video Widget vulnerability found by SecurityUndefined 2013-10-25 09:41:17 +02:00
Peter van der Laan
be3937c361 Added DailyDeal Theme vuln 2013-10-25 09:19:59 +02:00
erwanlr
f2430171c6 Merge pull request #338 from pvdl/master
update wordpress vulns
2013-10-24 14:13:31 -07:00
Peter van der Laan
e148933c11 remove duplicate 2013-10-24 20:55:32 +02:00
Peter van der Laan
4bd0999c2e update wordpress vulns 2013-10-24 20:40:17 +02:00
Ryan Dewhurst
40f1fd5c4b Merge pull request #337 from pvdl/master
Update WordPress Vulnerabilities
2013-10-24 09:39:31 -07:00
Peter van der Laan
5bbe846adb Update plugin_vulns.xml 2013-10-24 17:34:57 +02:00
Peter van der Laan
bb3ed08614 Added OSVDB #93087, #90365 2013-10-24 11:37:23 +02:00
erwanlr
2d5a77060e Merge pull request #335 from pvdl/master
Update WordPress Vulnerabilities
2013-10-23 14:30:51 -07:00
Peter van der Laan
9f06b61e9f Update plugin_vulns.xml 2013-10-23 22:51:08 +02:00
Peter van der Laan
32588554da Update plugin_vulns.xml 2013-10-23 22:40:37 +02:00
Peter van der Laan
c7c1c1d3e7 Update plugin_vulns.xml 2013-10-23 22:06:25 +02:00
erwanlr
a8d99ac61b Merge pull request #334 from pvdl/master
Update Wordpress Vulnerabilities
2013-10-23 12:24:46 -07:00
Peter van der Laan
56b983db45 Update theme_vulns.xml 2013-10-23 21:14:23 +02:00
Peter van der Laan
6e10bfceb2 removed duplicate vulnerability 2013-10-23 20:51:13 +02:00
erwanlr
a64a1d6a7c Merge pull request #333 from pvdl/master
Update plugin_vulns.xml
2013-10-23 04:55:58 -07:00
Peter van der Laan
10cb883904 Update output.rb 2013-10-23 13:37:00 +02:00
Peter van der Laan
a57340059d Update plugin_vulns.xml 2013-10-23 09:50:01 +02:00
Peter van der Laan
19f9bda237 Fixed small typo 2013-10-23 09:40:28 +02:00
Peter van der Laan
7288c82994 Update plugin_vulns.xml 2013-10-23 09:36:17 +02:00
ethicalhack3r
ee06694b81 Removed incorrect theme. 2013-10-22 23:27:48 +02:00
ethicalhack3r
62e84cc88c Added portable-phpmyadmin plugin vuln. See Issue #330. 2013-10-22 23:15:13 +02:00
ethicalhack3r
42b94ab0c3 Merge branch 'master' of https://github.com/tennc/wpscan into tennc-master 2013-10-22 22:49:50 +02:00
ethicalhack3r
5c4ce81793 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2013-10-22 22:47:30 +02:00
FireFart
35a75739e6 forgot context (issue #332) 2013-10-22 22:41:26 +02:00
FireFart
706774bf61 Add detection for all-in-one-seo-pack
Closes issue #332
2013-10-22 22:39:23 +02:00
tennc
b123317fcc update theme_vulns.xml
Wordpress Themes WPLocalPlaces Upload Vulnerability
2013-10-22 09:39:50 +08:00
erwanlr
45d642d215 Merge pull request #328 from pvdl/master
Added OSVDB #98668
2013-10-21 08:55:20 -07:00
Peter van der Laan
88611ad3e8 Update plugin_vulns.xml 2013-10-20 12:16:49 +02:00
Peter van der Laan
edf2ac481b Update plugin_vulns.xml 2013-10-20 12:06:21 +02:00
Peter van der Laan
49883bbc3a Update plugin_vulns.xml 2013-10-19 21:27:24 +02:00
Peter van der Laan
bf3795bced Update plugin_vulns.xml 2013-10-19 13:53:56 +02:00
Peter van der Laan
6dee0c7e4b Added OSVDB #98668 2013-10-18 17:56:50 +02:00
erwanlr
d0c57e7cff Merge pull request #326 from pvdl/master
Added OSVDB #94804, #95134, #95135
2013-10-18 02:51:40 -07:00
erwanlr
986e3e5960 all-in-one-seo-pack xss vulnerability updated (correct version + exploit reference) 2013-10-18 10:17:42 +01:00
Peter van der Laan
2c97f68726 Added OSVDB #94804, #95134, #95135 2013-10-18 11:16:17 +02:00
erwanlr
5a7ab231be Fix #325 2013-10-18 10:13:54 +01:00
erwanlr
246970c525 Merge pull request #325 from tennc/master
Update plugin_vulns.xml
2013-10-18 02:12:14 -07:00
tennc
65e9339740 Update plugin_vulns.xml
Wordpress - wp-realty - MySQL Time Based Injection
2013-10-18 08:52:13 +08:00
tennc
52f6de1962 Update plugin_vulns.xml
Wordpress - wp-realty - MySQL Time Based Injection
2013-10-18 08:50:53 +08:00
erwanlr
3a085e364e Merge pull request #324 from pvdl/master
Added 'WordPress Version Vulnerability' statistics
2013-10-17 12:52:19 -07:00
Peter van der Laan
f5204a7efa Added 'WordPress Version Vulnerability' statistics 2013-10-17 21:43:42 +02:00
erwanlr
45db305d44 Merge pull request #323 from pvdl/master
Update Wordpress Vulnerabilities
2013-10-17 07:41:30 -07:00
Peter van der Laan
9e2a327ca6 Update plugin_vulns.xml 2013-10-17 15:47:25 +02:00
Peter van der Laan
68698847f8 Update theme_vulns.xml 2013-10-17 15:36:19 +02:00
erwanlr
8ef89f193a Merge pull request #322 from pvdl/master
Some 'fresh' vulnerabilities
2013-10-16 14:31:49 -07:00
Peter van der Laan
d35b83518e Vuln. found by securityundefined.com 2013-10-16 23:09:12 +02:00
Peter van der Laan
d657c4d4b3 Update plugin_vulns.xml 2013-10-16 22:54:28 +02:00
ethicalhack3r
29f340ae21 Merge branch 'master' of https://github.com/wpscanteam/wpscan 2013-10-16 22:32:54 +02:00
ethicalhack3r
7ed351bc28 Extra plugin node removed. 2013-10-16 22:32:25 +02:00
erwanlr
ecf4005339 Fix plugin tag 2013-10-16 21:28:10 +01:00
Ryan Dewhurst
66fa24130b Merge pull request #321 from pvdl/master
Added OSVDB #91491, #91680, #92264
2013-10-16 13:18:57 -07:00
Peter van der Laan
bd53f8e07f Added OSVDB #91491, #91680, #92264 2013-10-16 14:42:06 +02:00
Ryan Dewhurst
8598101760 Merge pull request #320 from pvdl/master
Added OSVDB #97625, #98456
2013-10-16 03:00:32 -07:00
Peter van der Laan
596a25678f Added OSVDB #97625, #98456 2013-10-15 12:21:24 +02:00
Ryan Dewhurst
d94714b335 Merge pull request #319 from pvdl/master
Update WordPress Vulnerabilities
2013-10-15 00:39:56 -07:00
Peter van der Laan
aa8aa3aad9 Added OSVDB #97987, #97887, #97768, #97668 2013-10-15 09:23:26 +02:00
Peter van der Laan
b15635ebc2 Update plugin_vulns.xml 2013-10-14 22:55:10 +02:00
erwanlr
6ad0f0f08d Merge pull request #318 from pvdl/master
Update WordPress Vulnerabilities
2013-10-14 11:20:56 -07:00
Peter van der Laan
587f6adaa1 Update plugin_vulns.xml 2013-10-14 20:03:50 +02:00
Peter van der Laan
c3f31e2aee Update theme_vulns.xml 2013-10-14 19:40:05 +02:00
Peter van der Laan
6fe3bafd4d Added OSVDB #89441, #89443, #89455 2013-10-14 17:51:47 +02:00
Ryan Dewhurst
83f9312b35 Merge pull request #317 from pvdl/master
Added OSVDB #97989, #98026, #98091, #98246
2013-10-14 00:28:45 -07:00
Peter van der Laan
9605594d8f Update plugin_vulns.xml 2013-10-14 08:48:08 +02:00
Peter van der Laan
ad18788c83 Added OSVDB #97989, #98026, #98091, #98246 2013-10-14 08:20:57 +02:00
erwanlr
ec4f7d1638 Merge pull request #316 from pvdl/master
Added WordPress Vulnerabilities
2013-10-13 05:46:44 -07:00
Peter van der Laan
920a900e90 Added OSVDB #92641, #93243, #96792, #96793 2013-10-13 11:28:04 +02:00
Peter van der Laan
7f6cd57e51 Update plugin_vulns.xml 2013-10-13 11:02:39 +02:00
Ryan Dewhurst
b01559ce52 Merge pull request #315 from fgeek/master
Add OSVDB reference for CVE-2013-5963.
2013-10-13 01:57:17 -07:00
Henri Salo
f5fa36f2fd Add OSVDB reference for CVE-2013-5963. 2013-10-13 11:12:19 +03:00
Peter van der Laan
db82b2584c Update plugin_vulns.xml 2013-10-13 09:45:32 +02:00
erwanlr
9e87d1f4d5 Merge pull request #314 from pvdl/master
Update WordPress Vulnerabilities
2013-10-12 12:30:22 -07:00
erwanlr
b72ce7caf5 Merge pull request #313 from pvdl/patch-1
Remove 'smileys' in output messages
2013-10-12 12:29:08 -07:00
Peter van der Laan
9654408ae8 Remove 'smileys' in output messages 2013-10-12 21:17:58 +02:00
Peter van der Laan
9d6e50c8e2 Added OSVDB #98279, #98352, #98353, #98371 2013-10-12 21:11:04 +02:00
erwanlr
f711c2098b Plugins & Themes updated 2013-10-12 16:40:21 +01:00
erwanlr
af66a4bf48 Merge pull request #311 from pvdl/patch-1
Make output lines consistent
2013-10-12 01:17:18 -07:00
Peter van der Laan
ff9dd1c69d Update plugin_vulns.xml 2013-10-11 16:16:52 +02:00
Peter van der Laan
27b6e15e11 Update wpscan.rb 2013-10-11 15:43:32 +02:00
Peter van der Laan
2d3cfb2952 Update wpscan.rb 2013-10-11 14:40:00 +02:00
Peter van der Laan
ed3c05c13d Make output lines consistent 2013-10-11 14:19:16 +02:00
erwanlr
4d7680959e Merge pull request #310 from pvdl/master
Update WordPress Vulns.
2013-10-11 03:37:16 -07:00
Peter van der Laan
1cf9983ce7 Update plugin_vulns.xml 2013-10-11 12:36:12 +02:00
Peter van der Laan
8daa1c8c31 Update plugin_vulns.xml 2013-10-11 10:38:21 +02:00
Peter van der Laan
6d4e69050e Update theme_vulns.xml 2013-10-11 10:22:48 +02:00
Peter van der Laan
6ffc66362e Make a seperator between plugin name and vulnerability name
Can be useful for 'grep'ing.
plugin name [version[-range]] - vulnerability name
2013-10-11 10:00:55 +02:00
Peter van der Laan
8df95035da Update plugin_vulns.xml 2013-10-11 08:18:53 +02:00
Peter van der Laan
bdc60cbb97 Update plugin_vulns.xml 2013-10-10 23:38:35 +02:00
Peter van der Laan
b24075791d Removed 'for WordPress' and 'plugin' in title strings. 2013-10-10 23:11:30 +02:00
Peter van der Laan
d469a94cf2 Update plugin_vulns.xml 2013-10-10 21:34:09 +02:00
Ryan Dewhurst
26d8398fcc Merge pull request #309 from pvdl/master
Update Wordpress Vulnerabilities DB
2013-10-10 12:22:28 -07:00
Peter van der Laan
73198fdcec Update plugin_vulns.xml 2013-10-10 20:39:20 +02:00
Peter van der Laan
19dd9d26b4 Update README.md 2013-10-10 18:26:50 +02:00
Peter van der Laan
f03ca005c3 Update wp_vulns.xml 2013-10-10 17:51:02 +02:00
Peter van der Laan
4b8115978e Added Kali Linux on the list of pre-installed Linux distributions 2013-10-10 15:24:48 +02:00
Peter van der Laan
fc2a66ab51 Update wp_vulns.xml 2013-10-10 11:03:22 +02:00
Peter van der Laan
2c94454858 Update wp_vulns.xml 2013-10-10 10:50:14 +02:00
Peter van der Laan
aa4a636cce Update wp_vulns.xml 2013-10-10 10:13:43 +02:00
erwanlr
1c1a6d23d7 Merge pull request #308 from pvdl/master
Added new WP vulns in database.
2013-10-10 01:12:17 -07:00
Peter van der Laan
7549d3778c Fixed a 'crucial typo' 2013-10-10 09:49:10 +02:00
Peter van der Laan
3e3f11a273 Update plugin_vulns.xml 2013-10-10 09:40:48 +02:00
Peter van der Laan
c6cae028e4 Update plugin_vulns.xml 2013-10-09 23:25:15 +02:00
Peter van der Laan
fed48e6c76 Update plugin_vulns.xml 2013-10-09 18:20:43 +02:00
Ryan Dewhurst
6432c6e04d Merge pull request #307 from pvdl/master
Update WordPress Vulns.
2013-10-09 09:10:01 -07:00
Peter van der Laan
eb2bc58a59 Update plugin_vulns.xml 2013-10-09 17:05:09 +02:00
Peter van der Laan
7726b3ae32 Update plugin_vulns.xml 2013-10-09 16:31:13 +02:00
Peter van der Laan
d0f357332a Update plugin_vulns.xml 2013-10-09 15:36:40 +02:00
Peter van der Laan
54036d562b Update plugin_vulns.xml 2013-10-09 15:15:20 +02:00
erwanlr
cfb53e5560 Merge pull request #306 from pvdl/master
Update WordPress Vulns.
2013-10-09 03:36:09 -07:00
Peter van der Laan
90d48feef2 Fixed some errors 2013-10-09 11:57:50 +02:00
Peter van der Laan
8ca50428f1 Update plugin_vulns.xml 2013-10-09 11:41:27 +02:00
erwanlr
ab36d750f5 Merge pull request #304 from pvdl/master
Update WordPress Vulns.
2013-10-08 14:33:11 -07:00
Peter van der Laan
fccd093ea6 Update plugin_vulns.xml 2013-10-08 23:24:00 +02:00
Peter van der Laan
5ebbf2392b Update plugin_vulns.xml 2013-10-08 23:16:07 +02:00
Peter van der Laan
76444d2b3a Fixed tag error 2013-10-08 23:05:03 +02:00
Peter van der Laan
c4985b406d Fixed some tag errors 2013-10-08 23:02:35 +02:00
Peter van der Laan
053d83df2b Update theme_vulns.xml 2013-10-08 22:49:24 +02:00
Peter van der Laan
a1a68dfd11 Update plugin_vulns.xml 2013-10-08 22:49:02 +02:00
Peter van der Laan
0ba35e41b5 Update plugin_vulns.xml 2013-10-08 20:35:38 +02:00
Peter van der Laan
9c53273d1c Added Packetstorm #123367 2013-10-08 17:27:42 +02:00
Peter van der Laan
971f7e21cc Update plugin_vulns.xml 2013-10-08 16:48:43 +02:00
Peter van der Laan
ab65571ee5 Replace packetstormsecurity.org to packetstormsecurity.com 2013-10-08 11:40:38 +02:00
Peter van der Laan
75b3ea0bc4 Same URL syntax for all Packet Storm Security URL's
Packet Storm Security URL's don't need the 'friendly part' of the URL. So it can be neglected.
2013-10-08 11:24:03 +02:00
Peter van der Laan
fb95754e65 Update timthumb due to Secunia #54801 2013-10-08 10:32:09 +02:00
Peter van der Laan
5112bea511 Added Secunia #54801 2013-10-08 10:20:06 +02:00
Peter van der Laan
584c930858 Added Secunia #54894 2013-10-08 09:00:26 +02:00
Peter van der Laan
3494bc47cf Update Lazy SEO Plugin 2013-10-08 07:58:04 +02:00
Peter van der Laan
861841ef86 Added Secunia #54924 (Theme vuln.) 2013-10-08 00:17:56 +02:00
Peter van der Laan
556b2f3d21 Added Secunia #55160 2013-10-07 23:59:16 +02:00
Peter van der Laan
b16ea75dd6 Added Secunia #55182 2013-10-07 23:44:36 +02:00
Ryan Dewhurst
db62f6f680 Merge pull request #303 from pvdl/master
Update WordPress Vulns.
2013-10-07 13:30:48 -07:00
Peter van der Laan
9d4481de0d Update wp_vulns.xml 2013-10-07 22:14:05 +02:00
Peter van der Laan
db91d5041c Update wp_vulns.xml 2013-10-07 22:11:09 +02:00
Peter van der Laan
828f8c48eb Added Secunia #54865 2013-10-07 20:53:08 +02:00
Peter van der Laan
5bee1f1ffd Added Secunia #54979 2013-10-07 20:43:38 +02:00
Ryan Dewhurst
51ad9bd4bd Merge pull request #300 from pvdl/master
Update WordPress Vulns.
2013-10-07 04:50:13 -07:00
Peter van der Laan
1b36a2d2b3 Update OSVDB #95884 2013-10-07 12:53:34 +02:00
Peter van der Laan
d8c7d16879 Added Secunia #53170 2013-10-07 12:18:38 +02:00
Peter van der Laan
b573b5559f Added Secunia #54856 2013-10-07 11:41:04 +02:00
Peter van der Laan
2a943dcce8 Added Secunia #55133 2013-10-07 11:18:46 +02:00
Peter van der Laan
f2dd880fdb Added Secunia #55162 2013-10-07 11:00:36 +02:00
Peter van der Laan
dfd08e1e66 Update OSVDB #50902 2013-10-07 10:11:57 +02:00
Ryan Dewhurst
2a349415b8 Merge pull request #298 from pvdl/master
Update WP Vulns.
2013-10-06 13:53:45 -07:00
Peter van der Laan
08d073415d Update wp-photo-album-plus vulns. 2013-10-06 22:40:14 +02:00
Peter van der Laan
3de3c8fe8c Update OSVDB #88391 2013-10-06 22:02:13 +02:00
erwanlr
8d549a98c6 Merge pull request #297 from pvdl/master
Update WordPress vulns.
2013-10-06 08:10:28 -07:00
Peter van der Laan
30d75e9f1e Added OSVDB #97662 2013-10-06 16:29:03 +02:00
Peter van der Laan
76f45f128d Updade Crayon Syntax Highlighter vuln. 2013-10-06 14:14:08 +02:00
erwanlr
bb73c66fe6 Merge pull request #294 from pvdl/master
Added new OSVDB vulns.
2013-10-06 04:45:23 -07:00
Peter van der Laan
c4881490a0 Added OSVDB #97991 2013-10-06 13:38:34 +02:00
Peter van der Laan
0fc85e212a Update Mingle Forum vulns. 2013-10-06 13:07:17 +02:00
Peter van der Laan
254b4084b7 Added OSVDB #98027 2013-10-06 12:38:36 +02:00
Peter van der Laan
ab51b0536b Added OSVDB #98078 2013-10-06 12:26:51 +02:00
erwanlr
70dc987d45 Missing word 2013-10-05 20:08:10 +01:00
erwanlr
474816762f Use less memory when brute forcing with a large wordlist 2013-10-05 20:03:34 +01:00
erwanlr
90ade58842 Memory Usage output 2013-10-05 13:06:56 +01:00
erwanlr
f4460f315e Fix #249 & #275 2013-10-02 15:36:02 +01:00
erwanlr
8adfcf5866 Added CVE-2013-5916 - Fix #291 2013-09-30 16:44:13 +01:00
erwanlr
06ab77b2fc Ref # 271 'too' removed 2013-09-19 12:22:53 +01:00
erwanlr
d1ceb9cc72 Fix #271 Further Instructions added to the Mac Install 2013-09-19 12:21:59 +01:00
ethicalhack3r
7128cd2844 Forgot to commit spec changes. 2013-09-18 15:18:44 +02:00
ethicalhack3r
ae4c0c5405 Merge branch 'master' of https://github.com/sullo/wpscan into sullo-master 2013-09-18 15:14:28 +02:00
erwanlr
27acb896c6 Typo 2013-09-17 14:37:02 +01:00
erwanlr
95557ce095 Some vulns added 2013-09-17 14:34:33 +01:00
erwanlr
4a4df8e1c4 Fix #285 Platinum SEO Plugin XSS 2013-09-16 20:21:13 +01:00
erwanlr
2cbb48f23f Merge pull request #283 from za/master
Add PHP Object Injection vulnerability disclosed by Tom Van Goethem
2013-09-13 01:41:28 -07:00
Zaki Akhmad
61001c2aef Add PHP Object Injection vulnerability disclosed by Tom Van Goethem 2013-09-13 14:16:07 +07:00
erwanlr
6b93a0191c Ref #280 WP 3.6.1 fingerprint 2013-09-12 16:12:04 +02:00
sullo
870201de14 Don't skip passwords that start with a hash. This is fairly common (see RockYou list for example). 2013-09-12 09:30:23 -04:00
erwanlr
2c6ec234ac Merge pull request #279 from adegol/master
Added 3 vulnerable plugins
2013-09-11 10:01:17 -07:00
Adéla Goldová
39af0d5541 Added fixed_in tag on HMS Testimonial and Usernoise. IndiaNIC Testimonals remains unfixed but is removed from plugin directory 2013-09-11 18:51:55 +02:00
Adéla Goldová
d833940f3b Fixed typo 2013-09-11 14:14:49 +02:00
Adéla Goldová
e00dddaac6 Added Usernoise 2013-09-11 00:18:20 +02:00
Adéla Goldová
5bfdde158a Added IndiaNIC Testimonial 2013-09-11 00:15:17 +02:00
Adéla Goldová
8a26848086 Added HMS Testimonials 2013-09-11 00:14:11 +02:00
ethicalhack3r
c54fb6ee23 Updated MD5 hash of WP 3.6 detection. See Issue #277. 2013-09-10 11:48:15 +02:00
erwanlr
176bc75a71 Merge pull request #272 from fgeek/master
CVE-2013-4626
2013-08-30 05:22:07 -07:00
Henri Salo
125f4102bd Typofix 2013-08-30 15:15:06 +03:00
Henri Salo
1c3146359e CVE-2013-4626 2013-08-30 15:07:11 +03:00
Christian Mehlmauer
c00269c905 rspecs 2013-08-25 11:05:01 +02:00
Christian Mehlmauer
5cc9df9599 urls 2013-08-25 09:38:25 +02:00
Christian Mehlmauer
a032b7c134 more reference tags, fixes issue #268 2013-08-24 11:16:39 +02:00
Christian Mehlmauer
115241f16c cve tags 2013-08-23 14:06:54 +02:00
Christian Mehlmauer
fc75b315f9 bugfix 2013-08-23 14:02:58 +02:00
Christian Mehlmauer
1f5cb4b0a0 added cve tag to xml file 2013-08-23 14:02:09 +02:00
ethicalhack3r
55089646c2 Added other CVE. See Issue #264. 2013-08-23 12:59:08 +02:00
ethicalhack3r
25915b0cbb Refactored version method to use ternary operator. 2013-08-23 12:57:37 +02:00
ethicalhack3r
f704efb2af Vulnerable plugin updates. See Issue #264 2013-08-23 12:55:04 +02:00
Christian Mehlmauer
a97f9cd695 add documentation to readme 2013-08-22 17:05:17 +02:00
Christian Mehlmauer
259004e226 use online documentation 2013-08-21 15:34:36 +02:00
Christian Mehlmauer
7c1241c6f6 user prompt on same line 2013-08-18 15:47:30 +02:00
Christian Mehlmauer
03f8b02ac1 add --version switch 2013-08-18 15:40:55 +02:00
Christian Mehlmauer
81f9612de2 clean up rspecs 2013-08-17 12:19:54 +02:00
Christian Mehlmauer
264bc834b5 remove reference 2013-08-17 11:35:53 +02:00
Christian Mehlmauer
7acea5f4b2 fix issue #266 - passive detection regex 2013-08-17 11:33:25 +02:00
Christian Mehlmauer
9015834b15 fix issue #265 - remove base64 images before passive detection 2013-08-17 10:54:56 +02:00
ethicalhack3r
086e6e86a5 ruby-progressbar Gemfile version bump 2013-08-13 10:14:52 +02:00
Christian Mehlmauer
d107613e40 fix issue #262 2013-08-12 22:01:24 +02:00
Christian Mehlmauer
8896f8bf79 docs 2013-08-11 08:58:28 +02:00
Christian Mehlmauer
6cedd672cb removed comment 2013-08-10 13:31:20 +02:00
Christian Mehlmauer
3583db6a92 banner artwork 2013-08-10 13:30:24 +02:00
Christian Mehlmauer
faf234b482 docs 2013-08-10 12:47:52 +02:00
Christian Mehlmauer
5ea911c9b3 Header names are case insensitive
Move header checks to web_site
2013-08-10 11:49:30 +02:00
Christian Mehlmauer
6c008015e9 parse robots.txt 2013-08-10 11:35:17 +02:00
Christian Mehlmauer
6c8e76060a - update headers
- show twitter usernames
2013-08-09 23:41:34 +02:00
erwanlr
57d0af562e Merge branch 'master' of github.com:wpscanteam/wpscan 2013-08-09 15:25:17 +02:00
erwanlr
94ee5e15ac Ref #260 Fixes Travis Fail, due to rspec-mock v2.14.3 2013-08-09 15:24:28 +02:00
ethicalhack3r
678184e24b Another Travis-CI possible fix... 2013-08-09 13:45:35 +02:00
ethicalhack3r
fa0e4658cb Another Travis-CI attempt to fix 2013-08-09 13:33:52 +02:00
ethicalhack3r
7951e442a8 Attempted Travis-CI fix. 2013-08-09 13:26:39 +02:00
ethicalhack3r
3870fc0b2c Typo fix. Also Travis-CI test... 2013-08-09 13:04:50 +02:00
ethicalhack3r
2a9bd99f97 Fix for xmlrpc false positive. Issue #260. 2013-08-09 12:54:10 +02:00
erwanlr
de30802491 Better-WP-Security v3.4.3 XSS vuln title & fixed_in tag 2013-08-08 13:48:13 +02:00
erwanlr
973c0da4f2 Typo 2013-08-02 16:34:13 +02:00
erwanlr
3a3cbfdf7d Typo 2013-08-02 16:18:58 +02:00
erwanlr
21663ae519 Aded plugin vuln: sharebar CSRF 2013-08-02 16:15:25 +02:00
erwanlr
3a53936a88 Aded WP vuln: 3.4 - 3.5.1 wp-admin/users.php FPD 2013-08-02 16:10:17 +02:00
erwanlr
eac24ebbc8 Aded plugin vuln: pie-register XSS 2013-08-02 16:02:34 +02:00
erwanlr
9a70b8e2af Aded plugin vuln: spicy-blogroll RFI 2013-08-02 15:51:43 +02:00
erwanlr
e9374e4fe3 Aded plugin vuln: woocommerce XSS 2013-08-02 15:49:20 +02:00
erwanlr
5afdbded7e Aded plugin vuln: citizen-space CSRF 2013-08-02 15:46:03 +02:00
erwanlr
3f6087b180 Added Refence: wp-better-security Stored XSS 2013-08-02 15:43:49 +02:00
erwanlr
1c577084b1 Added plugin vuln: duplicator XSS 2013-08-02 15:39:58 +02:00
erwanlr
a242ca094e Fix #252 Events Calendar references (& XSS Added) 2013-08-02 15:27:57 +02:00
ethicalhack3r
c3b9611f76 Added WP 3.6 advanced fingerprint hash. See Issue #255. 2013-08-02 11:31:05 +02:00
ethicalhack3r
d32b20a529 Added another fixed_in paramter 2013-07-30 21:08:49 +02:00
ethicalhack3r
f4946525bb Missed fixed_in parameter for better-wp-security plugin 2013-07-30 20:50:37 +02:00
ethicalhack3r
3eb7639ce7 Better WP Security Plugin Stored XSS. See Issue #251. 2013-07-30 20:06:00 +02:00
Christian Mehlmauer
48e6ba4a1c Merge pull request #250 from za/master
just fixing typo at data/wp_versions.xml
2013-07-29 00:43:21 -07:00
Zaki Akhmad
41f6cf1463 fix typo at wp_versions.xml comment: verions->versions 2013-07-29 14:26:12 +07:00
ethicalhack3r
1722025a2c Added SWFUpload Content Spoofing in 3.5.2 see issue #243 2013-07-26 14:45:03 +02:00
ethicalhack3r
697b72836d Missunderstood known_headers array, removed security headers 2013-07-25 20:01:55 +02:00
ethicalhack3r
b6777fd0d7 Added security headers 2013-07-25 19:56:06 +02:00
ethicalhack3r
6d2165acc3 Little refactoring 2013-07-25 19:47:16 +02:00
ethicalhack3r
c33e553175 Handle when there are 2 headers of the same name 2013-07-25 19:41:03 +02:00
erwanlr
ab1381e830 WpItems::Detectable#passive_detection Complexity Reduced 2013-07-24 14:35:15 +02:00
erwanlr
669e1458da Fix #208 - Fixed vulnerable plugins still appear in the results 2013-07-24 14:18:02 +02:00
erwanlr
73f42bb73d Merge pull request #247 from za/master
Update plugin_vulns.xml: SQL injection fixed in events-calendar version ...
2013-07-24 01:01:47 -07:00
Zaki Akhmad
f50a6477bc Update plugin_vulns.xml: SQL injection fixed in events-calendar version 6.7.10 2013-07-24 14:01:59 +07:00
Christian Mehlmauer
501fbd825a clean logfile on wpstools too 2013-07-23 19:10:51 +02:00
Christian Mehlmauer
02111bf9b4 updated data files 2013-07-23 18:17:24 +02:00
Christian Mehlmauer
0f7bc49992 wordpress.org is really unstable at the moment 2013-07-23 18:16:48 +02:00
Christian Mehlmauer
2fb6f7169a fix issue #245 2013-07-23 12:20:26 +02:00
Christian Mehlmauer
95b1264f7f Merge branch 'master' of github.com:wpscanteam/wpscan 2013-07-20 22:40:13 +02:00
Christian Mehlmauer
fc2ba604ea Added pingback header 2013-07-20 22:39:01 +02:00
erwanlr
9743f60991 Merge pull request #246 from anantshri/master
removed feed plugin vulnerability issue
2013-07-20 04:50:32 -07:00
Anant Shrivastava
7239c8d848 removed feed plugin vulnerability issue
Removed Feed plugin vulnerability as this is not provable as well as there is no publically listed plugin nor any traces or a private plugin of such name. this corresponds to issue no #244
2013-07-20 16:05:00 +05:30
Christian Mehlmauer
bf10b25291 docs 2013-07-19 23:10:56 +02:00
Christian Mehlmauer
3b4790163c fix rspecs 2013-07-19 23:07:58 +02:00
Christian Mehlmauer
fd1e0da4df - Wordpress.com is instable
- request_timeout and connect_timeout implemented
2013-07-19 22:53:50 +02:00
Christian Mehlmauer
57755417f9 bugfix on output 2013-07-19 21:59:52 +02:00
Christian Mehlmauer
9caabfd586 docs 2013-07-19 21:51:04 +02:00
Christian Mehlmauer
37bffd6f1c docs 2013-07-19 21:50:23 +02:00
Christian Mehlmauer
99ea17127d docs 2013-07-19 21:49:57 +02:00
Christian Mehlmauer
bb35837ea1 output interesting http-headers 2013-07-19 14:14:13 +02:00
ethicalhack3r
f49b53b095 WPScan updated in backtrack. 2013-07-18 13:31:52 +02:00
ethicalhack3r
e93daabd8b Small typo 2013-07-16 18:59:42 +02:00
ethicalhack3r
6bb6dfff2d Added CVE-2008-1930 to WP 2.5 2013-07-16 18:57:18 +02:00
erwanlr
0f8f49f19c Fix #241 2013-07-16 17:49:25 +02:00
erwanlr
85b4f987bb Ensure that brute forcing results are output even if an error occurs or the user exits 2013-07-05 10:47:00 +02:00
erwanlr
a75dae8128 Added vulns & refs 2013-07-05 10:39:38 +02:00
ethicalhack3r
f2fc5294e8 Added Xorbin vlovk plugin vulns. 2013-07-01 10:14:06 +02:00
erwanlr
c81a87d154 Update common_helper.rb 2013-06-26 01:18:16 +03:00
erwanlr
bc435a6266 Only load bundler for non Kali system 2013-06-26 01:16:51 +03:00
erwanlr
d3362bac75 Kali Linux detection 2013-06-26 01:15:51 +03:00
ethicalhack3r
87d7657dec Added wp dos issue to prev versions. See Issue #219. 2013-06-25 18:42:41 +02:00
ethicalhack3r
6aa62ce20c Typo in usage info. See Issue #233 2013-06-25 16:46:31 +02:00
ethicalhack3r
eb143af967 WP-Pretty Photo is theme dependency not a plugin. 2013-06-22 23:56:03 +02:00
Christian Mehlmauer
a8c5b68d1a Fix Issue #232 2013-06-22 21:17:05 +02:00
Christian Mehlmauer
698f998307 Fix Issue #231 2013-06-22 21:16:00 +02:00
ethicalhack3r
18ed982aea Added WP-Pretty Photo DOM XSS 2013-06-22 18:13:19 +02:00
ethicalhack3r
7ac467923a Updated Fedora install instructions as per Issue #92 2013-06-22 11:55:12 +02:00
erwanlr
09e2045b5b WP 3.5.2 Fingerprint 2013-06-21 23:53:09 +03:00
erwanlr
61b13e4543 Added Vulns & references 2013-06-21 17:00:18 +02:00
erwanlr
a436bb059a OSVDB refrences homogenisation 2013-06-21 16:41:38 +02:00
ethicalhack3r
934625905a Added slash-wp theme vulns 2013-06-20 21:16:07 +02:00
ethicalhack3r
cd4f3103cb Changed vuln types back to MULTI. 2013-06-20 12:47:24 +02:00
ethicalhack3r
9cef6612b7 Wrong vuln type 2013-06-20 00:55:45 +02:00
Ryan Dewhurst
fdacd06730 Merge pull request #230 from cervoise/patch-9
Update plugin_vulns.xml
2013-06-19 15:42:36 -07:00
Ryan Dewhurst
1731cc7798 Merge pull request #229 from cervoise/patch-8
Update theme_vulns.xml
2013-06-19 15:41:39 -07:00
cervoise
55fe1c4115 Update plugin_vulns.xml
Add vulnerabilites in antivirus.
2013-06-19 13:45:57 +02:00
cervoise
97a2f07f83 Update theme_vulns.xml
Add XSS in ambience.
2013-06-19 14:44:17 +03:00
ethicalhack3r
be154bfed5 Added another reference to advanced-xml-reader plugin vuln 2013-06-16 23:07:18 +02:00
erwanlr
102585e4c7 Added some vulns, references, CVEs (Ref #184) 2013-06-16 12:20:45 +02:00
erwanlr
385b250c01 Added VideoJS XSS in plugins 2013-06-15 16:53:22 +03:00
erwanlr
db6a0aa584 Fix #189 VideoJS XSS in Themes 2013-06-15 15:36:04 +02:00
erwanlr
3363006a83 README updated to include minimum & recommended version of Ruby, Curl and rubygems 2013-06-14 16:41:18 +02:00
erwanlr
78a24630ac Releasing the Typhoeus version constraint 2013-06-14 16:36:06 +02:00
erwanlr
5709422978 Merge pull request #225 from cervoise/patch-7
Update plugin_vulns.xml
2013-06-14 06:56:02 -07:00
cervoise
b7d28479e0 Update plugin_vulns.xml
Add a vuln for event manager.
2013-06-14 15:45:38 +02:00
erwanlr
4594933c93 Themes & Plugins lists regenerated 2013-06-14 12:17:08 +02:00
erwanlr
f75bd90fcf Fix #223 New wordpress urls for most popular plugins & themes 2013-06-14 12:09:48 +02:00
erwanlr
01ea9657a7 Conflict solved 2013-06-14 11:51:27 +02:00
erwanlr
b544ee12d9 Fix #177 Passive Cache plugins detection (no spec) 2013-06-14 11:48:55 +02:00
ethicalhack3r
4874d3bfa3 Added XSS in jobroller theme. See Issue #220. 2013-06-13 12:22:43 +02:00
ethicalhack3r
a89cc332c3 Added CVE number to 3.5.1 DoS. See Issue #219. 2013-06-13 12:20:08 +02:00
Ryan Dewhurst
bde27aff7b Merge pull request #222 from cervoise/patch-5
Update wp_vulns.xml
2013-06-13 03:00:21 -07:00
Ryan Dewhurst
81676bf9ec Merge pull request #224 from cervoise/patch-6
Update plugin_vulns.xml
2013-06-13 03:00:01 -07:00
cervoise
24e039c177 Update plugin_vulns.xml
Add underconstruction, adif-log-search-widget, exploit-scanner, ga-universal, export-to-text, qtranslate, catalog, uk-cookie (one vulnerability each).
Add two vulnerabilities for nextgen-gallery.
Add fixed_in for first nextgen-gallery vuln.
Add fixed in for second nextgen-gallery vuln.
2013-06-13 11:49:19 +02:00
cervoise
837d4c85fd Update wp_vulns.xml
Add WordPress 3.5.1 DoS in class-phpass.php
2013-06-13 10:49:33 +02:00
Christian Mehlmauer
6d362a453e fix typo 2013-06-11 15:08:54 +02:00
Christian Mehlmauer
ff08b5920d Merge pull request #218 from cervoise/patch-4
Update plugin_vulns.xml (travis build will fail)
2013-06-11 06:08:01 -07:00
cervoise
5b1a8b03b7 Update plugin_vulns.xml
Add vulnerabilites for wp125, wp-symposium, wp-download-manager, digg-digg, ssquiz, funcapatcha, wili-language, wordpress-seo.

Correct fixed_in version for a vulnerability in easy-adsense-lite.

Correct indent.
2013-06-11 10:31:10 +02:00
Christian Mehlmauer
6a8e14b161 Merge pull request #217 from cervoise/patch-3
Update theme_vulns.xml
2013-06-11 01:08:46 -07:00
cervoise
6e9922eab2 Update theme_vulns.xml
Add multiple vulnerabilities in Colormix
2013-06-11 11:00:53 +03:00
Ryan Dewhurst
e040d79280 Merge pull request #215 from cervoise/patch-1
Update plugin_vulns.xml
2013-06-10 08:13:49 -07:00
cervoise
7403bd7d16 Update plugin_vulns.xml
Add vulnerabilities in feedweb, wp-print and trafficanalyzer.
2013-06-10 16:21:49 +03:00
Christian Mehlmauer
d9dcc73f8b Update README.md 2013-06-09 16:17:25 +02:00
Christian Mehlmauer
d2696a53ef minor updates 2013-06-09 16:13:56 +02:00
Christian Mehlmauer
cd5b45f98b docs 2013-06-09 16:07:04 +02:00
Christian Mehlmauer
c63beaa35d rspecs 2013-06-09 15:57:41 +02:00
Christian Mehlmauer
1bcabbad4c use the redirect_to parameter on bruteforce 2013-06-09 15:27:39 +02:00
Christian Mehlmauer
a669a33774 Merge branch 'master' of github.com:wpscanteam/wpscan 2013-06-09 09:20:12 +02:00
Christian Mehlmauer
bbefdfc4e5 Added debug output 2013-06-09 09:19:25 +02:00
ethicalhack3r
7b2f1d562e Slight update to security plugin warning. Issue #212. 2013-06-08 01:17:07 +02:00
ethicalhack3r
fc0373fccc Added ruby-progressbar version to Gemfile 2013-05-29 23:52:53 +02:00
Christian Mehlmauer
d6386c05a4 docs 2013-05-28 19:52:50 +02:00
Christian Mehlmauer
fd7017f530 readded "junk removal" from usernames before output 2013-05-28 19:45:20 +02:00
Christian Mehlmauer
8c9d82cb6d fix for issue #200 2013-05-28 18:41:08 +02:00
Christian Mehlmauer
ebfe2ef08d added some secunia advisories 2013-05-19 12:54:06 +02:00
Christian Mehlmauer
628c9a0f4f added reference, Issue #192 2013-05-19 12:27:16 +02:00
Christian Mehlmauer
c217cd7c64 added advanced-xml-reader, Issue #191 2013-05-19 12:25:08 +02:00
ethicalhack3r
47df347b69 Added CVE numbers to wp-cleanfix plugin. 2013-05-18 23:48:10 +02:00
ethicalhack3r
084c140eb7 Added CVE for mail-on-update plugin. 2013-05-18 12:38:20 +02:00
ethicalhack3r
f5fa5060b6 Added mail-on-update plugin CSRF. See Issue #188. 2013-05-18 12:37:03 +02:00
ethicalhack3r
cf7d905d20 Added 'CSRF' to wp-cleanfix plugin issue title. 2013-05-15 20:26:33 +02:00
ethicalhack3r
50808d8ca4 Added wp-cleanfix plugin RCE. See Issue #186. 2013-05-15 20:02:48 +02:00
ethicalhack3r
e8a81cce4d Added uk-cookie plugin XSS. See Issue #184. 2013-05-14 19:23:52 +02:00
ethicalhack3r
4b34cf90f7 Amended Arch Linux install instructions. See issue #183. 2013-05-12 13:42:14 +02:00
Christian Mehlmauer
7f10462189 Merge branch 'master' of github.com:wpscanteam/wpscan 2013-05-10 21:59:47 +02:00
Christian Mehlmauer
57f4239832 Resolve conflicts 2013-05-10 21:59:09 +02:00
Christian Mehlmauer
fe5bef0f3b added some fixed_in tags #179 2013-05-10 21:25:38 +02:00
Christian Mehlmauer
46d5dcf8f8 feedback implemented #179 2013-05-10 20:26:53 +02:00
Christian Mehlmauer
5a4dd31ba7 more rspecs #179 2013-05-10 19:45:31 +02:00
Christian Mehlmauer
7a7450f98e rspecs and bugfixing(Can't dup nilclass on missing readme.txt) #179 2013-05-10 19:24:17 +02:00
erwanlr
42efc9f9ec Fix #182 Remove the progress-bar static length (120), and let it to automatic 2013-05-10 17:44:22 +02:00
erwanlr
160ee4dcec Fix #181 Don't exit if no usernames found during a simple enumeration (but exit if a brute force is asked) 2013-05-10 17:01:10 +02:00
erwanlr
cdd2c96b5e Fix #176 Plugins vulnerabilities added 2013-05-10 10:45:51 +02:00
Christian Mehlmauer
cdd74b535b rspecs #179 2013-05-07 20:46:08 +02:00
Christian Mehlmauer
b635168fb3 xsd refining #179 2013-05-06 23:39:05 +02:00
Christian Mehlmauer
3e9c51f18e some more work for #179 2013-05-06 23:36:18 +02:00
Christian Mehlmauer
4ce6396e3f removed debug output #179 2013-05-06 23:30:47 +02:00
Christian Mehlmauer
9c0ce2a1cd fix rspecs #179 2013-05-06 22:47:20 +02:00
Christian Mehlmauer
77ebd9d4fd Fixed Version compare for issue #179 2013-05-06 22:33:18 +02:00
erwanlr
b06dcf555e Ref #177 wp-super-cache detected from header 2013-05-06 15:35:15 +02:00
erwanlr
7a963e346a Ref #177 Passive detection of specific plugins (Dirty work) 2013-05-03 17:51:14 +02:00
Christian Mehlmauer
ebe35cb7b2 gitignore 2013-04-30 23:08:52 +02:00
Christian Mehlmauer
a38c709d74 Updated documentation 2013-04-30 23:06:37 +02:00
ethicalhack3r
dca987b64b Added "Module Configuration Security Bypass" to more versions of WP, see issue #126 2013-04-28 18:59:45 +02:00
Christian Mehlmauer
fb16a8a43d Added reference 2013-04-26 23:11:51 +02:00
Christian Mehlmauer
3f9be29606 Added references 2013-04-25 10:14:58 +02:00
Christian Mehlmauer
e071851271 Added Cache RCE 2013-04-24 19:40:57 +02:00
erwanlr
2f7db7312e Remove useless code 2013-04-18 12:44:06 +02:00
erwanlr
471ebb733c Add link to the WebMock issue about the range header not considerated 2013-04-18 11:44:20 +02:00
erwanlr
5a097d429d Code Factoring 2013-04-18 11:22:19 +02:00
erwanlr
662d94e958 Complexity reduced 2013-04-17 15:40:09 +02:00
erwanlr
4c57a00660 Trying to reduce the complexity of WpUser#brute_force 2013-04-17 12:48:18 +02:00
erwanlr
0c8c5e2928 Themes & Plugins updated 2013-04-16 18:04:26 +02:00
erwanlr
4df1c605a2 WPSTools : Do not output the backtrace of the main script 2013-04-16 17:53:32 +02:00
erwanlr
eca90894e0 Additional specs for #169 2013-04-16 17:33:40 +02:00
erwanlr
788122c5d6 WebSite::page_hash Better comments detection 2013-04-16 16:42:37 +02:00
erwanlr
f904c3241a Merge branch 'fix-169' 2013-04-16 14:19:38 +02:00
erwanlr
3f8bc5e01a Fixes hacks.rb conflict 2013-04-16 14:19:30 +02:00
erwanlr
bb88a1105e Possible fix for #169 2013-04-16 14:14:20 +02:00
erwanlr
7143c7ffe9 WpUser#brute_force Browser.instance replaced by a local var 2013-04-15 15:55:48 +02:00
erwanlr
de1bc6a369 Merge branch 'master' of github.com:wpscanteam/wpscan 2013-04-15 15:02:33 +02:00
erwanlr
b1ce7bdcc5 Fixes #164 README.txt detection 2013-04-15 15:02:09 +02:00
ethicalhack3r
da4ee57e58 Changed 'file' flag in charset method, see Issue #167. 2013-04-15 13:54:27 +02:00
erwanlr
698197248e Fixes #166 ListGenerator using the old Browser#get method for full generation 2013-04-15 10:17:31 +02:00
erwanlr
7c2c2305fb ProgressBar left margin trick 2013-04-14 18:03:59 +02:00
erwanlr
df5b8b9c35 WpItems agressive detection progress bar 2013-04-14 18:01:24 +02:00
erwanlr
446910767b BruteForcer progress bar 2013-04-14 17:30:57 +02:00
erwanlr
927c37e6db Exit codes 2013-04-14 13:00:12 +02:00
erwanlr
6cd349cb24 Code Factoring 2013-04-14 12:51:53 +02:00
erwanlr
271cd71c20 Display the wp_user.login in the table 2013-04-13 23:28:24 +02:00
erwanlr
f7a15e67cd Fixes error with the -U option (undefined method 'merge' for #WpTarget:) 2013-04-13 23:26:55 +02:00
erwanlr
c570c1798a Removed empty line 2013-04-13 22:38:15 +02:00
erwanlr
5acaff356f Indentation fix 2013-04-13 22:37:16 +02:00
erwanlr
4af7a19eb0 Uses terminal-table to display wp_users 2013-04-13 22:25:34 +02:00
erwanlr
4f182dc41b Format the output of WpUser::BruteForcable 2013-04-13 19:02:14 +02:00
erwanlr
704c6b1669 Detection of the wordlist charset 2013-04-13 18:56:47 +02:00
erwanlr
5d327f5060 Reverts #122 Don't encode login & password as they will be encoded in Typhoeus 2013-04-13 18:02:12 +02:00
erwanlr
4ecbf7fe79 Fixes #153 Disable error trace when it's from the main script 2013-04-13 11:35:52 +02:00
erwanlr
92d690e357 Missing @param 2013-04-13 11:04:23 +02:00
erwanlr
7db63bb3e0 BruteForcer moved in WpUser as a module 2013-04-12 21:52:33 +02:00
erwanlr
777f06608b Gemfile conflict 2013-04-11 21:15:12 +02:00
erwanlr
5db00e257b Browser modules final work 2013-04-11 21:13:08 +02:00
erwanlr
1475ba810c Browser::Options done 2013-04-11 18:31:27 +02:00
erwanlr
bdedf6f63f Back to the previous version of Typhoeus & Ethon to avoid seg fault in rspec 2013-04-11 14:48:43 +02:00
erwanlr
3245063a74 Ethon::Easy cookies hacks modified to reflect the new version of Typhoeus 2013-04-11 12:56:40 +02:00
erwanlr
dc109f12d8 Fixes #163 in the proper way 2013-04-11 12:51:55 +02:00
erwanlr
1615c0f84e Some Browser::Options work 2013-04-10 18:34:50 +02:00
erwanlr
2466ca9eb0 Fixes #162 Social Media Widget malicious code 2013-04-09 22:52:09 +02:00
erwanlr
b9524499bf Some Browser::Options work 2013-04-09 21:40:19 +02:00
erwanlr
47fb8b9938 Browser::Actions specs fixes 2013-04-09 18:27:36 +02:00
erwanlr
3525fb87e2 Browser::Actions (no specs) 2013-04-09 17:43:15 +02:00
erwanlr
2a45878a55 Cookie-jar file moved to cache/browser/ 2013-04-09 11:20:54 +02:00
erwanlr
333c52ac45 Fixes #144 Use cookie jar to prevent infinite redirections loop 2013-04-09 00:32:52 +02:00
erwanlr
3565b25719 Vulns added 2013-04-08 21:04:46 +02:00
erwanlr
fecaa613e4 Fixed is_multisite? => multisite? 2013-04-08 19:32:36 +02:00
erwanlr
748b5d3166 WpTarget modules reworked 2013-04-08 18:22:06 +02:00
erwanlr
e07bb73eeb Some vulnerabilities added 2013-04-08 14:14:06 +02:00
erwanlr
22dc2c175a reflex-gallery version specifier removed 2013-04-05 21:09:07 +02:00
erwanlr
8bee5fcff8 wp-glossary SQLI removed, fake one 2013-04-05 21:08:08 +02:00
erwanlr
2221857199 Improve the TIP command when a gem is missing 2013-04-05 18:18:17 +02:00
erwanlr
8f8ad708f8 rdoc 2013-04-05 14:41:15 +02:00
erwanlr
e4e506e62d main() moved to wpscan.rb 2013-04-05 14:17:32 +02:00
erwanlr
38b51d55f4 Merge branch 'new-enumeration-system' 2013-04-05 14:07:06 +02:00
erwanlr
3ce42b641c License text removed from sources, see the LICENSE file 2013-04-05 14:06:31 +02:00
erwanlr
f71d39fe36 Add license file 2013-04-04 13:14:51 +02:00
erwanlr
d87901921a Fix specs for main 2013-04-03 19:01:04 +02:00
erwanlr
0b46f67551 Merge branch 'master' of github.com:wpscanteam/wpscan 2013-04-03 18:48:13 +02:00
erwanlr
d1cfb8287f Ref #153 No error trace when 'No argument supplied' 2013-04-03 18:47:41 +02:00
erwanlr
9b0d2784e1 typo 2013-04-03 18:45:22 +02:00
erwanlr
d8ff653956 Merge pull request #158 from lnxg33k/master
brilliant File Upload Vulnerability
2013-04-03 02:03:17 -07:00
Ahmed Shawky
a828ee6b1e Add brilliant File Upload Vulnerability 2013-04-03 10:14:11 +02:00
erwanlr
7141c1fb09 Added podPress XSS 2013-04-01 23:36:07 +02:00
Christian Mehlmauer
7cb2c6844f Merge branch 'master' into new-enumeration-system 2013-04-01 23:11:37 +02:00
erwanlr
31735c4ca7 ofc_upload_image.php Arbitrary File Upload Vulnerability 2013-04-01 22:50:55 +02:00
erwanlr
9207493f31 Ref #150 Backbuddy reference added 2013-04-01 22:46:02 +02:00
erwanlr
794321d925 Fix #155 wp-funeral-press XSS 2013-03-31 15:13:58 +02:00
erwanlr
84574533ef README.md format 2013-03-30 23:27:46 +01:00
erwanlr
3af01e7ded Fix #158. Add the solution to 'no such file to load -- rubygems' in the README 2013-03-30 23:25:33 +01:00
erwanlr
91f9a1e84f Ref #150 Backupbuddy plugin vulns 2013-03-30 23:11:59 +01:00
erwanlr
86d53c73a8 WpTimthumb#== specs 2013-03-30 19:40:54 +01:00
erwanlr
a9b25edafe WpUser additional specs 2013-03-30 19:08:47 +01:00
erwanlr
21f5acf62f WpUsers::Detectable specs 2013-03-30 16:33:39 +01:00
erwanlr
07e5a532c1 WpTimthumbs::Detectable specs 2013-03-30 16:03:46 +01:00
erwanlr
e65c4f4497 Missing xml tag, typo 2013-03-29 23:17:23 +01:00
erwanlr
f26ece827c StatsPlugin spec fixes 2013-03-29 23:15:29 +01:00
erwanlr
09c9554e4b Doc 2013-03-29 22:51:26 +01:00
erwanlr
68876bffb9 WpItems, WpPlugins, WpThemes specs 2013-03-29 22:27:43 +01:00
erwanlr
565bfceb49 WpVersion::Findable specs 2013-03-28 20:48:19 +01:00
ethicalhack3r
e33dad8492 Added classic theme XSS 2013-03-28 15:35:53 +01:00
erwanlr
a7bd5044c4 WpVersion::Vulnerable specs 2013-03-28 15:33:35 +01:00
Christian Mehlmauer
2179dc5066 fix issue 152 2013-03-28 14:10:44 +01:00
erwanlr
ec9eadda8e WpUser::Existable specs 2013-03-27 16:52:32 +01:00
erwanlr
52c1bd3558 Typos 2013-03-27 13:54:35 +01:00
ethicalhack3r
1d5e7dccb7 Added WP-Banners-Lite XSS 2013-03-27 12:42:32 +01:00
erwanlr
99cd96f33c Added felici XSS 2013-03-26 17:33:06 +01:00
erwanlr
e3fbd07e41 Added mathjax-latex CSRF 2013-03-26 17:30:02 +01:00
erwanlr
be0aad2c66 WpTimthumb::Versionable specs 2013-03-26 17:12:57 +01:00
erwanlr
65ca256a73 WpTimthumb::Existable specs 2013-03-26 16:46:39 +01:00
erwanlr
da1c556896 WpTheme::Vulnerable specs 2013-03-26 16:26:03 +01:00
erwanlr
ba0af6edda WpTheme::Versionable specs 2013-03-26 16:04:10 +01:00
erwanlr
40f4057d47 WpTheme::Findable specs 2013-03-26 15:34:48 +01:00
erwanlr
130a2a44e8 Fixes #150 BackupBuddy added 2013-03-26 13:02:00 +01:00
erwanlr
1168cf7305 Fixes, once and for all the deprecated usage of URI.escape & URI.encode 2013-03-25 22:08:14 +01:00
erwanlr
d6f18943b7 WpPlugin::Vulnerable specs 2013-03-25 21:22:28 +01:00
erwanlr
d946ef55a8 WpItem::Vulnerable specs 2013-03-25 20:30:26 +01:00
erwanlr
95041945ff WpItem::Versionable specs 2013-03-25 16:03:34 +01:00
erwanlr
2ad2b8866b output.rb excluded from coverage 2013-03-25 15:26:25 +01:00
erwanlr
5bb9aa29fa WpItem::Infos specs 2013-03-25 15:24:46 +01:00
erwanlr
276952ffb9 WpItem::Findable#Found_From rdoc 2013-03-25 13:56:13 +01:00
erwanlr
2ee2fe494d WpItem::Findable#Found_From= specs 2013-03-25 13:53:36 +01:00
erwanlr
6f49584546 WpItem::Existable specs 2013-03-22 21:53:20 +01:00
erwanlr
e058b204f4 Typhoeus::Response hack moved to hacks.rb, ignoring hacks.rb in coverage 2013-03-22 18:37:28 +01:00
erwanlr
d937b20d79 Vulnerability::Output specs 2013-03-22 18:26:27 +01:00
erwanlr
af4ecc4084 WpVersion specs 2013-03-22 18:08:56 +01:00
erwanlr
92414d0c2f WpUser specs 2013-03-22 17:57:31 +01:00
erwanlr
cb9717f6e7 WpTheme specs 2013-03-22 17:33:57 +01:00
erwanlr
a635b3aef6 WpPlugin specs 2013-03-22 16:56:37 +01:00
erwanlr
ad6ff2f7f0 WpItem specs 2013-03-21 15:08:16 +01:00
erwanlr
4d687544d2 sample renamed 2013-03-20 20:24:22 +01:00
erwanlr
543a6fbaa2 Vulnerability specs 2013-03-20 19:29:34 +01:00
erwanlr
4c5f02865f Output the timthumb version if found 2013-03-19 23:53:43 +01:00
erwanlr
dfcfaa2041 Missing statement 2013-03-19 23:22:28 +01:00
erwanlr
d016d33747 New enumeration system 2013-03-19 22:59:20 +01:00
erwanlr
634a6222f7 Added occasions CSRF 2013-03-19 21:35:39 +01:00
erwanlr
0db4740a82 Added count-per-day XSS 2013-03-19 21:31:09 +01:00
erwanlr
3201620700 Added simply-poll multiple vulnerabilities 2013-03-18 16:33:10 +01:00
Christian Mehlmauer
17eb43df64 fix issue 147 2013-03-18 09:58:30 +01:00
Christian Mehlmauer
08f9d0e67a Added checks for old ruby. Otherwise there will be syntax errors 2013-03-17 22:05:34 +01:00
erwanlr
5e36be4f63 Added bp-gallery XSS 2013-03-16 14:06:46 +01:00
erwanlr
a795b3b124 Added o2s-gallery XSS 2013-03-16 14:05:00 +01:00
erwanlr
696a1262a8 Added wp-e-commerce XSS 2013-03-16 14:02:59 +01:00
erwanlr
692c8e27fa Add leaguemanager 3.8 SQLi 2013-03-15 09:58:18 +01:00
erwanlr
b6188cb0ba New line char has to be double quoted 2013-03-12 15:37:51 +01:00
erwanlr
28300814f5 More error details for XSD checks 2013-03-12 15:34:25 +01:00
erwanlr
a298e431cc Add line & column of the malformation in XML checks 2013-03-12 15:12:32 +01:00
erwanlr
0a50bcadc2 Add terillion-reviews XSS 2013-03-12 15:00:04 +01:00
erwanlr
de3d62ba92 Creation of a function xml instead of a hack for Nokogiri::XML 2013-03-11 17:59:26 +01:00
erwanlr
64c3c29597 StatsPlugin code factoring 2013-03-11 17:52:19 +01:00
erwanlr
ae61b95707 Most popular plugins updated 2013-03-11 17:44:50 +01:00
erwanlr
669bb3892e ListGeneratorPlugin code factoring 2013-03-11 17:44:20 +01:00
erwanlr
c0312bbbe5 WpUser code factoring 2013-03-11 17:28:32 +01:00
erwanlr
2f14be09b5 All hacks moved to hacks.rb 2013-03-11 17:21:09 +01:00
erwanlr
9b5ee28f04 Missing file 2013-03-11 17:18:48 +01:00
erwanlr
2043adb76e Nokogiri::XML hack to set the default option to NOBLANKS 2013-03-11 17:18:05 +01:00
erwanlr
eaffb139ef Bug Fix : Wp 3.5 & 3.5.1 not detected from advanced fingerprinting. Trying to reduce the complexity of WpVersion::find_from_advanced_fingerprinting 2013-03-11 16:53:05 +01:00
erwanlr
763bd5a10c scan_url_for_pattern renamed to scan_url 2013-03-11 16:17:25 +01:00
erwanlr
5f7ca09e55 WpVersion code factoring 2013-03-11 15:59:38 +01:00
erwanlr
eadebd387a Fixes #145 : vkontakte-api XSS added 2013-03-11 10:59:59 +01:00
ethicalhack3r
9434db242b Fixed syntax error. 2013-03-10 23:54:07 +01:00
ethicalhack3r
97ec9a6aa7 Refactored #default_wp_content_dir_exists? spec. 2013-03-10 23:52:36 +01:00
ethicalhack3r
7a9a72d285 Added CVE number to CVE-2013-1808 plugin vulns. 2013-03-10 12:30:45 +01:00
ethicalhack3r
ae6485bfd1 Added snazzy-archives plugin vuln, see Issue #143. 2013-03-10 12:25:44 +01:00
ethicalhack3r
19d7c3122d Added more CVE-2013-1808 vulns, see Issue #142. Thanks Henri! 2013-03-10 12:22:48 +01:00
ethicalhack3r
ed2eb44b38 Added default wp-content dir detection, see Issue #141. 2013-03-10 12:08:49 +01:00
Christian Mehlmauer
7c110bf6d3 added checks for well formed xml 2013-03-05 21:52:41 +01:00
ethicalhack3r
a4656c1837 Fixed stupid mistake where I broke the XML. >.< 2013-03-05 20:42:50 +01:00
ethicalhack3r
fd4359433c Added themes vulnerable to ZeroClipboard XSS. 2013-03-05 20:39:48 +01:00
ethicalhack3r
8d5ae7f94f Added plugins affected by ZeroClipboard XSS. 2013-03-05 20:23:00 +01:00
erwanlr
08e66a86ce Fixes code coverage for common libs 2013-03-05 14:21:13 +01:00
erwanlr
9525b33988 Require homogenization 2013-03-05 14:13:15 +01:00
erwanlr
b8ccfa23d9 Fixes #140 xml_rpc_url in the body 2013-03-05 13:49:47 +01:00
erwanlr
5f584f92a7 Browser code factoring 2013-03-05 12:50:26 +01:00
erwanlr
1adadcb4bb Complexity of Browser#proxy_auth= reduced 2013-03-05 10:34:11 +01:00
erwanlr
2607e91833 Changed version specifiers for Typhoeus & Webmock (>= instead of ~>) 2013-03-04 16:53:38 +01:00
erwanlr
8bc8d7e7cd Fixes WebSite#xml_rpc_url bug (Thanks Patrick for the report) 2013-03-04 16:34:49 +01:00
2203 changed files with 988100 additions and 112233 deletions

15
.dockerignore Normal file
View File

@@ -0,0 +1,15 @@
git/
bundle/
.idea/
.yardoc/
cache/
coverage/
spec/
.*
**/*.md
*.md
Dockerfile
**/*.orig
*.orig
bin/wpscan-docker*
.wpscan/

5
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,5 @@
# Contributing to WPScan
## Licensing
By submitting code contributions to the WPScan development team via Github Pull Requests, or any other method, it is understood that the contributor is offering the WPScan company (company number 83421476900012), which is registered in France, the unlimited, non-exclusive right to reuse, modify, and relicense the code.

27
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,27 @@
### Subject of the issue
Describe your issue here.
### Your environment
* Version of WPScan:
* Version of Ruby:
* Operating System (OS):
### Steps to reproduce
Tell us how to reproduce this issue.
### Expected behavior
Tell us what should happen.
### Actual behavior
Tell us what happens instead.
### What have you already tried
Tell us what you have already tried to do to fix the issue you are having.
Things you have tried (where relevant):
* Update WPScan to the latest version [ ]
* Update Ruby to the latest version [ ]
* Ensure you can reach the target site using cURL [ ]
* Proxied WPScan through a HTTP proxy to view the raw traffic [ ]
* Ensure you are using a supported Operating System (Linux and macOS) [ ]

3
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,3 @@
## Licensing
By submitting code contributions to the WPScan development team via Github Pull Requests, or any other method, it is understood that the contributor is offering the WPScan company (company number 83421476900012), which is registered in France, the unlimited, non-exclusive right to reuse, modify, and relicense the code.

19
.gitignore vendored
View File

@@ -1,9 +1,14 @@
cache/*
*.gem
*.rbc
.bundle
.config
coverage
.DS_Store
.DS_Store?
*.sublime-*
.idea
.*.swp
pkg
rdoc
Gemfile.lock
log.txt
# YARD artifacts
.yardoc
_yardoc
doc/
.wpscan/

28
.rubocop.yml Normal file
View File

@@ -0,0 +1,28 @@
AllCops:
TargetRubyVersion: 2.3
Exclude:
- '*.gemspec'
- 'vendor/**/*'
ClassVars:
Enabled: false
LineLength:
Max: 120
MethodLength:
Max: 20
Lint/UriEscapeUnescape:
Enabled: false
Metrics/AbcSize:
Max: 25
Metrics/BlockLength:
Exclude:
- 'spec/**/*'
Metrics/ClassLength:
Max: 150
Metrics/CyclomaticComplexity:
Max: 8
Style/Documentation:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
Style/FormatStringToken:
Enabled: false

1
.ruby-gemset Normal file
View File

@@ -0,0 +1 @@
wpscanv3

1
.ruby-version Normal file
View File

@@ -0,0 +1 @@
2.5.0

View File

@@ -1,6 +0,0 @@
SimpleCov.start do
add_filter "/spec/"
add_filter "_helper.rb"
add_filter "environment.rb"
add_filter "_plugin.rb"
end

View File

@@ -1,6 +1,31 @@
language: ruby
sudo: false
cache: bundler
rvm:
- "1.9.2"
- "1.9.3"
- "2.0.0"
script: bundle exec rspec --format documentation
- 2.3.0
- 2.3.1
- 2.3.2
- 2.3.3
- 2.3.4
- 2.3.5
- 2.3.6
- 2.3.7
- 2.4.1
- 2.4.2
- 2.4.3
- 2.4.4
- 2.5.0
- 2.5.1
- ruby-head
before_install:
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
- "gem update --system"
matrix:
allow_failures:
- rvm: ruby-head
script:
- bundle exec rubocop
- bundle exec rspec
notifications:
email:
- team@wpscan.org

19
CREDITS
View File

@@ -1,19 +0,0 @@
**CREDITS**
This file is to give credit to WPScan's contributors. If you feel your name should be in here, email ryandewhurst at gmail.
*WPScan Team*
Erwan.LR - @erwan_lr - (Project Developer)
Christian Mehlmauer - @_FireFart_ - (Project Developer)
Gianluca Brindisi - @gbrindisi (Project Developer)
Ryan Dewhurst - @ethicalhack3r (Project Lead)
*Other Contributors*
Alip AKA Undead - alip.aswalid at gmail.com
michee08 - Reported and gave potential solutions to bugs.
Callum Pember - Implemented proxy support - callumpember at gmail.com
g0tmi1k - Additional timthumb checks + bug reports.
Melvin Lammerts - Reported a couple of fake vulnerabilities - melvin at 12k.nl
Paolo Perego - @thesp0nge - Basic authentication

27
Dockerfile Normal file
View File

@@ -0,0 +1,27 @@
FROM ruby:2.5-alpine
MAINTAINER WPScan Team <team@wpscan.org>
ARG BUNDLER_ARGS="--jobs=8 --without test development"
RUN adduser -h /wpscan -g WPScan -D wpscan
RUN echo "gem: --no-ri --no-rdoc" > /etc/gemrc
COPY . /wpscan
RUN chown -R wpscan:wpscan /wpscan
# runtime dependencies
RUN apk add --no-cache libcurl procps sqlite-libs && \
# build dependencies
apk add --no-cache --virtual build-deps git libcurl ruby-dev libffi-dev make gcc musl-dev zlib-dev procps sqlite-dev && \
bundle install --system --gemfile=/wpscan/Gemfile $BUNDLER_ARGS && \
apk del --no-cache build-deps
WORKDIR /wpscan
RUN rake install --trace
USER wpscan
RUN /usr/local/bundle/bin/wpscan --update --verbose
ENTRYPOINT ["/usr/local/bundle/bin/wpscan"]
CMD ["--help"]

13
Gemfile
View File

@@ -1,11 +1,2 @@
source "https://rubygems.org"
gem "typhoeus", "~>0.6.2"
gem "nokogiri"
gem "json"
group :development, :test do
gem "webmock", "~>1.9.3"
gem "simplecov"
gem "rspec", :require => "spec"
end
source 'https://rubygems.org'
gemspec

74
LICENSE Normal file
View File

@@ -0,0 +1,74 @@
WPScan Public Source License
The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2018 WPScan Team.
Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
1. Definitions
1.1 “License” means this document.
1.2 “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
1.3 “WPScan Team” means WPScans core developers, an updated list of whom can be found within the CREDITS file.
2. Commercialization
A commercial use is one intended for commercial advantage or monetary compensation.
Example cases of commercialization are:
- Using WPScan to provide commercial managed/Software-as-a-Service services.
- Distributing WPScan as a commercial product or as part of one.
- Using WPScan as a value added service/product.
Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
- Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
- Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
- Using WPScan to test your own systems.
- Any non-commercial use of WPScan.
If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
Free-use Terms and Conditions;
3. Redistribution
Redistribution is permitted under the following conditions:
- Unmodified License is provided with WPScan.
- Unmodified Copyright notices are provided with WPScan.
- Does not conflict with the commercialization clause.
4. Copying
Copying is permitted so long as it does not conflict with the Redistribution clause.
5. Modification
Modification is permitted so long as it does not conflict with the Redistribution clause.
6. Contributions
Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
7. Support
WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
8. Disclaimer of Warranty
WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
9. Limitation of Liability
To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
10. Disclaimer
Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
11. Trademark
The "wpscan" term is a registered trademark. This License does not grant the use of the "wpscan" trademark or the use of the WPScan logo.

210
README
View File

@@ -1,210 +0,0 @@
__________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
__________________________________________________
==LICENSE==
WPScan - WordPress Security Scanner
Copyright (C) 2011-2013 The WPScan Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
ryandewhurst at gmail
==INSTALL==
WPScan comes pre-installed on the following Linux distributions:
* BackBox Linux
* BackTrack Linux (outdated WPScan installed, update needed)
* Pentoo
* SamuraiWTF
Prerequisites:
* Windows not supported
* Ruby => 1.9
* RubyGems
* Git
-> Installing on Debian/Ubuntu:
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
-> Installing on Fedora:
sudo yum install libcurl-devel
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
-> Installing on Archlinux:
pacman -Sy ruby
pacman -Sy libyaml
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
gem install typhoeus
gem install nokogiri
-> Installing on Mac OS X:
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test development
==KNOWN ISSUES==
- Typhoeus segmentation fault:
Update cURL to version => 7.21 (may have to install from source)
See http://code.google.com/p/wpscan/issues/detail?id=81
- Proxy not working:
Update cURL to version => 7.21.7 (may have to install from source).
Installation from sources :
- Grab the sources from http://curl.haxx.se/download.html
- Decompress the archive
- Open the folder with the extracted files
- Run ./configure
- Run make
- Run sudo make install
- Run sudo ldconfig
- cannot load such file -- readline:
Run sudo aptitude install libreadline5-dev libncurses5-dev
Then, open the directory of the readline gem (you have to locate it)
cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
ruby extconf.rb
make
make install
See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
==WPSCAN ARGUMENTS==
--update Update to the latest revision
--url | -u <target url> The WordPress URL/domain to scan.
--force | -f Forces WPScan to not check if the remote site is running WordPress.
--enumerate | -e [option(s)] Enumeration.
option :
u usernames from id 1 to 10
u[10-20] usernames from id 10 to 20 (you must write [] chars)
p plugins
vp only vulnerable plugins
ap all plugins (can take a long time)
tt timthumbs
t themes
vp only vulnerable themes
at all themes (can take a long time)
Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
If no option is supplied, the default is 'vt,tt,u,vp'
--exclude-content-based '<regexp or string>' Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)
--config-file | -c <config file> Use the specified config file
--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not
--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed
--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).
HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).
--basic-auth <username:password> Set the HTTP Basic authentication
--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.
--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
--username | -U <username> Only brute force the supplied username.
--help | -h This help screen.
--verbose | -v Verbose output.
==WPSCAN EXAMPLES==
Do 'non-intrusive' checks...
ruby wpscan.rb --url www.example.com
Do wordlist password brute force on enumerated users using 50 threads...
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50
Do wordlist password brute force on the 'admin' username only...
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin
Enumerate installed plugins...
ruby wpscan.rb --url www.example.com --enumerate p
==WPSTOOLS ARGUMENTS==
--help | -h This help screen.
--Verbose | -v Verbose output.
--update | -u Update to the latest revision.
--generate_plugin_list [number of pages] Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
--gpl Alias for --generate_plugin_list
--check-local-vulnerable-files | --clvf <local directory> Perform a recursive scan in the <local directory> to find vulnerable files or shells
==WPSTOOLS EXAMPLES==
- Generate a new 'most popular' plugin list, up to 150 pages ...
ruby wpstools.rb --generate_plugin_list 150
- Locally scan a wordpress installation for vulnerable files or shells :
ruby wpstools.rb --check-local-vulnerable-files /var/www/wordpress/
===PROJECT HOME===
www.wpscan.org
===REPOSITORY===
https://github.com/wpscanteam/wpscan
===ISSUES===
https://github.com/wpscanteam/wpscan/issues
===SPONSOR===
WPScan is sponsored by the RandomStorm Open Source Initiative.
Visit RandomStorm at http://www.randomstorm.com

261
README.md
View File

@@ -1,232 +1,157 @@
![alt text](http://dvwa.co.uk/images/wpscan_logo_407x80.png "WPScan - WordPress Security Scanner")
![alt text](https://raw.githubusercontent.com/wpscanteam/wpscan/gh-pages/wpscan_logo_407x80.png "WPScan - WordPress Security Scanner")
#### LICENSE
[![Gem Version](https://badge.fury.io/rb/wpscan.svg)](https://badge.fury.io/rb/wpscan)
[![Build Status](https://travis-ci.org/wpscanteam/wpscan.svg?branch=master)](https://travis-ci.org/wpscanteam/wpscan-v3)
[![Code Climate](https://codeclimate.com/github/wpscanteam/wpscan/badges/gpa.svg)](https://codeclimate.com/github/wpscanteam/wpscan)
[![Patreon Donate](https://img.shields.io/badge/patreon-donate-green.svg)](https://www.patreon.com/wpscan)
WPScan - WordPress Security Scanner
Copyright (C), 2011-2013 The WPScan Team
# INSTALL
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
## Prerequisites:
This program 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 General Public License for more details.
- Ruby >= 2.2.2 - Recommended: 2.3.3
- Curl >= 7.21 - Recommended: latest - FYI the 7.29 has a segfault
- RubyGems - Recommended: latest
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
### From RubyGems:
ryandewhurst at gmail
```
gem install wpscan
```
#### INSTALL
### From sources:
WPScan comes pre-installed on the following Linux distributions:
Prerequisites: Git
- [BackBox Linux](http://www.backbox.org/)
- [BackTrack Linux](http://www.backtrack-linux.org/) (outdated WPScan installed, update needed)
- [Pentoo](http://www.pentoo.ch/)
- [SamuraiWTF](http://samurai.inguardians.com/)
```
git clone https://github.com/wpscanteam/wpscan
Prerequisites:
cd wpscan/
- Windows not supported
- Ruby => 1.9
- RubyGems
- Git
bundle install && rake install
```
*Installing on Debian/Ubuntu:*
# Docker
```sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev```
Pull the repo with ```docker pull wpscanteam/wpscan```
```git clone https://github.com/wpscanteam/wpscan.git```
# Usage
```cd wpscan```
```wpscan --url blog.tld``` This will scan the blog using default options with a good compromise between speed and accuracy. For example, the plugins will be checked passively but their version with a mixed detection mode (passively + aggressively). Potential config backup files will also be checked, along with other interesting findings. If a more stealthy approach is required, then ```wpscan --stealthy --url blog.tld``` can be used.
As a result, when using the ```--enumerate``` option, don't forget to set the ```--plugins-detection``` accordingly, as its default is 'passive'.
```sudo gem install bundler && bundle install --without test development```
For more options, open a terminal and type ```wpscan --help``` (if you built wpscan from the source, you should type the command outside of the git repo)
*Installing on Fedora:*
The DB is located at ~/.wpscan/db
```sudo yum install libcurl-devel```
WPScan can load all options (including the --url) from configuration files, the following locations are checked (order: first to last):
```git clone https://github.com/wpscanteam/wpscan.git```
* ~/.wpscan/cli_options.json
* ~/.wpscan/cli_options.yml
* pwd/.wpscan/cli_options.json
* pwd/.wpscan/cli_options.yml
```cd wpscan```
If those files exist, options from them will be loaded and overridden if found twice.
```sudo gem install bundler && bundle install --without test development```
e.g:
*Installing on Archlinux:*
~/.wpscan/cli_options.yml:
```
proxy: 'http://127.0.0.1:8080'
verbose: true
```
```pacman -Sy ruby```
pwd/.wpscan/cli_options.yml:
```
proxy: 'socks5://127.0.0.1:9090'
url: 'http://target.tld'
```
```pacman -Sy libyaml```
Running ```wpscan``` in the current directory (pwd), is the same as ```wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld```
```git clone https://github.com/wpscanteam/wpscan.git```
# PROJECT HOME
```cd wpscan```
[https://wpscan.org](https://wpscan.org)
```sudo gem install bundler && bundle install --without test development```
# VULNERABILITY DATABASE
```gem install typhoeus```
[https://wpvulndb.com](https://wpvulndb.com)
```gem install nokogiri```
# LICENSE
*Installing on Mac OSX:*
## WPScan Public Source License
```git clone https://github.com/wpscanteam/wpscan.git```
The WPScan software (henceforth referred to simply as "WPScan") is dual-licensed - Copyright 2011-2018 WPScan Team.
```cd wpscan```
Cases that include commercialization of WPScan require a commercial, non-free license. Otherwise, WPScan can be used without charge under the terms set out below.
```sudo gem install bundler && bundle install --without test development```
### 1. Definitions
#### KNOWN ISSUES
1.1 "License" means this document.
- Typhoeus segmentation fault
1.2 "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns WPScan.
Update cURL to version => 7.21 (may have to install from source)
See http://code.google.com/p/wpscan/issues/detail?id=81
1.3 "WPScan Team" means WPScans core developers, an updated list of whom can be found within the CREDITS file.
- Proxy not working
### 2. Commercialization
Update cURL to version => 7.21.7 (may have to install from source).
A commercial use is one intended for commercial advantage or monetary compensation.
Installation from sources :
```
Grab the sources from http://curl.haxx.se/download.html
Decompress the archive
Open the folder with the extracted files
Run ./configure
Run make
Run sudo make install
Run sudo ldconfig
```
Example cases of commercialization are:
- cannot load such file -- readline:
- Using WPScan to provide commercial managed/Software-as-a-Service services.
- Distributing WPScan as a commercial product or as part of one.
- Using WPScan as a value added service/product.
```sudo aptitude install libreadline5-dev libncurses5-dev```
Example cases which do not require a commercial license, and thus fall under the terms set out below, include (but are not limited to):
Then, open the directory of the readline gem (you have to locate it)
```
cd ~/.rvm/src/ruby-1.9.2-p180/ext/readline
ruby extconf.rb
make
make install
```
- Penetration testers (or penetration testing organizations) using WPScan as part of their assessment toolkit.
- Penetration Testing Linux Distributions including but not limited to Kali Linux, SamuraiWTF, BackBox Linux.
- Using WPScan to test your own systems.
- Any non-commercial use of WPScan.
See http://vvv.tobiassjosten.net/ruby-on-rails/fixing-readline-for-the-ruby-on-rails-console/ for more details
If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
#### WPSCAN ARGUMENTS
We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
--update Update to the latest revision
Free-use Terms and Conditions;
--url | -u <target url> The WordPress URL/domain to scan.
### 3. Redistribution
--force | -f Forces WPScan to not check if the remote site is running WordPress.
Redistribution is permitted under the following conditions:
--enumerate | -e [option(s)] Enumeration.
option :
u usernames from id 1 to 10
u[10-20] usernames from id 10 to 20 (you must write [] chars)
p plugins
vp only vulnerable plugins
ap all plugins (can take a long time)
tt timthumbs
t themes
vt only vulnerable themes
at all themes (can take a long time)
Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
If no option is supplied, the default is 'vt,tt,u,vp'
- Unmodified License is provided with WPScan.
- Unmodified Copyright notices are provided with WPScan.
- Does not conflict with the commercialization clause.
--exclude-content-based '<regexp or string>' Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)
### 4. Copying
--config-file | -c <config file> Use the specified config file
Copying is permitted so long as it does not conflict with the Redistribution clause.
--follow-redirection If the target url has a redirection, it will be followed without asking if you wanted to do so or not
### 5. Modification
--wp-content-dir <wp content dir> WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed
Modification is permitted so long as it does not conflict with the Redistribution clause.
--wp-plugins-dir <wp plugins dir> Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed
### 6. Contributions
--proxy <[protocol://]host:port> Supply a proxy (will override the one from conf/browser.conf.json).
HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used
Any Contributions assume the Contributor grants the WPScan Team the unlimited, non-exclusive right to reuse, modify and relicense the Contributor's content.
--proxy-auth <username:password> Supply the proxy login credentials (will override the one from conf/browser.conf.json).
### 7. Support
--basic-auth <username:password> Set the HTTP Basic authentication
WPScan is provided under an AS-IS basis and without any support, updates or maintenance. Support, updates and maintenance may be given according to the sole discretion of the WPScan Team.
--wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.
### 8. Disclaimer of Warranty
--threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)
WPScan is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the WPScan is free of defects, merchantable, fit for a particular purpose or non-infringing.
--username | -U <username> Only brute force the supplied username.
### 9. Limitation of Liability
--help | -h This help screen.
To the extent permitted under Law, WPScan is provided under an AS-IS basis. The WPScan Team shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred as a result of WPScan's actions, failure, bugs and/or any other interaction between WPScan and end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.
--verbose | -v Verbose output.
### 10. Disclaimer
#### WPSCAN EXAMPLES
Running WPScan against websites without prior mutual consent may be illegal in your country. The WPScan Team accept no liability and are not responsible for any misuse or damage caused by WPScan.
Do 'non-intrusive' checks...
### 11. Trademark
```ruby wpscan.rb --url www.example.com```
Do wordlist password brute force on enumerated users using 50 threads...
```ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50```
Do wordlist password brute force on the 'admin' username only...
```ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin```
Enumerate installed plugins...
```ruby wpscan.rb --url www.example.com --enumerate p```
Run all enumeration tools...
```ruby wpscan.rb --url www.example.com --enumerate```
Use custom content directory...
```ruby wpscan.rb -u www.example.com --wp-content-dir custom-content```
Update WPScan...
```ruby wpscan.rb --update```
#### WPSTOOLS ARGUMENTS
--help | -h This help screen.
--Verbose | -v Verbose output.
--update | -u Update to the latest revision.
--generate_plugin_list [number of pages] Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
--gpl Alias for --generate_plugin_list
--check-local-vulnerable-files | --clvf <local directory> Perform a recursive scan in the <local directory> to find vulnerable files or shells
#### WPSTOOLS EXAMPLES
Generate a new 'most popular' plugin list, up to 150 pages...
```ruby wpstools.rb --generate_plugin_list 150```
Locally scan a wordpress installation for vulnerable files or shells :
```ruby wpstools.rb --check-local-vulnerable-files /var/www/wordpress/```
#### PROJECT HOME
www.wpscan.org
#### GIT REPOSITORY
https://github.com/wpscanteam/wpscan
#### ISSUES
https://github.com/wpscanteam/wpscan/issues
#### SPONSOR
WPScan is sponsored by the [RandomStorm](http://www.randomstorm.com) Open Source Initiative.
The "wpscan" term is a registered trademark. This License does not grant the use of the "wpscan" trademark or the use of the WPScan logo.

24
Rakefile Normal file
View File

@@ -0,0 +1,24 @@
# rubocop:disable all
require 'bundler/gem_tasks'
exec = []
begin
require 'rubocop/rake_task'
RuboCop::RakeTask.new
exec << :rubocop
rescue LoadError
end
begin
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
exec << :spec
rescue LoadError
end
# Run rubocop & rspec before the build (only if installed)
task build: exec
# rubocop:enable all

3
app/app.rb Normal file
View File

@@ -0,0 +1,3 @@
require_relative 'models'
require_relative 'finders'
require_relative 'controllers'

7
app/controllers.rb Normal file
View File

@@ -0,0 +1,7 @@
require_relative 'controllers/core'
require_relative 'controllers/custom_directories'
require_relative 'controllers/wp_version'
require_relative 'controllers/main_theme'
require_relative 'controllers/enumeration'
require_relative 'controllers/password_attack'
require_relative 'controllers/aliases'

View File

@@ -0,0 +1,13 @@
module WPScan
module Controller
# Controller to add the aliases in the CLI
class Aliases < CMSScanner::Controller::Base
def cli_options
[
OptAlias.new(['--stealthy'],
alias_for: '--random-user-agent --detection-mode passive --plugins-version-detection passive')
]
end
end
end
end

104
app/controllers/core.rb Normal file
View File

@@ -0,0 +1,104 @@
module WPScan
module Controller
# Specific Core controller to include WordPress checks
class Core < CMSScanner::Controller::Core
# @return [ Array<OptParseValidator::Opt> ]
def cli_options
[OptURL.new(['--url URL', 'The URL of the blog to scan'],
required_unless: %i[update help version], default_protocol: 'http')] +
super.drop(1) + # delete the --url from CMSScanner
[
OptChoice.new(['--server SERVER', 'Force the supplied server module to be loaded'],
choices: %w[apache iis nginx],
normalize: %i[downcase to_sym]),
OptBoolean.new(['--force', 'Do not check if the target is running WordPress']),
OptBoolean.new(['--[no-]update', 'Wether or not to update the Database'],
required_unless: %i[url help version])
]
end
# @return [ DB::Updater ]
def local_db
@local_db ||= DB::Updater.new(DB_DIR)
end
# @return [ Boolean ]
def update_db_required?
if local_db.missing_files?
raise MissingDatabaseFile if parsed_options[:update] == false
return true
end
return parsed_options[:update] unless parsed_options[:update].nil?
return false unless user_interaction? && local_db.outdated?
output('@notice', msg: 'It seems like you have not updated the database for some time.')
print '[?] Do you want to update now? [Y]es [N]o, default: [N]'
Readline.readline =~ /^y/i ? true : false
end
def update_db
output('db_update_started')
output('db_update_finished', updated: local_db.update, verbose: parsed_options[:verbose])
exit(0) unless parsed_options[:url]
end
def before_scan
@last_update = local_db.last_update
maybe_output_banner_help_and_version # From CMS Scanner
update_db if update_db_required?
setup_cache
check_target_availability
load_server_module
check_wordpress_state
end
# Raises errors if the target is hosted on wordpress.com or is not running WordPress
# Also check if the homepage_url is still the install url
def check_wordpress_state
raise WordPressHostedError if target.wordpress_hosted?
if Addressable::URI.parse(target.homepage_url).path =~ %r{/wp-admin/install.php$}i
output('not_fully_configured', url: target.homepage_url)
exit(WPScan::ExitCode::VULNERABLE)
end
raise NotWordPressError unless target.wordpress? || parsed_options[:force]
end
# Loads the related server module in the target
# and includes it in the WpItem class which will be needed
# to check if directory listing is enabled etc
#
# @return [ Symbol ] The server module loaded
def load_server_module
server = target.server || :Apache # Tries to auto detect the server
# Force a specific server module to be loaded if supplied
case parsed_options[:server]
when :apache
server = :Apache
when :iis
server = :IIS
when :nginx
server = :Nginx
end
mod = CMSScanner::Target::Server.const_get(server)
target.extend mod
WPScan::WpItem.include mod
server
end
end
end
end

View File

@@ -0,0 +1,23 @@
module WPScan
module Controller
# Controller to ensure that the wp-content and wp-plugins
# directories are found
class CustomDirectories < CMSScanner::Controller::Base
def cli_options
[
OptString.new(['--wp-content-dir DIR']),
OptString.new(['--wp-plugins-dir DIR'])
]
end
def before_scan
target.content_dir = parsed_options[:wp_content_dir] if parsed_options[:wp_content_dir]
target.plugins_dir = parsed_options[:wp_plugins_dir] if parsed_options[:wp_plugins_dir]
return if target.content_dir
raise 'Unable to identify the wp-content dir, please supply it with --wp-content-dir'
end
end
end
end

View File

@@ -0,0 +1,27 @@
require_relative 'enumeration/cli_options'
require_relative 'enumeration/enum_methods'
module WPScan
module Controller
# Enumeration Controller
class Enumeration < CMSScanner::Controller::Base
def before_scan
DB::DynamicFinders::Plugin.create_versions_finders
DB::DynamicFinders::Theme.create_versions_finders
end
def run
enum = parsed_options[:enumerate] || {}
enum_plugins if enum_plugins?(enum)
enum_themes if enum_themes?(enum)
%i[timthumbs config_backups db_exports medias].each do |key|
send("enum_#{key}".to_sym) if enum.key?(key)
end
enum_users if enum_users?(enum)
end
end
end
end

View File

@@ -0,0 +1,163 @@
module WPScan
module Controller
# Enumeration CLI Options
class Enumeration < CMSScanner::Controller::Base
def cli_options
cli_enum_choices + cli_plugins_opts + cli_themes_opts +
cli_timthumbs_opts + cli_config_backups_opts + cli_db_exports_opts +
cli_medias_opts + cli_users_opts
end
# @return [ Array<OptParseValidator::OptBase> ]
# rubocop:disable Metrics/MethodLength
def cli_enum_choices
[
OptMultiChoices.new(
['--enumerate [OPTS]', '-e', 'Enumeration Process'],
choices: {
vp: OptBoolean.new(['--vulnerable-plugins']),
ap: OptBoolean.new(['--all-plugins']),
p: OptBoolean.new(['--plugins']),
vt: OptBoolean.new(['--vulnerable-themes']),
at: OptBoolean.new(['--all-themes']),
t: OptBoolean.new(['--themes']),
tt: OptBoolean.new(['--timthumbs']),
cb: OptBoolean.new(['--config-backups']),
dbe: OptBoolean.new(['--db-exports']),
u: OptIntegerRange.new(['--users', 'User IDs range. e.g: u1-5'], value_if_empty: '1-10'),
m: OptIntegerRange.new(['--medias', 'Media IDs range. e.g m1-15'], value_if_empty: '1-100')
},
value_if_empty: 'vp,vt,tt,cb,dbe,u,m',
incompatible: [%i[vp ap p], %i[vt at t]],
default: { all_plugins: true, config_backups: true }
),
OptRegexp.new(
[
'--exclude-content-based REGEXP_OR_STRING',
'Exclude all responses matching the Regexp (case insensitive) during parts of the enumeration.',
'Both the headers and body are checked. Regexp delimiters are not required.'
], options: Regexp::IGNORECASE
)
]
end
# rubocop:enable Metrics/MethodLength
# @return [ Array<OptParseValidator::OptBase> ]
def cli_plugins_opts
[
OptSmartList.new(['--plugins-list LIST', 'List of plugins to enumerate']),
OptChoice.new(
['--plugins-detection MODE',
'Use the supplied mode to enumerate Plugins, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym, default: :passive
),
OptBoolean.new(
['--plugins-version-all',
'Check all the plugins version locations according to the choosen mode (--detection-mode, ' \
'--plugins-detection and --plugins-version-detection)']
),
OptChoice.new(
['--plugins-version-detection MODE',
'Use the supplied mode to check plugins versions instead of the --detection-mode ' \
'or --plugins-detection modes.'],
choices: %w[mixed passive aggressive], normalize: :to_sym, default: :mixed
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_themes_opts
[
OptSmartList.new(['--themes-list LIST', 'List of themes to enumerate']),
OptChoice.new(
['--themes-detection MODE',
'Use the supplied mode to enumerate Themes, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
),
OptBoolean.new(
['--themes-version-all',
'Check all the themes version locations according to the choosen mode (--detection-mode, ' \
'--themes-detection and --themes-version-detection)']
),
OptChoice.new(
['--themes-version-detection MODE',
'Use the supplied mode to check themes versions instead of the --detection-mode ' \
'or --themes-detection modes.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_timthumbs_opts
[
OptFilePath.new(
['--timthumbs-list FILE-PATH', 'List of timthumbs\' location to use'],
exists: true, default: File.join(DB_DIR, 'timthumbs-v3.txt')
),
OptChoice.new(
['--timthumbs-detection MODE',
'Use the supplied mode to enumerate Timthumbs, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_config_backups_opts
[
OptFilePath.new(
['--config-backups-list FILE-PATH', 'List of config backups\' filenames to use'],
exists: true, default: File.join(DB_DIR, 'config_backups.txt')
),
OptChoice.new(
['--config-backups-detection MODE',
'Use the supplied mode to enumerate Config Backups, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_db_exports_opts
[
OptFilePath.new(
['--db-exports-list FILE-PATH', 'List of DB exports\' paths to use'],
exists: true, default: File.join(DB_DIR, 'db_exports.txt')
),
OptChoice.new(
['--db-exports-detection MODE',
'Use the supplied mode to enumerate DB Exports, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_medias_opts
[
OptChoice.new(
['--medias-detection MODE',
'Use the supplied mode to enumerate Medias, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
# @return [ Array<OptParseValidator::OptBase> ]
def cli_users_opts
[
OptSmartList.new(
['--users-list LIST',
'List of users to check during the users enumeration from the Login Error Messages']
),
OptChoice.new(
['--users-detection MODE',
'Use the supplied mode to enumerate Users, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive], normalize: :to_sym
)
]
end
end
end
end

View File

@@ -0,0 +1,178 @@
module WPScan
module Controller
# Enumeration Methods
class Enumeration < CMSScanner::Controller::Base
# @param [ String ] type (plugins or themes)
#
# @return [ String ] The related enumration message depending on the parsed_options and type supplied
def enum_message(type)
return unless %w[plugins themes].include?(type)
details = if parsed_options[:enumerate][:"vulnerable_#{type}"]
'Vulnerable'
elsif parsed_options[:enumerate][:"all_#{type}"]
'All'
else
'Most Popular'
end
"Enumerating #{details} #{type.capitalize}"
end
# @param [ String ] type (plugins, themes etc)
#
# @return [ Hash ]
def default_opts(type)
mode = parsed_options[:"#{type}_detection"] || parsed_options[:detection_mode]
{
mode: mode,
exclude_content: parsed_options[:exclude_content_based],
show_progression: user_interaction?,
version_detection: {
mode: parsed_options[:"#{type}_version_detection"] || mode,
confidence_threshold: parsed_options[:"#{type}_version_all"] ? 0 : 100
}
}
end
# @param [ Hash ] opts
#
# @return [ Boolean ] Wether or not to enumerate the plugins
def enum_plugins?(opts)
opts[:plugins] || opts[:all_plugins] || opts[:vulnerable_plugins]
end
def enum_plugins
opts = default_opts('plugins').merge(
list: plugins_list_from_opts(parsed_options),
sort: true
)
output('@info', msg: enum_message('plugins')) if user_interaction?
# Enumerate the plugins & find their versions to avoid doing that when #version
# is called in the view
plugins = target.plugins(opts)
output('@info', msg: 'Checking Plugin Versions') if user_interaction? && !plugins.empty?
plugins.each(&:version)
plugins.select!(&:vulnerable?) if parsed_options[:enumerate][:vulnerable_plugins]
output('plugins', plugins: plugins)
end
# @param [ Hash ] opts
#
# @return [ Array<String> ] The plugins list associated to the cli options
def plugins_list_from_opts(opts)
# List file provided by the user via the cli
return opts[:plugins_list] if opts[:plugins_list]
if opts[:enumerate][:all_plugins]
DB::Plugins.all_slugs
elsif opts[:enumerate][:plugins]
DB::Plugins.popular_slugs
else
DB::Plugins.vulnerable_slugs
end
end
# @param [ Hash ] opts
#
# @return [ Boolean ] Wether or not to enumerate the themes
def enum_themes?(opts)
opts[:themes] || opts[:all_themes] || opts[:vulnerable_themes]
end
def enum_themes
opts = default_opts('themes').merge(
list: themes_list_from_opts(parsed_options),
sort: true
)
output('@info', msg: enum_message('themes')) if user_interaction?
# Enumerate the themes & find their versions to avoid doing that when #version
# is called in the view
themes = target.themes(opts)
output('@info', msg: 'Checking Theme Versions') if user_interaction? && !themes.empty?
themes.each(&:version)
themes.select!(&:vulnerable?) if parsed_options[:enumerate][:vulnerable_themes]
output('themes', themes: themes)
end
# @param [ Hash ] opts
#
# @return [ Array<String> ] The themes list associated to the cli options
def themes_list_from_opts(opts)
# List file provided by the user via the cli
return opts[:themes_list] if opts[:themes_list]
if opts[:enumerate][:all_themes]
DB::Themes.all_slugs
elsif opts[:enumerate][:themes]
DB::Themes.popular_slugs
else
DB::Themes.vulnerable_slugs
end
end
def enum_timthumbs
opts = default_opts('timthumbs').merge(list: parsed_options[:timthumbs_list])
output('@info', msg: 'Enumerating Timthumbs') if user_interaction?
output('timthumbs', timthumbs: target.timthumbs(opts))
end
def enum_config_backups
opts = default_opts('config_backups').merge(list: parsed_options[:config_backups_list])
output('@info', msg: 'Enumerating Config Backups') if user_interaction?
output('config_backups', config_backups: target.config_backups(opts))
end
def enum_db_exports
opts = default_opts('db_exports').merge(list: parsed_options[:db_exports_list])
output('@info', msg: 'Enumerating DB Exports') if user_interaction?
output('db_exports', db_exports: target.db_exports(opts))
end
def enum_medias
opts = default_opts('medias').merge(range: parsed_options[:enumerate][:medias])
output('@info', msg: 'Enumerating Medias') if user_interaction?
output('medias', medias: target.medias(opts))
end
# @param [ Hash ] opts
#
# @return [ Boolean ] Wether or not to enumerate the users
def enum_users?(opts)
opts[:users] || (parsed_options[:passwords] && !parsed_options[:username] && !parsed_options[:usernames])
end
def enum_users
opts = default_opts('users').merge(
range: enum_users_range,
list: parsed_options[:users_list]
)
output('@info', msg: 'Enumerating Users') if user_interaction?
output('users', users: target.users(opts))
end
# @return [ Range ] The user ids range to enumerate
# If the --enumerate is used, the default value is handled by the Option
# However, when using --passwords alone, the default has to be set by the code below
def enum_users_range
parsed_options[:enumerate][:users] || cli_enum_choices[0].choices[:u].validate(nil)
end
end
end
end

View File

@@ -0,0 +1,27 @@
module WPScan
module Controller
# Main Theme Controller
class MainTheme < CMSScanner::Controller::Base
def cli_options
[
OptChoice.new(
['--main-theme-detection MODE',
'Use the supplied mode for the Main theme detection, instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive],
normalize: :to_sym
)
]
end
def run
output(
'theme',
theme: target.main_theme(
mode: parsed_options[:main_theme_detection] || parsed_options[:detection_mode]
),
verbose: parsed_options[:verbose]
)
end
end
end
end

View File

@@ -0,0 +1,108 @@
module WPScan
module Controller
# Password Attack Controller
class PasswordAttack < CMSScanner::Controller::Base
def cli_options
[
OptFilePath.new(
['--passwords FILE-PATH', '-P',
'List of passwords to use during the password attack.',
'If no --username/s option supplied, user enumeration will be run.'],
exists: true
),
OptSmartList.new(['--usernames LIST', '-U', 'List of usernames to use during the password attack.']),
OptInteger.new(['--multicall-max-passwords MAX_PWD',
'Maximum number of passwords to send by request with XMLRPC multicall'],
default: 500),
OptChoice.new(['--password-attack ATTACK',
'Force the supplied attack to be used rather than automatically determining one.'],
choices: %w[wp-login xmlrpc xmlrpc-multicall],
normalize: %i[downcase underscore to_sym])
]
end
def run
return unless parsed_options[:passwords]
if user_interaction?
output('@info',
msg: "Performing password attack on #{attacker.titleize} against #{users.size} user/s")
end
attack_opts = {
show_progression: user_interaction?,
multicall_max_passwords: parsed_options[:multicall_max_passwords]
}
begin
found = []
attacker.attack(users, passwords(parsed_options[:passwords]), attack_opts) do |user|
found << user
attacker.progress_bar.log("[SUCCESS] - #{user.username} / #{user.password}")
end
ensure
output('users', users: found)
end
end
# @return [ CMSScanner::Finders::Finder ] The finder used to perform the attack
def attacker
@attacker ||= attacker_from_cli_options || attacker_from_automatic_detection
end
# @return [ WPScan::XMLRPC ]
def xmlrpc
@xmlrpc ||= target.xmlrpc
end
# @return [ CMSScanner::Finders::Finder ]
def attacker_from_cli_options
return unless parsed_options[:password_attack]
case parsed_options[:password_attack]
when :wp_login
WPScan::Finders::Passwords::WpLogin.new(target)
when :xmlrpc
WPScan::Finders::Passwords::XMLRPC.new(xmlrpc)
when :xmlrpc_multicall
WPScan::Finders::Passwords::XMLRPCMulticall.new(xmlrpc)
end
end
# @return [ CMSScanner::Finders::Finder ]
def attacker_from_automatic_detection
if xmlrpc&.enabled? && xmlrpc.available_methods.include?('wp.getUsersBlogs')
wp_version = target.wp_version
if wp_version && wp_version < '4.4'
WPScan::Finders::Passwords::XMLRPCMulticall.new(xmlrpc)
else
WPScan::Finders::Passwords::XMLRPC.new(xmlrpc)
end
else
WPScan::Finders::Passwords::WpLogin.new(target)
end
end
# @return [ Array<Users> ] The users to brute force
def users
return target.users unless parsed_options[:usernames]
parsed_options[:usernames].reduce([]) do |acc, elem|
acc << CMSScanner::User.new(elem.chomp)
end
end
# @param [ String ] wordlist_path
#
# @return [ Array<String> ]
def passwords(wordlist_path)
@passwords ||= File.open(wordlist_path).reduce([]) do |acc, elem|
acc << elem.chomp
end
end
end
end
end

View File

@@ -0,0 +1,34 @@
module WPScan
module Controller
# Wp Version Controller
class WpVersion < CMSScanner::Controller::Base
def cli_options
[
OptBoolean.new(['--wp-version-all', 'Check all the version locations']),
OptChoice.new(
['--wp-version-detection MODE',
'Use the supplied mode for the WordPress version detection, ' \
'instead of the global (--detection-mode) mode.'],
choices: %w[mixed passive aggressive],
normalize: :to_sym
)
]
end
def before_scan
WPScan::DB::DynamicFinders::Wordpress.create_versions_finders
end
def run
output(
'version',
version: target.wp_version(
mode: parsed_options[:wp_version_detection] || parsed_options[:detection_mode],
confidence_threshold: parsed_options[:wp_version_all] ? 0 : 100,
show_progression: user_interaction?
)
)
end
end
end
end

15
app/finders.rb Normal file
View File

@@ -0,0 +1,15 @@
require_relative 'finders/interesting_findings'
require_relative 'finders/wp_items'
require_relative 'finders/wp_version'
require_relative 'finders/main_theme'
require_relative 'finders/timthumb_version'
require_relative 'finders/timthumbs'
require_relative 'finders/config_backups'
require_relative 'finders/db_exports'
require_relative 'finders/medias'
require_relative 'finders/users'
require_relative 'finders/plugins'
require_relative 'finders/plugin_version'
require_relative 'finders/theme_version'
require_relative 'finders/themes'
require_relative 'finders/passwords'

View File

@@ -0,0 +1,17 @@
require_relative 'config_backups/known_filenames'
module WPScan
module Finders
module ConfigBackups
# Config Backup Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders << ConfigBackups::KnownFilenames.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,46 @@
module WPScan
module Finders
module ConfigBackups
# Config Backup finder
class KnownFilenames < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ String ] :list
# @option opts [ Boolean ] :show_progression
#
# @return [ Array<ConfigBackup> ]
def aggressive(opts = {})
found = []
enumerate(potential_urls(opts), opts) do |res|
# Might need to improve that
next unless res.body =~ /define/i && res.body !~ /<\s?html/i
found << WPScan::ConfigBackup.new(res.request.url, found_by: DIRECT_ACCESS, confidence: 100)
end
found
end
# @param [ Hash ] opts
# @option opts [ String ] :list Mandatory
#
# @return [ Hash ]
def potential_urls(opts = {})
urls = {}
File.open(opts[:list]).each_with_index do |file, index|
urls[target.url(file.chomp)] = index
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Checking Config Backups -'))
end
end
end
end
end

17
app/finders/db_exports.rb Normal file
View File

@@ -0,0 +1,17 @@
require_relative 'db_exports/known_locations'
module WPScan
module Finders
module DbExports
# DB Exports Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders << DbExports::KnownLocations.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,49 @@
module WPScan
module Finders
module DbExports
# DB Exports finder
# See https://github.com/wpscanteam/wpscan-v3/issues/62
class KnownLocations < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ String ] :list
# @option opts [ Boolean ] :show_progression
#
# @return [ Array<DBExport> ]
def aggressive(opts = {})
found = []
enumerate(potential_urls(opts), opts) do |res|
next unless res.code == 200 && res.body =~ /INSERT INTO/
found << WPScan::DbExport.new(res.request.url, found_by: DIRECT_ACCESS, confidence: 100)
end
found
end
# @param [ Hash ] opts
# @option opts [ String ] :list Mandatory
#
# @return [ Hash ]
def potential_urls(opts = {})
urls = {}
domain_name = target.uri.host[/(^[\w|-]+)/, 1]
File.open(opts[:list]).each_with_index do |path, index|
path.gsub!('{domain_name}', domain_name)
urls[target.url(path.chomp)] = index
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Checking DB Exports -'))
end
end
end
end
end

View File

@@ -0,0 +1,34 @@
require_relative 'interesting_findings/readme'
require_relative 'interesting_findings/multisite'
require_relative 'interesting_findings/debug_log'
require_relative 'interesting_findings/backup_db'
require_relative 'interesting_findings/mu_plugins'
require_relative 'interesting_findings/registration'
require_relative 'interesting_findings/tmm_db_migrate'
require_relative 'interesting_findings/upload_sql_dump'
require_relative 'interesting_findings/full_path_disclosure'
require_relative 'interesting_findings/duplicator_installer_log'
require_relative 'interesting_findings/upload_directory_listing'
require_relative 'interesting_findings/emergency_pwd_reset_script'
module WPScan
module Finders
module InterestingFindings
# Interesting Files Finder
class Base < CMSScanner::Finders::InterestingFindings::Base
# @param [ WPScan::Target ] target
def initialize(target)
super(target)
%w[
Readme DebugLog FullPathDisclosure BackupDB DuplicatorInstallerLog
Multisite MuPlugins Registration UploadDirectoryListing TmmDbMigrate
UploadSQLDump EmergencyPwdResetScript
].each do |f|
finders << InterestingFindings.const_get(f).new(target)
end
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
module WPScan
module Finders
module InterestingFindings
# BackupDB finder
class BackupDB < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
path = 'wp-content/backup-db/'
url = target.url(path)
res = Browser.get(url)
return unless [200, 403].include?(res.code) && !target.homepage_or_404?(res)
WPScan::InterestingFinding.new(
url,
confidence: 70,
found_by: DIRECT_ACCESS,
interesting_entries: target.directory_listing_entries(path),
references: { url: 'https://github.com/wpscanteam/wpscan/issues/422' }
)
end
end
end
end
end

View File

@@ -0,0 +1,20 @@
module WPScan
module Finders
module InterestingFindings
# debug.log finder
class DebugLog < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
path = 'wp-content/debug.log'
return unless target.debug_log?(path)
WPScan::InterestingFinding.new(
target.url(path),
confidence: 100, found_by: DIRECT_ACCESS
)
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
module WPScan
module Finders
module InterestingFindings
# DuplicatorInstallerLog finder
class DuplicatorInstallerLog < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
url = target.url('installer-log.txt')
res = Browser.get(url)
return unless res.body =~ /DUPLICATOR INSTALL-LOG/
WPScan::InterestingFinding.new(
url,
confidence: 100,
found_by: DIRECT_ACCESS,
references: { url: 'https://www.exploit-db.com/ghdb/3981/' }
)
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
module WPScan
module Finders
module InterestingFindings
# Emergency Password Reset Script finder
class EmergencyPwdResetScript < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
url = target.url('/emergency.php')
res = Browser.get(url)
return unless res.code == 200 && !target.homepage_or_404?(res)
WPScan::InterestingFinding.new(
url,
confidence: res.body =~ /password/i ? 100 : 40,
found_by: DIRECT_ACCESS,
references: {
url: 'https://codex.wordpress.org/Resetting_Your_Password#Using_the_Emergency_Password_Reset_Script'
}
)
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
module WPScan
module Finders
module InterestingFindings
# Full Path Disclosure finder
class FullPathDisclosure < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
path = 'wp-includes/rss-functions.php'
fpd_entries = target.full_path_disclosure_entries(path)
return if fpd_entries.empty?
WPScan::InterestingFinding.new(
target.url(path),
confidence: 100,
found_by: DIRECT_ACCESS,
interesting_entries: fpd_entries
)
end
end
end
end
end

View File

@@ -0,0 +1,49 @@
module WPScan
module Finders
module InterestingFindings
# Must Use Plugins Directory checker
class MuPlugins < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def passive(_opts = {})
pattern = %r{#{target.content_dir}/mu\-plugins/}i
target.in_scope_urls(target.homepage_res) do |url|
next unless Addressable::URI.parse(url).path =~ pattern
url = target.url('wp-content/mu-plugins/')
return WPScan::InterestingFinding.new(
url,
confidence: 70,
found_by: 'URLs In Homepage (Passive Detection)',
to_s: "This site has 'Must Use Plugins': #{url}",
references: { url: 'http://codex.wordpress.org/Must_Use_Plugins' }
)
end
nil
end
# @return [ InterestingFinding ]
def aggressive(_opts = {})
url = target.url('wp-content/mu-plugins/')
res = Browser.get_and_follow_location(url)
return unless [200, 401, 403].include?(res.code)
return if target.homepage_or_404?(res)
# TODO: add the check for --exclude-content once implemented ?
target.mu_plugins = true
WPScan::InterestingFinding.new(
url,
confidence: 80,
found_by: DIRECT_ACCESS,
to_s: "This site has 'Must Use Plugins': #{url}",
references: { url: 'http://codex.wordpress.org/Must_Use_Plugins' }
)
end
end
end
end
end

View File

@@ -0,0 +1,29 @@
module WPScan
module Finders
module InterestingFindings
# Multisite checker
class Multisite < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
url = target.url('wp-signup.php')
res = Browser.get(url)
location = res.headers_hash['location']
return unless [200, 302].include?(res.code)
return if res.code == 302 && location =~ /wp-login\.php\?action=register/
return unless res.code == 200 || res.code == 302 && location =~ /wp-signup\.php/
target.multisite = true
WPScan::InterestingFinding.new(
url,
confidence: 100,
found_by: DIRECT_ACCESS,
to_s: 'This site seems to be a multisite',
references: { url: 'http://codex.wordpress.org/Glossary#Multisite' }
)
end
end
end
end
end

View File

@@ -0,0 +1,26 @@
module WPScan
module Finders
module InterestingFindings
# Readme.html finder
class Readme < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
potential_files.each do |file|
url = target.url(file)
res = Browser.get(url)
if res.code == 200 && res.body =~ /wordpress/i
return WPScan::InterestingFinding.new(url, confidence: 100, found_by: DIRECT_ACCESS)
end
end
nil
end
# @retun [ Array<String> ] The list of potential readme files
def potential_files
%w[readme.html olvasdel.html lisenssi.html liesmich.html]
end
end
end
end
end

View File

@@ -0,0 +1,31 @@
module WPScan
module Finders
module InterestingFindings
# Registration Enabled checker
class Registration < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def passive(_opts = {})
# Maybe check in the homepage if there is the registration url ?
end
# @return [ InterestingFinding ]
def aggressive(_opts = {})
res = Browser.get_and_follow_location(target.registration_url)
return unless res.code == 200
return if res.html.css('form#setupform').empty? &&
res.html.css('form#registerform').empty?
target.registration_enabled = true
WPScan::InterestingFinding.new(
res.effective_url,
confidence: 100,
found_by: DIRECT_ACCESS,
to_s: "Registration is enabled: #{res.effective_url}"
)
end
end
end
end
end

View File

@@ -0,0 +1,24 @@
module WPScan
module Finders
module InterestingFindings
# Tmm DB Migrate finder
class TmmDbMigrate < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
path = 'wp-content/uploads/tmm_db_migrate/tmm_db_migrate.zip'
url = target.url(path)
res = Browser.get(url)
return unless res.code == 200 && res.headers['Content-Type'] =~ %r{\Aapplication/zip}i
WPScan::InterestingFinding.new(
url,
confidence: 100,
found_by: DIRECT_ACCESS,
references: { packetstorm: 131_957 }
)
end
end
end
end
end

View File

@@ -0,0 +1,24 @@
module WPScan
module Finders
module InterestingFindings
# UploadDirectoryListing finder
class UploadDirectoryListing < CMSScanner::Finders::Finder
# @return [ InterestingFinding ]
def aggressive(_opts = {})
path = 'wp-content/uploads/'
return unless target.directory_listing?(path)
url = target.url(path)
WPScan::InterestingFinding.new(
url,
confidence: 100,
found_by: DIRECT_ACCESS,
to_s: "Upload directory has listing enabled: #{url}"
)
end
end
end
end
end

View File

@@ -0,0 +1,28 @@
module WPScan
module Finders
module InterestingFindings
# UploadSQLDump finder
class UploadSQLDump < CMSScanner::Finders::Finder
SQL_PATTERN = /(?:(?:(?:DROP|CREATE) TABLE)|INSERT INTO)/
# @return [ InterestingFinding ]
def aggressive(_opts = {})
url = dump_url
res = Browser.get(url)
return unless res.code == 200 && res.body =~ SQL_PATTERN
WPScan::InterestingFinding.new(
url,
confidence: 100,
found_by: DIRECT_ACCESS
)
end
def dump_url
target.url('wp-content/uploads/dump.sql')
end
end
end
end
end

22
app/finders/main_theme.rb Normal file
View File

@@ -0,0 +1,22 @@
require_relative 'main_theme/css_style'
require_relative 'main_theme/woo_framework_meta_generator'
require_relative 'main_theme/urls_in_homepage'
module WPScan
module Finders
module MainTheme
# Main Theme Finder
class Base
include CMSScanner::Finders::UniqueFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders <<
MainTheme::CssStyle.new(target) <<
MainTheme::WooFrameworkMetaGenerator.new(target) <<
MainTheme::UrlsInHomepage.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,43 @@
module WPScan
module Finders
module MainTheme
# From the css style
class CssStyle < CMSScanner::Finders::Finder
include Finders::WpItems::URLsInHomepage
def create_theme(slug, style_url, opts)
WPScan::Theme.new(
slug,
target,
opts.merge(found_by: found_by, confidence: 70, style_url: style_url)
)
end
def passive(opts = {})
passive_from_css_href(target.homepage_res, opts) || passive_from_style_code(target.homepage_res, opts)
end
def passive_from_css_href(res, opts)
target.in_scope_urls(res, '//style/@src|//link/@href') do |url|
next unless Addressable::URI.parse(url).path =~ %r{/themes/([^\/]+)/style.css\z}i
return create_theme(Regexp.last_match[1], url, opts)
end
nil
end
def passive_from_style_code(res, opts)
res.html.css('style').each do |tag|
code = tag.text.to_s
next if code.empty?
next unless code =~ %r{#{item_code_pattern('themes')}\\?/style\.css[^"'\( ]*}i
return create_theme(Regexp.last_match[1], Regexp.last_match[0].strip, opts)
end
nil
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
module WPScan
module Finders
module MainTheme
# URLs In Homepage Finder
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
# @param [ Hash ] opts
#
# @return [ Array<Theme> ]
def passive(opts = {})
found = []
slugs = items_from_links('themes', false) + items_from_codes('themes', false)
slugs.each_with_object(Hash.new(0)) { |slug, counts| counts[slug] += 1 }.each do |slug, occurences|
found << WPScan::Theme.new(slug, target, opts.merge(found_by: found_by, confidence: 2 * occurences))
end
found
end
end
end
end
end

View File

@@ -0,0 +1,22 @@
module WPScan
module Finders
module MainTheme
# From the WooFramework meta generators
class WooFrameworkMetaGenerator < CMSScanner::Finders::Finder
THEME_PATTERN = %r{<meta name="generator" content="([^\s"]+)\s?([^"]+)?"\s+/?>}
FRAMEWORK_PATTERN = %r{<meta name="generator" content="WooFramework\s?([^"]+)?"\s+/?>}
PATTERN = /#{THEME_PATTERN}\s+#{FRAMEWORK_PATTERN}/i
def passive(opts = {})
return unless target.homepage_res.body =~ PATTERN
WPScan::Theme.new(
Regexp.last_match[1],
target,
opts.merge(found_by: found_by, confidence: 80)
)
end
end
end
end
end

17
app/finders/medias.rb Normal file
View File

@@ -0,0 +1,17 @@
require_relative 'medias/attachment_brute_forcing'
module WPScan
module Finders
module Medias
# Medias Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders << Medias::AttachmentBruteForcing.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,44 @@
module WPScan
module Finders
module Medias
# Medias Finder
class AttachmentBruteForcing < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ Range ] :range Mandatory
#
# @return [ Array<Media> ]
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts) do |res|
next unless res.code == 200
found << WPScan::Media.new(res.effective_url, opts.merge(found_by: found_by, confidence: 100))
end
found
end
# @param [ Hash ] opts
# @option opts [ Range ] :range Mandatory
#
# @return [ Hash ]
def target_urls(opts = {})
urls = {}
opts[:range].each do |id|
urls[target.uri.join("?attachment_id=#{id}").to_s] = id
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Brute Forcing Attachment IDs -'))
end
end
end
end
end

3
app/finders/passwords.rb Normal file
View File

@@ -0,0 +1,3 @@
require_relative 'passwords/wp_login'
require_relative 'passwords/xml_rpc'
require_relative 'passwords/xml_rpc_multicall'

View File

@@ -0,0 +1,22 @@
module WPScan
module Finders
module Passwords
# Password attack against the wp-login.php
class WpLogin < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::BreadthFirstDictionaryAttack
def login_request(username, password)
target.login_request(username, password)
end
def valid_credentials?(response)
response.code == 302
end
def errored_response?(response)
response.code != 200 && response.body !~ /login_error/i
end
end
end
end
end

View File

@@ -0,0 +1,22 @@
module WPScan
module Finders
module Passwords
# Password attack against the XMLRPC interface
class XMLRPC < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::BreadthFirstDictionaryAttack
def login_request(username, password)
target.method_call('wp.getUsersBlogs', [username, password])
end
def valid_credentials?(response)
response.code == 200 && response.body =~ /blogName/
end
def errored_response?(response)
response.code != 200 && response.body !~ /login_error/i
end
end
end
end
end

View File

@@ -0,0 +1,102 @@
module WPScan
module Finders
module Passwords
# Password attack against the XMLRPC interface with the multicall method
# WP < 4.4 is vulnerable to such attack
class XMLRPCMulticall < CMSScanner::Finders::Finder
# @param [ Array<User> ] users
# @param [ Array<String> ] passwords
#
# @return [ Typhoeus::Response ]
def do_multi_call(users, passwords)
methods = []
users.each do |user|
passwords.each do |password|
methods << ['wp.getUsersBlogs', user.username, password]
end
end
target.multi_call(methods).run
end
# @param [ Array<CMSScanner::User> ] users
# @param [ Array<String> ] passwords
# @param [ Hash ] opts
# @option opts [ Boolean ] :show_progression
# @option opts [ Integer ] :multicall_max_passwords
#
# @yield [ CMSScanner::User ] When a valid combination is found
#
# TODO: Make rubocop happy about metrics etc
#
# rubocop:disable all
def attack(users, passwords, opts = {})
wordlist_index = 0
max_passwords = opts[:multicall_max_passwords]
current_passwords_size = passwords_size(max_passwords, users.size)
create_progress_bar(total: (passwords.size / current_passwords_size.round(1)).ceil,
show_progression: opts[:show_progression])
loop do
current_users = users.select { |user| user.password.nil? }
current_passwords = passwords[wordlist_index, current_passwords_size]
wordlist_index += current_passwords_size
break if current_users.empty? || current_passwords.nil? || current_passwords.empty?
res = do_multi_call(current_users, current_passwords)
progress_bar.increment
check_and_output_errors(res)
# Avoid to parse the response and iterate over all the structs in the document
# if there isn't any tag matching a valid combination
next unless res.body =~ /isAdmin/ # maybe a better one ?
Nokogiri::XML(res.body).xpath('//struct').each_with_index do |struct, index|
next if struct.text =~ /faultCode/
user = current_users[index / current_passwords.size]
user.password = current_passwords[index % current_passwords.size]
yield user
# Updates the current_passwords_size and progress_bar#total
# given that less requests will be done due to a valid combination found.
current_passwords_size = passwords_size(max_passwords, current_users.size - 1)
if current_passwords_size == 0
progress_bar.log('All Found') # remove ?
progress_bar.stop
break
end
progress_bar.total = progress_bar.progress + ((passwords.size - wordlist_index) / current_passwords_size.round(1)).ceil
end
end
# Maybe a progress_bar.stop ?
end
# rubocop:disable all
def passwords_size(max_passwords, users_size)
return 1 if max_passwords < users_size
return 0 if users_size == 0
max_passwords / users_size
end
# @param [ Typhoeus::Response ] res
def check_and_output_errors(res)
progress_bar.log("Incorrect response: #{res.code} / #{res.return_message}") unless res.code == 200
progress_bar.log('Parsing error, might be caused by a too high --max-passwords value (such as >= 2k)') if res.body =~ /parse error. not well formed/i
progress_bar.log('The requested method is not supported') if res.body =~ /requested method [^ ]+ does not exist/i
end
end
end
end
end

View File

@@ -0,0 +1,38 @@
require_relative 'plugin_version/readme'
module WPScan
module Finders
module PluginVersion
# Plugin Version Finder
class Base
include CMSScanner::Finders::UniqueFinder
# @param [ WPScan::Plugin ] plugin
def initialize(plugin)
finders << PluginVersion::Readme.new(plugin)
load_specific_finders(plugin)
end
# Load the finders associated with the plugin
#
# @param [ WPScan::Plugin ] plugin
def load_specific_finders(plugin)
module_name = plugin.classify
return unless Finders::PluginVersion.constants.include?(module_name)
mod = Finders::PluginVersion.const_get(module_name)
mod.constants.each do |constant|
c = mod.const_get(constant)
next unless c.is_a?(Class)
finders << c.new(plugin)
end
end
end
end
end
end

View File

@@ -0,0 +1,79 @@
module WPScan
module Finders
module PluginVersion
# Plugin Version Finder from the readme.txt file
class Readme < CMSScanner::Finders::Finder
# @return [ Version ]
def aggressive(_opts = {})
found_by_msg = 'Readme - %s (Aggressive Detection)'
WPScan::WpItem::READMES.each do |file|
url = target.url(file)
res = Browser.get(url)
next unless res.code == 200 && !(numbers = version_numbers(res.body)).empty?
return numbers.reduce([]) do |a, e|
a << WPScan::Version.new(
e[0],
found_by: format(found_by_msg, e[1]),
confidence: e[2],
interesting_entries: [url]
)
end
end
nil
end
# @return [ Array<String, String, Integer> ] number, found_by, confidence
def version_numbers(body)
numbers = []
if (number = from_stable_tag(body))
numbers << [number, 'Stable Tag', 80]
end
if (number = from_changelog_section(body))
numbers << [number, 'ChangeLog Section', 50]
end
numbers
end
# @param [ String ] body
#
# @return [ String, nil ] The version number detected from the stable tag
def from_stable_tag(body)
return unless body =~ /\b(?:stable tag|version):\s*(?!trunk)([0-9a-z\.-]+)/i
number = Regexp.last_match[1]
number if number =~ /[0-9]+/
end
# @param [ String ] body
#
# @return [ String, nil ] The best version number detected from the changelog section
def from_changelog_section(body)
extracted_versions = body.scan(%r{[=]+\s+(?:v(?:ersion)?\s*)?([0-9\.-]+)[ \ta-z0-9\(\)\.\-\/]*[=]+}i)
return if extracted_versions.nil? || extracted_versions.empty?
extracted_versions.flatten!
# must contain at least one number
extracted_versions = extracted_versions.select { |x| x =~ /[0-9]+/ }
sorted = extracted_versions.sort do |x, y|
begin
Gem::Version.new(x) <=> Gem::Version.new(y)
rescue StandardError
0
end
end
sorted.last
end
end
end
end
end

33
app/finders/plugins.rb Normal file
View File

@@ -0,0 +1,33 @@
require_relative 'plugins/urls_in_homepage'
require_relative 'plugins/known_locations'
# From the DynamicFinders
require_relative 'plugins/comment'
require_relative 'plugins/xpath'
require_relative 'plugins/header_pattern'
require_relative 'plugins/body_pattern'
require_relative 'plugins/javascript_var'
require_relative 'plugins/query_parameter'
require_relative 'plugins/config_parser' # Not loaded below as not implemented
module WPScan
module Finders
module Plugins
# Plugins Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders <<
Plugins::UrlsInHomepage.new(target) <<
Plugins::HeaderPattern.new(target) <<
Plugins::Comment.new(target) <<
Plugins::Xpath.new(target) <<
Plugins::BodyPattern.new(target) <<
Plugins::JavascriptVar.new(target) <<
Plugins::KnownLocations.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,27 @@
module WPScan
module Finders
module Plugins
# Plugins finder from Dynamic Finder 'BodyPattern'
class BodyPattern < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 30
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def process_response(opts, response, slug, klass, config)
return unless response.body =~ config['pattern']
Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
end
end
end

View File

@@ -0,0 +1,31 @@
module WPScan
module Finders
module Plugins
# Plugins finder from the Dynamic Finder 'Comment'
class Comment < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 30
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def process_response(opts, response, slug, klass, config)
response.html.xpath(config['xpath'] || '//comment()').each do |node|
comment = node.text.to_s.strip
next unless comment =~ config['pattern']
return Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
end
end
end
end

View File

@@ -0,0 +1,31 @@
module WPScan
module Finders
module Plugins
# Plugins finder from Dynamic Finder 'ConfigParser'
class ConfigParser < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 40
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def _process_response(_opts, _response, slug, klass, config)
#
# TODO. Currently not implemented, and not even loaded by the Finders, as this
# finder only has an aggressive method, which has been disabled (globally)
# when checking for plugins
#
Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
end
end
end

View File

@@ -0,0 +1,41 @@
module WPScan
module Finders
module Plugins
# Plugins finder from Dynamic Finder 'HeaderPattern'
class HeaderPattern < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 30
# @param [ Hash ] opts
#
# @return [ Array<Plugin> ]
def passive(opts = {})
found = []
headers = target.homepage_res.headers
return found if headers.empty?
DB::DynamicFinders::Plugin.passive_header_pattern_finder_configs.each do |slug, configs|
configs.each do |klass, config|
next unless headers[config['header']] && headers[config['header']].to_s =~ config['pattern']
found << Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
found
end
# @param [ Hash ] opts
#
# @return [ nil ]
def aggressive(_opts = {})
# None
end
end
end
end
end

View File

@@ -0,0 +1,29 @@
module WPScan
module Finders
module Plugins
# Plugins finder from the Dynamic Finder 'JavascriptVar'
class JavascriptVar < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 60
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def process_response(opts, response, slug, klass, config)
response.html.xpath(config['xpath'] || '//script[not(@src)]').each do |node|
next if config['pattern'] && !node.text.match(config['pattern'])
return Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
end
end
end
end

View File

@@ -0,0 +1,48 @@
module WPScan
module Finders
module Plugins
# Known Locations Plugins Finder
class KnownLocations < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ String ] :list
#
# @return [ Array<Plugin> ]
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts) do |res, slug|
# TODO: follow the location (from enumerate()) and remove the 301 here ?
# As a result, it might remove false positive due to redirection to the homepage
next unless [200, 401, 403, 301].include?(res.code)
found << WPScan::Plugin.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
end
found
end
# @param [ Hash ] opts
# @option opts [ String ] :list
#
# @return [ Hash ]
def target_urls(opts = {})
slugs = opts[:list] || DB::Plugins.vulnerable_slugs
urls = {}
plugins_url = target.plugins_url
slugs.each do |slug|
urls["#{plugins_url}#{URI.encode(slug)}/"] = slug
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Checking Known Locations -'))
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
module WPScan
module Finders
module Plugins
# Plugins finder from Dynamic Finder 'QueryParameter'
class QueryParameter < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 10
def passive(_opts = {})
# Handled by UrlsInHomePage, so no need to check this twice
end
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def process_response(opts, response, slug, klass, config)
# TODO: when a real case will be found
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
module WPScan
module Finders
module Plugins
# URLs In Homepage Finder
# Typically, the items detected from URLs like
# /wp-content/plugins/<slug>/
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
# @param [ Hash ] opts
#
# @return [ Array<Plugin> ]
def passive(opts = {})
found = []
(items_from_links('plugins') + items_from_codes('plugins')).uniq.sort.each do |slug|
found << Plugin.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
end
found
end
end
end
end
end

View File

@@ -0,0 +1,29 @@
module WPScan
module Finders
module Plugins
# Plugins finder from the Dynamic Finder 'Xpath'
class Xpath < WPScan::Finders::DynamicFinder::WpItems::Finder
DEFAULT_CONFIDENCE = 40
# @param [ Hash ] opts The options from the #passive, #aggressive methods
# @param [ Typhoeus::Response ] response
# @param [ String ] slug
# @param [ String ] klass
# @param [ Hash ] config The related dynamic finder config hash
#
# @return [ Plugin ] The detected plugin in the response, related to the config
def process_response(opts, response, slug, klass, config)
response.html.xpath(config['xpath']).each do |node|
next if config['pattern'] && !node.text.match(config['pattern'])
return Plugin.new(
slug,
target,
opts.merge(found_by: found_by(klass), confidence: config['confidence'] || DEFAULT_CONFIDENCE)
)
end
end
end
end
end
end

View File

@@ -0,0 +1,41 @@
require_relative 'theme_version/style'
require_relative 'theme_version/woo_framework_meta_generator'
module WPScan
module Finders
module ThemeVersion
# Theme Version Finder
class Base
include CMSScanner::Finders::UniqueFinder
# @param [ WPScan::Theme ] theme
def initialize(theme)
finders <<
ThemeVersion::Style.new(theme) <<
ThemeVersion::WooFrameworkMetaGenerator.new(theme)
load_specific_finders(theme)
end
# Load the finders associated with the theme
#
# @param [ WPScan::Theme ] theme
def load_specific_finders(theme)
module_name = theme.classify
return unless Finders::ThemeVersion.constants.include?(module_name)
mod = Finders::ThemeVersion.const_get(module_name)
mod.constants.each do |constant|
c = mod.const_get(constant)
next unless c.is_a?(Class)
finders << c.new(theme)
end
end
end
end
end
end

View File

@@ -0,0 +1,43 @@
module WPScan
module Finders
module ThemeVersion
# Theme Version Finder from the style.css file
class Style < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Version ]
def passive(_opts = {})
return unless cached_style?
style_version
end
# @param [ Hash ] opts
#
# @return [ Version ]
def aggressive(_opts = {})
return if cached_style?
style_version
end
# @return [ Boolean ]
def cached_style?
Typhoeus::Config.cache.get(browser.forge_request(target.style_url)) ? true : false
end
# @return [ Version ]
def style_version
return unless Browser.get(target.style_url).body =~ /Version:[\t ]*(?!trunk)([0-9a-z\.-]+)/i
WPScan::Version.new(
Regexp.last_match[1],
found_by: found_by,
confidence: 80,
interesting_entries: ["#{target.style_url}, Match: '#{Regexp.last_match}'"]
)
end
end
end
end
end

View File

@@ -0,0 +1,19 @@
module WPScan
module Finders
module ThemeVersion
# Theme Version Finder from the WooFramework generators
class WooFrameworkMetaGenerator < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Version ]
def passive(_opts = {})
return unless target.blog.homepage_res.body =~ Finders::MainTheme::WooFrameworkMetaGenerator::PATTERN
return unless Regexp.last_match[1] == target.slug
WPScan::Version.new(Regexp.last_match[2], found_by: found_by, confidence: 80)
end
end
end
end
end

20
app/finders/themes.rb Normal file
View File

@@ -0,0 +1,20 @@
require_relative 'themes/urls_in_homepage'
require_relative 'themes/known_locations'
module WPScan
module Finders
module Themes
# themes Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders <<
Themes::UrlsInHomepage.new(target) <<
Themes::KnownLocations.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,48 @@
module WPScan
module Finders
module Themes
# Known Locations Themes Finder
class KnownLocations < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ String ] :list
#
# @return [ Array<Theme> ]
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts) do |res, slug|
# TODO: follow the location (from enumerate()) and remove the 301 here ?
# As a result, it might remove false positive due to redirection to the homepage
next unless [200, 401, 403, 301].include?(res.code)
found << WPScan::Theme.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
end
found
end
# @param [ Hash ] opts
# @option opts [ String ] :list
#
# @return [ Hash ]
def target_urls(opts = {})
slugs = opts[:list] || DB::Themes.vulnerable_slugs
urls = {}
themes_url = target.url('wp-content/themes/')
slugs.each do |slug|
urls["#{themes_url}#{URI.encode(slug)}/"] = slug
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Checking Known Locations -'))
end
end
end
end
end

View File

@@ -0,0 +1,23 @@
module WPScan
module Finders
module Themes
# URLs In Homepage Finder
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
# @param [ Hash ] opts
#
# @return [ Array<Theme> ]
def passive(opts = {})
found = []
(items_from_links('themes') + items_from_codes('themes')).uniq.sort.each do |slug|
found << WPScan::Theme.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
end
found
end
end
end
end
end

View File

@@ -0,0 +1,17 @@
require_relative 'timthumb_version/bad_request'
module WPScan
module Finders
module TimthumbVersion
# Timthumb Version Finder
class Base
include CMSScanner::Finders::UniqueFinder
# @param [ WPScan::Timthumb ] target
def initialize(target)
finders << TimthumbVersion::BadRequest.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,21 @@
module WPScan
module Finders
module TimthumbVersion
# Timthumb Version Finder from the body of a bad request
# See https://code.google.com/p/timthumb/source/browse/trunk/timthumb.php#435
class BadRequest < CMSScanner::Finders::Finder
# @return [ Version ]
def aggressive(_opts = {})
return unless Browser.get(target.url).body =~ /(TimThumb version\s*: ([^<]+))/
WPScan::Version.new(
Regexp.last_match[2],
found_by: 'Bad Request (Aggressive Detection)',
confidence: 90,
interesting_entries: ["#{target.url}, Match: '#{Regexp.last_match[1]}'"]
)
end
end
end
end
end

17
app/finders/timthumbs.rb Normal file
View File

@@ -0,0 +1,17 @@
require_relative 'timthumbs/known_locations'
module WPScan
module Finders
module Timthumbs
# Timthumbs Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders << Timthumbs::KnownLocations.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,56 @@
module WPScan
module Finders
module Timthumbs
# Known Locations Timthumbs Finder
class KnownLocations < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ String ] :list Mandatory
#
# @return [ Array<Timthumb> ]
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts) do |res|
next unless res.code == 400 && res.body =~ /no image specified/i
found << WPScan::Timthumb.new(res.request.url, opts.merge(found_by: found_by, confidence: 100))
end
found
end
# @param [ Hash ] opts
# @option opts [ String ] :list Mandatory
#
# @return [ Hash ]
def target_urls(opts = {})
urls = {}
File.open(opts[:list]).each_with_index do |path, index|
urls[target.url(path.chomp)] = index
end
# Add potential timthumbs located in the main theme
if target.main_theme
main_theme_timthumbs_paths.each do |path|
urls[target.main_theme.url(path)] = 1 # index not important there
end
end
urls
end
def main_theme_timthumbs_paths
%w[timthumb.php lib/timthumb.php inc/timthumb.php includes/timthumb.php
scripts/timthumb.php tools/timthumb.php functions/timthumb.php]
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Checking Known Locations -'))
end
end
end
end
end

28
app/finders/users.rb Normal file
View File

@@ -0,0 +1,28 @@
require_relative 'users/author_posts'
require_relative 'users/wp_json_api'
require_relative 'users/oembed_api'
require_relative 'users/rss_generator'
require_relative 'users/author_id_brute_forcing'
require_relative 'users/login_error_messages'
module WPScan
module Finders
module Users
# Users Finder
class Base
include CMSScanner::Finders::SameTypeFinder
# @param [ WPScan::Target ] target
def initialize(target)
finders <<
Users::AuthorPosts.new(target) <<
Users::WpJsonApi.new(target) <<
Users::OembedApi.new(target) <<
Users::RSSGenerator.new(target) <<
Users::AuthorIdBruteForcing.new(target) <<
Users::LoginErrorMessages.new(target)
end
end
end
end
end

View File

@@ -0,0 +1,111 @@
module WPScan
module Finders
module Users
# Author Id Brute Forcing
class AuthorIdBruteForcing < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
# @param [ Hash ] opts
# @option opts [ Range ] :range Mandatory
#
# @return [ Array<User> ]
def aggressive(opts = {})
found = []
found_by_msg = 'Author Id Brute Forcing - %s (Aggressive Detection)'
enumerate(target_urls(opts), opts) do |res, id|
username, found_by, confidence = potential_username(res)
next unless username
found << CMSScanner::User.new(
username,
id: id,
found_by: format(found_by_msg, found_by),
confidence: confidence
)
end
found
end
# @param [ Hash ] opts
# @option opts [ Range ] :range
#
# @return [ Hash ]
def target_urls(opts = {})
urls = {}
opts[:range].each do |id|
urls[target.uri.join("?author=#{id}").to_s] = id
end
urls
end
def create_progress_bar(opts = {})
super(opts.merge(title: ' Brute Forcing Author IDs -'))
end
def request_params
{ followlocation: true }
end
# @param [ Typhoeus::Response ] res
#
# @return [ Array<String, String, Integer>, nil ] username, found_by, confidence
def potential_username(res)
username = username_from_author_url(res.effective_url) || username_from_response(res)
return username, 'Author Pattern', 100 if username
username = display_name_from_body(res.body)
return username, 'Display Name', 50 if username
end
# @param [ String ] url
#
# @return [ String, nil ]
def username_from_author_url(url)
url[%r{/author/([^/\b]+)/?}i, 1]
end
# @param [ Typhoeus::Response ] res
#
# @return [ String, nil ] The username found
def username_from_response(res)
# Permalink enabled
target.in_scope_urls(res, '//link/@href|//a/@href') do |url|
username = username_from_author_url(url)
return username if username
end
# No permalink
res.body[/<body class="archive author author-([^\s]+)[ "]/i, 1]
end
# @param [ String ] body
#
# @return [ String, nil ]
def display_name_from_body(body)
page = Nokogiri::HTML.parse(body)
# WP >= 3.0
page.css('h1.page-title span').each do |node|
return node.text.to_s
end
# WP < 3.0
page.xpath('//link[@rel="alternate" and @type="application/rss+xml"]').each do |node|
title = node['title']
next unless title =~ /Posts by (.*) Feed\z/i
return Regexp.last_match[1] unless Regexp.last_match[1].empty?
end
nil
end
end
end
end
end

View File

@@ -0,0 +1,61 @@
module WPScan
module Finders
module Users
# Author Posts
class AuthorPosts < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Array<User> ]
def passive(opts = {})
found_by_msg = 'Author Posts - %s (Passive Detection)'
usernames(opts).reduce([]) do |a, e|
a << CMSScanner::User.new(
e[0],
found_by: format(found_by_msg, e[1]),
confidence: e[2]
)
end
end
# @param [ Hash ] opts
#
# @return [ Array<Array>> ]
def usernames(_opts = {})
found = potential_usernames(target.homepage_res)
return found unless found.empty?
target.homepage_res.html.css('header.entry-header a').each do |post_url_node|
url = post_url_node['href']
next if url.nil? || url.empty?
found += potential_usernames(Browser.get(url))
end
found.compact.uniq
end
# @param [ Typhoeus::Response ] res
#
# @return [ Array<Array> ]
def potential_usernames(res)
usernames = []
target.in_scope_urls(res, '//a/@href') do |url, node|
uri = Addressable::URI.parse(url)
if uri.path =~ %r{/author/([^/\b]+)/?\z}i
usernames << [Regexp.last_match[1], 'Author Pattern', 100]
elsif uri.query =~ /author=[0-9]+/
usernames << [node.text.to_s.strip, 'Display Name', 30]
end
end
usernames.uniq
end
end
end
end
end

View File

@@ -0,0 +1,45 @@
module WPScan
module Finders
module Users
# Login Error Messages
#
# Existing username:
# WP < 3.1 - Incorrect password.
# WP >= 3.1 - The password you entered for the username admin is incorrect.
# Non existent username: Invalid username.
#
class LoginErrorMessages < CMSScanner::Finders::Finder
# @param [ Hash ] opts
# @option opts [ String ] :list
#
# @return [ Array<User> ]
def aggressive(opts = {})
found = []
usernames(opts).each do |username|
res = target.do_login(username, SecureRandom.hex[0, 8])
error = res.html.css('div#login_error').text.strip
return found if error.empty? # Protection plugin / error disabled
next unless error =~ /The password you entered for the username|Incorrect Password/i
found << CMSScanner::User.new(username, found_by: found_by, confidence: 100)
end
found
end
# @return [ Array<String> ] List of usernames to check
def usernames(opts = {})
# usernames from the potential Users found
unames = opts[:found].map(&:username)
[*opts[:list]].each { |uname| unames << uname.chomp }
unames.uniq
end
end
end
end
end

View File

@@ -0,0 +1,49 @@
module WPScan
module Finders
module Users
# Since WP 4.4, the oembed API can disclose a user
# https://github.com/wpscanteam/wpscan/issues/1049
class OembedApi < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Array<User> ]
def passive(_opts = {})
# TODO: get the api_url from the Homepage and query it if present,
# then discard the aggressive check if same/similar URL
end
# @param [ Hash ] opts
#
# TODO: make this code pretty :x
#
# @return [ Array<User> ]
def aggressive(_opts = {})
found = []
found_by_msg = 'Oembed API - %s (Aggressive Detection)'
oembed_data = JSON.parse(Browser.get(api_url).body)
if oembed_data['author_url'] =~ %r{/author/([^/]+)/?\z}
details = [Regexp.last_match[1], 'Author URL', 90]
elsif oembed_data['author_name'] && !oembed_data['author_name'].empty?
details = [oembed_data['author_name'].delete(' '), 'Author Name', 70]
end
return unless details
found << CMSScanner::User.new(details[0],
found_by: format(found_by_msg, details[1]),
confidence: details[2],
interesting_entries: [api_url])
rescue JSON::ParserError
found
end
# @return [ String ] The URL of the API listing the Users
def api_url
@api_url ||= target.url("wp-json/oembed/1.0/embed?url=#{target.url}&format=json")
end
end
end
end
end

View File

@@ -0,0 +1,38 @@
module WPScan
module Finders
module Users
# Users disclosed from the dc:creator field in the RSS
# The names disclosed are display names, however depending on the configuration of the blog,
# they can be the same than usernames
class RSSGenerator < WPScan::Finders::WpVersion::RSSGenerator
def process_urls(urls, _opts = {})
found = []
urls.each do |url|
res = Browser.get_and_follow_location(url)
next unless res.code == 200 && res.body =~ /<dc\:creator>/i
potential_usernames = []
begin
res.xml.xpath('//item/dc:creator').each do |node|
potential_usernames << node.text.to_s unless node.text.to_s.length > 40
end
rescue Nokogiri::XML::XPath::SyntaxError
next
end
potential_usernames.uniq.each do |potential_username|
found << CMSScanner::User.new(potential_username, found_by: found_by, confidence: 50)
end
break
end
found
end
end
end
end
end

View File

@@ -0,0 +1,35 @@
module WPScan
module Finders
module Users
# WP JSON API
#
# Since 4.7 - Need more investigation as it seems WP 4.7.1 reduces the exposure, see https://github.com/wpscanteam/wpscan/issues/1038)
#
class WpJsonApi < CMSScanner::Finders::Finder
# @param [ Hash ] opts
#
# @return [ Array<User> ]
def aggressive(_opts = {})
found = []
JSON.parse(Browser.get(api_url).body)&.each do |user|
found << CMSScanner::User.new(user['slug'],
id: user['id'],
found_by: found_by,
confidence: 100,
interesting_entries: [api_url])
end
found
rescue JSON::ParserError, TypeError
found
end
# @return [ String ] The URL of the API listing the Users
def api_url
@api_url ||= target.url('wp-json/wp/v2/users/')
end
end
end
end
end

1
app/finders/wp_items.rb Normal file
View File

@@ -0,0 +1 @@
require_relative 'wp_items/urls_in_homepage'

View File

@@ -0,0 +1,68 @@
module WPScan
module Finders
module WpItems
# URLs In Homepage Module to use in plugins & themes finders
module URLsInHomepage
# @param [ String ] type plugins / themes
# @param [ Boolean ] uniq Wether or not to apply the #uniq on the results
#
# @return [Array<String> ] The plugins/themes detected in the href, src attributes of the homepage
def items_from_links(type, uniq = true)
found = []
target.in_scope_urls(target.homepage_res) do |url|
next unless url =~ item_attribute_pattern(type)
found << Regexp.last_match[1]
end
uniq ? found.uniq.sort : found.sort
end
# @param [ String ] type plugins / themes
# @param [ Boolean ] uniq Wether or not to apply the #uniq on the results
#
# @return [Array<String> ] The plugins/themes detected in the javascript/style of the homepage
def items_from_codes(type, uniq = true)
found = []
target.homepage_res.html.css('script,style').each do |tag|
code = tag.text.to_s
next if code.empty?
code.scan(item_code_pattern(type)).flatten.uniq.each { |slug| found << slug }
end
uniq ? found.uniq.sort : found.sort
end
# @param [ String ] type
#
# @return [ Regexp ]
def item_attribute_pattern(type)
@item_attribute_pattern ||= %r{\A#{item_url_pattern(type)}([^/]+)/}i
end
# @param [ String ] type
#
# @return [ Regexp ]
def item_code_pattern(type)
@item_code_pattern ||= %r{["'\( ]#{item_url_pattern(type)}([^\\\/\)"']+)}i
end
# @param [ String ] type
#
# @return [ Regexp ]
def item_url_pattern(type)
item_dir = type == 'plugins' ? target.plugins_dir : target.content_dir
item_url = type == 'plugins' ? target.plugins_url : target.content_url
url = /#{item_url.gsub(/\A(?:http|https)/i, 'https?').gsub('/', '\\\\\?\/')}/i
item_dir = %r{(?:#{url}|\\?\/#{item_dir.gsub('/', '\\\\\?\/')}\\?/)}i
type == 'plugins' ? item_dir : %r{#{item_dir}#{type}\\?\/}i
end
end
end
end
end

42
app/finders/wp_version.rb Normal file
View File

@@ -0,0 +1,42 @@
require_relative 'wp_version/rss_generator'
require_relative 'wp_version/atom_generator'
require_relative 'wp_version/rdf_generator'
require_relative 'wp_version/readme'
require_relative 'wp_version/unique_fingerprinting'
module WPScan
module Finders
# Specific Finders container to filter the version detected
# and remove the one with low confidence to avoid false
# positive when there is not enought information to accurately
# determine it.
class WpVersionFinders < UniqueFinders
def filter_findings
best_finding = super
best_finding && best_finding.confidence >= 40 ? best_finding : false
end
end
module WpVersion
# Wp Version Finder
class Base
include CMSScanner::Finders::UniqueFinder
# @param [ WPScan::Target ] target
def initialize(target)
(%w[RSSGenerator AtomGenerator RDFGenerator] +
WPScan::DB::DynamicFinders::Wordpress.versions_finders_configs.keys +
%w[Readme UniqueFingerprinting]
).each do |finder_name|
finders << WpVersion.const_get(finder_name.to_sym).new(target)
end
end
def finders
@finders ||= Finders::WpVersionFinders.new
end
end
end
end
end

View File

@@ -0,0 +1,40 @@
module WPScan
module Finders
module WpVersion
# Atom Generator Version Finder
class AtomGenerator < CMSScanner::Finders::Finder
include Finder::WpVersion::SmartURLChecker
def process_urls(urls, _opts = {})
found = Findings.new
urls.each do |url|
res = Browser.get_and_follow_location(url)
res.html.css('generator').each do |node|
next unless node.text.to_s.strip.casecmp('wordpress').zero?
found << create_version(
node['version'],
found_by: found_by,
entries: ["#{res.effective_url}, #{node.to_s.strip}"]
)
end
end
found
end
def passive_urls_xpath
'//link[@rel="alternate" and @type="application/atom+xml"]/@href'
end
def aggressive_urls(_opts = {})
%w[feed/atom/ ?feed=atom].reduce([]) do |a, uri|
a << target.url(uri)
end
end
end
end
end
end

View File

@@ -0,0 +1,38 @@
module WPScan
module Finders
module WpVersion
# RDF Generator Version Finder
class RDFGenerator < CMSScanner::Finders::Finder
include Finder::WpVersion::SmartURLChecker
def process_urls(urls, _opts = {})
found = Findings.new
urls.each do |url|
res = Browser.get_and_follow_location(url)
res.html.xpath('//generatoragent').each do |node|
next unless node['rdf:resource'] =~ %r{\Ahttps?://wordpress\.(?:[a-z.]+)/\?v=(.*)\z}i
found << create_version(
Regexp.last_match[1],
found_by: found_by,
entries: ["#{res.effective_url}, #{node.to_s.strip}"]
)
end
end
found
end
def passive_urls_xpath
'//a[contains(@href, "rdf")]/@href'
end
def aggressive_urls(_opts = {})
[target.url('feed/rdf/')]
end
end
end
end
end

View File

@@ -0,0 +1,29 @@
module WPScan
module Finders
module WpVersion
# Readme Version Finder
class Readme < CMSScanner::Finders::Finder
# @return [ WpVersion ]
def aggressive(_opts = {})
readme_url = target.url('readme.html') # Maybe move this into the Target ?
node = Browser.get(readme_url).html.css('h1#logo').last
return unless node&.text.to_s.strip =~ /\AVersion (.*)\z/i
number = Regexp.last_match(1)
return unless WPScan::WpVersion.valid?(number)
WPScan::WpVersion.new(
number,
found_by: 'Readme (Aggressive Detection)',
# Since WP 4.7, the Readme only contains the major version (ie 4.7, 4.8 etc)
confidence: number >= '4.7' ? 10 : 90,
interesting_entries: ["#{readme_url}, Match: '#{node.text.to_s.strip}'"]
)
end
end
end
end
end

View File

@@ -0,0 +1,43 @@
module WPScan
module Finders
module WpVersion
# RSS Generator Version Finder
class RSSGenerator < CMSScanner::Finders::Finder
include Finder::WpVersion::SmartURLChecker
def process_urls(urls, _opts = {})
found = Findings.new
urls.each do |url|
res = Browser.get_and_follow_location(url)
res.html.xpath('//comment()[contains(., "wordpress")] | //generator').each do |node|
node_text = node.text.to_s.strip
next unless node_text =~ %r{\Ahttps?://wordpress\.(?:[a-z]+)/\?v=(.*)\z}i ||
node_text =~ %r{\Agenerator="wordpress/([^"]+)"\z}i
found << create_version(
Regexp.last_match[1],
found_by: found_by,
entries: ["#{res.effective_url}, #{node.to_s.strip}"]
)
end
end
found
end
def passive_urls_xpath
'//link[@rel="alternate" and @type="application/rss+xml"]/@href'
end
def aggressive_urls(_opts = {})
%w[feed/ comments/feed/ feed/rss/ feed/rss2/].reduce([]) do |a, uri|
a << target.url(uri)
end
end
end
end
end
end

View File

@@ -0,0 +1,30 @@
module WPScan
module Finders
module WpVersion
# Unique Fingerprinting Version Finder
class UniqueFingerprinting < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Fingerprinter
# @return [ WpVersion ]
def aggressive(opts = {})
fingerprint(DB::Fingerprints.wp_unique_fingerprints, opts) do |version_number, url, md5sum|
hydra.abort
progress_bar.finish
return WPScan::WpVersion.new(
version_number,
found_by: 'Unique Fingerprinting (Aggressive Detection)',
confidence: 100,
interesting_entries: ["#{url} md5sum is #{md5sum}"]
)
end
nil
end
def create_progress_bar(opts = {})
super(opts.merge(title: 'Fingerprinting the version -'))
end
end
end
end
end

10
app/models.rb Normal file
View File

@@ -0,0 +1,10 @@
require_relative 'models/interesting_finding'
require_relative 'models/wp_version'
require_relative 'models/xml_rpc'
require_relative 'models/wp_item'
require_relative 'models/timthumb'
require_relative 'models/media'
require_relative 'models/plugin'
require_relative 'models/theme'
require_relative 'models/config_backup'
require_relative 'models/db_export'

View File

@@ -0,0 +1,5 @@
module WPScan
# Config Backup
class ConfigBackup < InterestingFinding
end
end

5
app/models/db_export.rb Normal file
View File

@@ -0,0 +1,5 @@
module WPScan
# DB Export
class DbExport < InterestingFinding
end
end

View File

@@ -0,0 +1,6 @@
module WPScan
# Custom class to include the WPScan::References module
class InterestingFinding < CMSScanner::InterestingFinding
include References
end
end

5
app/models/media.rb Normal file
View File

@@ -0,0 +1,5 @@
module WPScan
# Media
class Media < InterestingFinding
end
end

25
app/models/plugin.rb Normal file
View File

@@ -0,0 +1,25 @@
module WPScan
# WordPress Plugin
class Plugin < WpItem
# See WpItem
def initialize(slug, blog, opts = {})
super(slug, blog, opts)
@uri = Addressable::URI.parse(blog.url("wp-content/plugins/#{slug}/"))
end
# @return [ JSON ]
def db_data
DB::Plugin.db_data(slug)
end
# @param [ Hash ] opts
#
# @return [ WPScan::Version, false ]
def version(opts = {})
@version = Finders::PluginVersion::Base.find(self, version_detection_opts.merge(opts)) if @version.nil?
@version
end
end
end

99
app/models/theme.rb Normal file
View File

@@ -0,0 +1,99 @@
module WPScan
# WordPress Theme
class Theme < WpItem
attr_reader :style_url, :style_name, :style_uri, :author, :author_uri, :template, :description,
:license, :license_uri, :tags, :text_domain
# See WpItem
def initialize(slug, blog, opts = {})
super(slug, blog, opts)
@uri = Addressable::URI.parse(blog.url("wp-content/themes/#{slug}/"))
@style_url = opts[:style_url] || url('style.css')
parse_style
end
# @return [ JSON ]
def db_data
DB::Theme.db_data(slug)
end
# @param [ Hash ] opts
#
# @return [ WPScan::Version, false ]
def version(opts = {})
@version = Finders::ThemeVersion::Base.find(self, version_detection_opts.merge(opts)) if @version.nil?
@version
end
# @return [ Theme ]
def parent_theme
return unless template
return unless style_body =~ /^@import\surl\(["']?([^"'\)]+)["']?\);\s*$/i
opts = detection_opts.merge(
style_url: url(Regexp.last_match[1]),
found_by: 'Parent Themes (Passive Detection)',
confidence: 100
).merge(version_detection: version_detection_opts)
self.class.new(template, blog, opts)
end
# @param [ Integer ] depth
#
# @retun [ Array<Theme> ]
def parent_themes(depth = 3)
theme = self
found = []
(1..depth).each do |_|
parent = theme.parent_theme
break unless parent
found << parent
theme = parent
end
found
end
def style_body
@style_body ||= Browser.get(style_url).body
end
def parse_style
{
style_name: 'Theme Name',
style_uri: 'Theme URI',
author: 'Author',
author_uri: 'Author URI',
template: 'Template',
description: 'Description',
license: 'License',
license_uri: 'License URI',
tags: 'Tags',
text_domain: 'Text Domain'
}.each do |attribute, tag|
instance_variable_set(:"@#{attribute}", parse_style_tag(style_body, tag))
end
end
# @param [ String ] bofy
# @param [ String ] tag
#
# @return [ String ]
def parse_style_tag(body, tag)
value = body[/^\s*#{Regexp.escape(tag)}:[\t ]*([^\r\n]+)/i, 1]
value && !value.strip.empty? ? value.strip : nil
end
def ==(other)
super(other) && style_url == other.style_url
end
end
end

Some files were not shown because too many files have changed in this diff Show More