Skip to content
This repository was archived by the owner on Oct 22, 2020. It is now read-only.

Commit 5128e65

Browse files
committed
Merge branch 'v2' into development
2 parents 02e4d50 + d4cb776 commit 5128e65

File tree

544 files changed

+10449
-3258
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

544 files changed

+10449
-3258
lines changed

.gitignore

Lines changed: 14 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,35 @@
1-
*.gem
2-
*.rbc
3-
/.config
4-
/coverage/
5-
/InstalledFiles
6-
/pkg/
7-
/spec/reports/
8-
/spec/examples.txt
9-
/test/tmp/
10-
/test/version_tmp/
11-
/tmp/
12-
13-
## Specific to RubyMotion:
14-
.dat*
15-
.repl_history
16-
build/
17-
18-
## Documentation cache and generated files:
19-
/.yardoc/
20-
/_yardoc/
21-
/doc/
22-
/rdoc/
1+
# =========================
2+
# Generated files
3+
# =========================
234

24-
## Environment normalisation:
25-
/.bundle/
26-
/vendor/bundle
27-
/lib/bundler/man/
5+
*.gem
6+
*.db
7+
*.db-journal
8+
.yardoc/
9+
doc/
10+
coverage/
2811

29-
# for a library or gem, you might want to ignore these files since the code is
30-
# intended to run in multiple environments; otherwise, check them in:
31-
# Gemfile.lock
32-
# .ruby-version
33-
# .ruby-gemset
12+
# =========================
13+
# Environment files
14+
# =========================
3415

35-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
36-
.rvmrc
16+
Gemfile.lock
3717

3818
# =========================
3919
# Operating System Files
4020
# =========================
4121

42-
# OSX
22+
# MacOS
4323
# =========================
4424

4525
.DS_Store
4626
.AppleDouble
4727
.LSOverride
4828

49-
# Thumbnails
50-
._*
51-
52-
# Files that might appear in the root of a volume
53-
.DocumentRevisions-V100
54-
.fseventsd
55-
.Spotlight-V100
56-
.TemporaryItems
57-
.Trashes
58-
.VolumeIcon.icns
59-
60-
# Directories potentially created on remote AFP share
61-
.AppleDB
62-
.AppleDesktop
63-
Network Trash Folder
64-
Temporary Items
65-
.apdisk
66-
6729
# Windows
6830
# =========================
6931

70-
# Windows image file caches
7132
Thumbs.db
7233
ehthumbs.db
73-
74-
# Folder config file
7534
Desktop.ini
76-
77-
# Recycle Bin used on file shares
7835
$RECYCLE.BIN/
79-
80-
# Windows Installer files
81-
*.cab
82-
*.msi
83-
*.msm
84-
*.msp
85-
86-
# Windows shortcuts
87-
*.lnk
88-
89-
# Sublime Plugins
90-
sftp-config.json
91-
92-
# Atom Plugins
93-
deployment-config.json
94-
95-
# NPM
96-
node_modules/
97-
npm-debug.log
98-
99-
# TypeScript type defs
100-
typings/
101-
102-
# Compiled Angular TypeScript
103-
lib/web/public/app/**/*.js
104-
lib/web/public/app/**/*.map
105-
106-
# SQLite databases
107-
db/*

.rubocop.yml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
AllCops:
2+
TargetRubyVersion: 2.4
3+
14
Style/ClassAndModuleChildren:
25
Description: 'Most modules will use the non-nested syntax'
36
Enabled: false
@@ -9,14 +12,14 @@ Metrics/ClassLength:
912
Description: 'Most modules and payloads are quite large. This is ok.'
1013
Enabled: true
1114
Exclude:
12-
- 'modules/**/*'
13-
- 'payloads/**/*'
15+
- 'lib/wpxf/modules/**/*'
16+
- 'lib/wpxf/payloads/**/*'
1417

1518
Style/Documentation:
1619
Enabled: true
1720
Description: 'Most modules do not have class documentation.'
1821
Exclude:
19-
- 'modules/**/*'
22+
- 'lib/wpxf/modules/**/*'
2023

2124
Metrics/LineLength:
2225
Description: 'Modules often pattern match against very long strings when identifying targets.'
@@ -34,11 +37,11 @@ Style/WordArray:
3437

3538
Style/RedundantBegin:
3639
Exclude:
37-
- 'modules/**/*'
40+
- 'lib/wpxf/modules/**/*'
3841

3942
Documentation:
4043
Exclude:
41-
- 'modules/**/*'
44+
- 'lib/wpxf/modules/**/*'
4245

4346
Style/IndentArray:
4447
Enabled: false
@@ -49,6 +52,14 @@ Lint/UnusedMethodArgument:
4952
Exclude:
5053
- 'lib/wpxf/**/*'
5154

55+
Style/ConditionalAssignment:
56+
Enabled: false
57+
Description: 'On long lines, this results in really bad formatting issues.'
58+
59+
Style/IfUnlessModifier:
60+
Enabled: false
61+
Description: 'The modifier does not always increase readability.'
62+
5263
Style/ClassVars:
5364
Enabled: false
5465
Description: 'There are genuine use cases for using class vars.'
@@ -62,4 +73,7 @@ Metrics/BlockLength:
6273
Layout/EmptyLinesAroundArguments:
6374
Description: 'Produces false positives when using multi-line strings with spaces.'
6475
Exclude:
65-
- 'modules/**/*'
76+
- 'lib/wpxf/modules/**/*'
77+
78+
Lint/AmbiguousRegexpLiteral:
79+
Enabled: false

.travis.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
language: ruby
22
rvm:
3-
- 2.3.7
43
- 2.4.4
54
- 2.5.1
65
before_install:
76
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
8-
- "gem install bundler"
9-
script: bundle exec rspec
7+
- gem install bundler
8+
before_script:
9+
- export WPXF_ENV=test
10+
script:
11+
- bundle exec rspec
1012
branches:
1113
except:
1214
- gh-pages

.yardopts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
--exclude lib/wpxf/net/typhoeus_helper.rb
22
--exclude lib/wpxf/net/http_options.rb
3-
--exclude payloads/socket_helper.rb
43
--exclude lib/wpxf/core.rb
4+
--exclude lib/wpxf/cli/**/*
5+
--exclude lib/wpxf/modules/**/*
6+
--exclude lib/wpxf/payloads/**/*
57

68
lib/wpxf/**/*.rb

CONTRIBUTING.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
# How to contribute
22
Contributions are always welcome, however, to keep things consistent, please review the following guidelines.
33

4+
## Setting up your environment
5+
Ensure that you have Ruby >= 2.4.4 installed on your system and then install all required dependencies by opening a command prompt / terminal in the WPXF folder and running ```bundle install```.
6+
7+
If bundler is not present on your system, you can install it by running ```gem install bundler```.
8+
49
## Update unit tests
5-
If you change a core piece of functionality (i.e. in ```lib/wpxf/*```) then ensure the corresponding unit tests in the ```spec``` folder are updated.
10+
If you change a core piece of functionality (i.e. in ```lib/*```) then ensure the corresponding unit tests in the ```spec``` folder are updated.
611

712
For more information on writing unit tests with RSpec, see https://relishapp.com/rspec
813

Gemfile

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
11
# frozen_string_literal: true
22

33
source 'https://rubygems.org'
4-
gem 'colorize', '>=0.8.1'
5-
gem 'mime-types', '>=3.1'
6-
gem 'nokogiri', '~>1.8.2'
7-
gem 'require_all', '~>2.0'
8-
gem 'rubyzip', '~>1.2.1'
9-
gem 'slop', '~>4.6.2'
10-
gem 'typhoeus', '~>1.3.0'
11-
12-
group :test do
13-
gem 'rspec', '~>3.7'
14-
end
4+
gemspec

Gemfile.lock

Lines changed: 0 additions & 48 deletions
This file was deleted.

README.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
1-
# wordpress-exploit-framework
2-
[![Build Status](https://travis-ci.org/rastating/wordpress-exploit-framework.svg?branch=master)](https://travis-ci.org/rastating/wordpress-exploit-framework) [![Maintainability](https://api.codeclimate.com/v1/badges/5414ccc4e7a1f5e38c79/maintainability)](https://codeclimate.com/github/rastating/wordpress-exploit-framework/maintainability)
1+
<p align="center"><img src="https://raw.githubusercontent.com/rastating/wordpress-exploit-framework/gh-pages/static/wordpress-exploit-framework-200px.png" /></p>
32

4-
A Ruby framework for developing and using modules which aid in the penetration testing of WordPress powered websites and systems.
3+
<h1 align="center">WordPress Exploit Framework</h1>
4+
<p align="center">
5+
<a href="https://travis-ci.org/rastating/wordpress-exploit-framework"><img src="https://travis-ci.org/rastating/wordpress-exploit-framework.svg?branch=development" alt="Build Status" height="20" /></a> <a href="https://codeclimate.com/github/rastating/wordpress-exploit-framework/maintainability"><img src="https://api.codeclimate.com/v1/badges/5414ccc4e7a1f5e38c79/maintainability" alt="Maintainability" height="20" /></a> <a href="https://coveralls.io/github/rastating/wordpress-exploit-framework?branch=development"><img src="https://coveralls.io/repos/github/rastating/wordpress-exploit-framework/badge.svg?branch=development" alt="Coverage Status" height="20" /></a> <a href="https://badge.fury.io/rb/wpxf"><img src="https://badge.fury.io/rb/wpxf@2x.png" alt="Gem Version" height="20"></a>
6+
</p>
57

6-
### What do I need to run it?
7-
Ensure that you have Ruby >= 2.4.3 installed on your system and then install all required dependencies by opening a command prompt / terminal in the WPXF folder and running ```bundle install```.
8+
<p align="center">
9+
A Ruby framework designed to aid in the penetration testing of WordPress systems.
10+
</p>
11+
12+
<hr>
13+
14+
### Installation
15+
To install the latest build of the v2 branch, run `gem install wpxf`.
816

9-
If bundler is not present on your system, you can install it by running ```gem install bundler```.
17+
After installation, you can launch the WordPress Exploit Framework console by running `wpxf`.
18+
19+
### What do I need to run it?
20+
Ruby >= 2.4.4 is required to run WordPress Exploit Framework.
1021

1122
### Troubleshooting Installation
1223
#### Debian Systems
@@ -23,16 +34,16 @@ sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
2334
```
2435

2536
#### Windows Systems
26-
If you are experiencing errors that indicate that ```libcurl.dll``` could not be loaded, you will need to ensure the latest libcurl binary is included in your Ruby bin folder, or any other folder that is in your environment's PATH variable.
37+
If you are experiencing errors that indicate that `libcurl.dll` could not be loaded, you will need to ensure the latest libcurl binary is included in your Ruby bin folder, or any other folder that is in your environment's PATH variable.
2738

28-
The latest version can be downloaded from http://curl.haxx.se/download.html. As of 16/05/2016, the latest release is marked as ```Win32 2000/XP zip 7.40.0 libcurl SSL```. After downloading the archive, extract the contents of the bin directory into your Ruby bin directory (if prompted, don't overwrite any existing DLLs).
39+
The latest version can be downloaded from http://curl.haxx.se/download.html. As of 16/05/2016, the latest release is marked as `Win32 2000/XP zip 7.40.0 libcurl SSL`. After downloading the archive, extract the contents of the bin directory into your Ruby bin directory (if prompted, don't overwrite any existing DLLs).
2940

3041
### How do I use it?
31-
Open a command prompt / terminal in the directory that you have downloaded WordPress Exploit Framework to, and start it by running ```ruby wpxf.rb```.
42+
Start the WordPress Exploit Framework console by running `wpxf`.
3243

33-
Once loaded, you'll be presented with the wpxf prompt, from here you can search for modules using the ```search``` command or load a module using the ```use``` command.
44+
Once loaded, you'll be presented with the wpxf prompt, from here you can search for modules using the `search` command or load a module using the `use` command.
3445

35-
Loading a module into your environment will allow you to set options with the ```set``` command and view information about the module using ```info```.
46+
Loading a module into your environment will allow you to set options with the `set` command and view information about the module using `info`.
3647

3748
Below is an example of how one would load the symposium_shell_upload exploit module, set the module and payload options and run the exploit against the target.
3849

@@ -81,7 +92,7 @@ Exploit modules require you to specify a payload which subsequently gets execute
8192
* **exec:** runs a shell command on the remote server and returns the output to the WPXF session.
8293
* **reverse_tcp:** uploads a script that will establish a reverse TCP shell.
8394

84-
All these payloads, with the exception of ```custom``` and the Meterpreter payloads, will delete themselves after they have been executed, to avoid leaving them lying around on the target machine after use or in the event that they are being used to establish a shell which fails.
95+
All these payloads, with the exception of `custom` and the Meterpreter payloads, will delete themselves after they have been executed, to avoid leaving them lying around on the target machine after use or in the event that they are being used to establish a shell which fails.
8596

8697
### How can I write my own modules and payloads?
8798
Guides on writing modules and payloads can be found on [The Wiki](https://github.com/rastating/wordpress-exploit-framework/wiki) and full documentation of the API can be found at http://www.getwpxf.com/.

VERSION

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)