Commit Graph

160 Commits (1e0a78db3002e267b2bb7c74a3144af01e9fc800)

Author SHA1 Message Date
Jordan Wright 1dbf061d87 Implement the ability to complete a campaign. Fixes #290.
First implementation of new alert format.
2016-07-11 22:11:40 -05:00
Rob Cutmore 92f4ca6a90 Add empty attribute test for PutGroup
If passing a Target instance to the database Updates method then
empty attributes will be ignored. Using a map[string]interface
ensures all changed attributes, even empty ones, are persisted to
database.
2016-07-04 06:39:38 -04:00
Rob Cutmore 731c621095 Add test for PutGroup function 2016-07-02 18:22:44 -04:00
Rob Cutmore ec1c711b9b Allow group targets to be updated, fixes #18 2016-07-02 08:01:24 -04:00
Rob Cutmore 34021d9e3a Update comments for PutGroup function 2016-06-26 09:31:03 -04:00
Jordan Wright c5d6792bba Added /campaigns/:id/results endpoint to return campaign summary and make results page much quicker.
Fixes 282.
2016-06-07 22:31:55 -05:00
Jordan Wright 082023aae0 Adding the ability to schedule campaigns. Fixes #21 2016-06-07 21:42:09 -05:00
Jordan Wright 1933eb7ff1 Adding better error handling for SMTP server
JSBeautify sending_profiles.js
2016-05-30 14:53:32 -05:00
Jordan Wright 83a17e8c2d Added early catching of invalid template values. Fixes #193 2016-04-02 18:33:25 -05:00
Jordan Wright 776e54c856 Updated GetCampaign(s) to fail gracefully if certain attributes have since been deleted. Fixes #197 2016-03-23 23:41:17 -05:00
Jordan Wright 52b9eda3b2 Added support for redirect URL's after creds are submitted. Fixes #210 2016-03-18 20:19:13 -05:00
Jordan Wright d43a888b26 Updating gorm constructs to support gorm v1.0 released yesterday. 2016-03-08 22:37:55 -06:00
Jordan Wright 625f4f8dc0 Ignoring error for no sending profile found. Fixes #189 2016-03-03 18:47:10 -06:00
Jordan Wright 6b61b24f68 Merge branch 'master' into 78-store-smtp-settings
# Conflicts:
#	models/models_test.go
#	static/js/app/landing_pages.js
2016-02-28 22:08:39 -06:00
William Woodson abec9adfba Return an SMTP object via GET /campaigns 2016-02-27 21:12:18 -06:00
William Woodson 7ca63f55be gofmt, because that is a thing 2016-02-27 08:37:02 -06:00
William Woodson 80fc04924d Added handling to /util/send_test_email to use default on empty template and accept a validated SMTP object from send test email workflow on sending profiles page 2016-02-27 08:32:10 -06:00
Jordan Wright b0dd96d088 Merge branch 'master' into 124-capture-passwords 2016-02-25 20:02:15 -06:00
Jordan Wright 44fa8127fc Adding the ability to capture submitted data via the UI. Fixes #124 2016-02-25 19:58:49 -06:00
Jordan Wright af76603949 Adding tests 2016-02-25 19:58:02 -06:00
Jordan Wright 78203ad208 Added tests for SMTP 2016-02-21 22:13:06 -06:00
Jordan Wright d1de466cc9 Validating on PUT
Added check for parsing the FromAddress on Validate()
2016-02-21 22:12:47 -06:00
Jordan Wright 7bf2c00356 gofmt'ing 2016-02-21 21:09:14 -06:00
William Woodson 9818410fcf Updated campaign creation and send_test_email to use settings from sending profile 2016-02-21 12:05:40 -06:00
William Woodson 5b89fb04eb Fixing issues in SMTP model and db schema. Add interface_type to support future sending interfaces beyond SMTP. 2016-02-21 09:46:25 -06:00
William Woodson dde2312183 Updated smtp model and api to support managing SMTP objects as independent entities 2016-02-20 21:08:52 -06:00
Jordan Wright bf55c03fc9 Adding position attribute for models.Result. Fixes #163. 2016-02-17 21:25:06 -06:00
Jordan Wright 3f08c160ec Added ability to have "{{.From}}" in sending a test email. Fixes #162 2016-02-17 21:09:19 -06:00
Jordan Wright 1fe1af2ce9 Fixing bug that doesn't allow attachments to be created. Fixes #151 2016-02-15 11:58:14 -06:00
Jordan Wright 1e3a02673c Attachments are now fetched on GetTemplateByName
Attachments are now attached to emails (whoops!)
2016-02-12 22:19:59 -06:00
Jordan Wright bbe97f5602 Working on ignoring certs 2016-02-11 12:53:00 -06:00
Jordan Wright a0a8a7b8ad Merge pull request #123 from gophish/61-record-browser-post
Capture Credentials Sent via POST
2016-02-02 22:54:42 -06:00
Jordan Wright ce8a9e5456 Changed status of new targets to "Sending" instead of "Unknown". Fixes #112 2016-02-01 20:42:46 -06:00
Jordan Wright bf86356fde Validating SMTP Conf. Fixes #111 2016-02-01 18:36:59 -06:00
Jordan Wright 94e43fe557 Initial commit - adding db migration as well as the logic to add the payload 2016-01-31 19:50:41 -06:00
Jordan Wright 17e81e6caa Added event on sending email error. Fixes #99 2016-01-29 12:34:29 -06:00
Jordan Wright 32aaa15da7 Added documentation for multiple endpoints. Fixes #54 2016-01-24 20:47:16 -06:00
Jordan Wright e4d6e68147 Added ability to send a test email before launching a campaign 2016-01-24 20:03:53 -06:00
Jordan Wright 379edf73a3 Adding first round of database migrations using goose 2016-01-18 21:13:32 -06:00
Jordan Wright 1d8ac6f9f3 Added better logging for campaign retrieval 2016-01-16 23:51:01 -06:00
Jordan Wright 25a7a32003 Added test for #60 2016-01-12 20:52:13 -06:00
Jordan Wright fc6d556742 Caused API key to be generated dynamically for admin user. Fixes #60 2016-01-12 20:46:17 -06:00
William Woodson 3a0fa4f93f Update bcrypt dependency and code moved to gophish group 2016-01-10 11:04:03 -06:00
Jordan Wright c6cd018536 Added IP, Lat and Lon to models.Result. Closes #47
Added basic mapping on campaign results. Closes #51
2016-01-04 00:04:10 -06:00
Jordan Wright 8141393480 Fixed page editing. Fixes #44 2015-10-23 18:35:42 -05:00
Jordan Wright 68b39cf6a3 Temporarily removing campaign.Errors until I can find a better way to handle it. 2015-10-22 22:32:43 -05:00
Jordan Wright 01c3da611b PhishHandler now loads landing page content. Fixes #37
Now supports autocomplete for modal typeahead. Fixes #40
Users can now specify landing pages in campaigns. Fixes #39
Implemented "Email Opened" status. Fixes #38
2015-10-22 22:29:10 -05:00
Jordan Wright b574fb2741 Implemented campaign.URL. Fixed #32
Implemented {{.From}}. Fixed #36
2015-10-22 19:54:01 -05:00
Jordan Wright 3bbd6b7ca1 Fixing labels on dashboard
Added "Emails Sent" campaign status
2015-09-27 22:25:38 -05:00
Jordan Wright abafb02586 Fixed issue where database wasn't getting created properly on Linux distros. 2015-08-28 18:27:49 -05:00
unknown 821e31164c Removed testing code 2015-08-15 15:30:12 -05:00
unknown 5756e950ab With in-memory db, no need to delete. 2015-08-15 04:36:50 -05:00
unknown fa21fec437 Let's try the :memory: db for testing 2015-08-15 04:34:41 -05:00
unknown 8bea79dcae More testing of travis-ci.. 2015-08-14 22:11:38 -05:00
unknown 93c6e447c7 Testing for travis-ci.. for some reason, the db isn't getting created. 2015-08-14 21:38:05 -05:00
unknown eacb4ddfd4 Fixed /users endpoint to now have the following functionality:
- Edit
- Delete
Also added group validation on PUT /api/groups/:id
2015-08-05 00:23:05 -05:00
unknown 0b73d5f6ee Can now use Position in CSV import.
Added Position attribute to Target model.
Fixes #17
2015-02-21 11:36:08 -06:00
unknown be9064f718 Added ability to delete campaign from campaign results - needs some cleanup, but it works 2015-02-21 01:27:32 -06:00
unknown 66dbe2e799 Cleaned up error messages - *all* errors in JSON format
Cleaned up flashes - fixes #13
Added specified errors - more to come soon
Added Campaign validation
Added Group validation
Cleaned up the way angular errors are handled. Will double check, but for the most part fixes #11
Results are now shown on the webui with most recent shown first
Added comments, additional cleanup, etc.
2015-02-21 00:11:22 -06:00
unknown ab8dfc8bb3 Fixed #14 2015-02-17 22:53:19 -06:00
unknown 73e395cfe0 - Cleanup up flash messages for templates. Will fix for everything else later.
- Also fixed #5 with the help from CKEditor devs (duplicate ticket found)
2015-02-17 20:49:09 -06:00
unknown cb081f4a17 Can now add files to a previously created template that didn't have files to begin with
Fixes #8
2015-02-13 20:17:25 -06:00
unknown f21d40d77a Registration works again.
Additional cleanup, removing unused code
2015-02-07 17:30:22 -06:00
unknown 669d96d279 More work implementing pages.
More cleanup - changing *all* API errors to be returned via JSON
Fixed bug where /api/pages/ was not csrf exempt
Changed db column/table names to be more user friendly in the case of acronyms (Id, SMTP, etc.)
2015-02-07 14:31:41 -06:00
unknown c8be0ddb74 Still working on pages integration. Added skeleton for page HTML previewing in a new browser.
Additional cleanup, documentation
Changed return values for /api/templates and /api/pages to return empty array [] if no results (like /api/campaigns was already doing)
2015-02-07 10:41:53 -06:00
unknown c318424ac0 Starting to integrate landing page functionality (still not working).
Also did some minor cleanup.
2015-02-06 20:24:10 -06:00
Jordan 33b9ec2196 Bug fixes on PUT /api/template
Hotfix for buffer issue in worker.go.. going to find out the root cause and fix it properly
2014-08-07 05:48:52 -05:00
Jordan 86dca67a5a Finished implementing PUT /templates/:id
Now deleting events on campaign deletion
Added some minor UI fixes and changes
2014-07-23 21:04:38 -05:00
Jordan 83ab6ffb52 Working on adding support for template file attachments 2014-07-12 13:46:38 -05:00
Jordan cc2ae713e5 Made models more consistent
Added UserId field to result (for use in looking up campaign when result is clicked)
2014-07-06 21:34:02 -05:00
Jordan ad3e69e6ae Fixed PUT /api/template/:id - Works now! 2014-07-06 13:06:18 -05:00
Jordan 02c7c4b5b1 Moved models.Result into its own file
Added initial dashboard template (some updates and changes will be needed)
Added some documentation
2014-07-01 20:32:34 -05:00
Jordan f3ddb7074a api/campaigns now also gets the Events and Template for the campaign(s)
Added templating functionality (TODO: Put the logic in a function to reduce boilerplate)
2014-06-26 19:55:56 -05:00
Jordan 49da412538 Adding handling for campaign events
Cleaned up user import button
Cleaning up modal interfacing
Added ability to set result status
2014-06-25 21:01:01 -05:00
Jordan efec86ae56 Added util package for handling misc. tasks
Added basic (*not finished*) functionality for handling bulk user insert
2014-06-21 21:06:16 -05:00
Jordan 01901c9008 Decoupling campaign.go a bit
Added #!/campaigns route so that #!/ can be used for a dashboard in the future
2014-06-21 12:19:49 -05:00
Jordan a1b6218473 Refined models
Added *basic* worker functionality - emails get sent now! woo hoo!
2014-06-04 23:54:46 -05:00
Jordan db24496fb0 Adding logic to handle getting the template for a campaign
Added SMTP Model
Added better flash support in controllers.js
Added SMTP Options accordion in campaign modal
2014-06-03 13:27:20 -05:00
Jordan 0c1d82ad46 Whitespace fixing
Added template validate() function
2014-06-02 01:57:04 -05:00
Jordan 96cefc4931 Cleaned up possible (very unlikely?) permission issue
Better logging in controllers module
DRY changes to API
Added Data attribute to models.Response struct
Added GetTemplateByName (will be used in filling out campaign)
Changed modal to be 800px on large screens for better previews
2014-06-01 23:38:21 -05:00
Jordan 31aa5614a0 Moving JSON Responses to a standard Response object
Added cursor:pointer styling to dropdown menus
2014-06-01 22:30:23 -05:00
Jordan 851ba9de30 Fixed double insertion of results when worker handles campaign (looks like a bug in gorm)
Removed handy abbreviation due to latest commit in gorm (this is why we can't have nice things :smile)
2014-05-28 22:20:58 -05:00
Jordan 25cbaf92ce Changed templates to have a 1-1 relationship with user (will implement sharing differently later)
Working on implementing /api/template/:id methods
Removed API_Campaigns_Id_Launch method (will just POST using template from angularjs scope later)
2014-05-28 18:48:30 -05:00
Jordan 023d0207a8 Fixed bug in deleting campaign 2014-05-27 16:13:30 -05:00
Jordan 8c1bb58fe2 Added validation for campaigns... I'm considering making everything branch off of a Model Interface with Get(), Put(), Post(), and Delete(), etc. Might make things cleaner.
Added better error messages on the UI side
2014-03-28 00:21:42 -05:00
Jordan 7c50f4dbb4 Initial commit of worker.go (Still work to do)
Moved constants to models.go
Changed Campaign.Template to be an actual template (will need to adjust all the methods to handle it)
Added UpdateCampaignStatus function to update a campaign status
2014-03-27 23:31:51 -05:00
Jordan f0e7ac46c8 Integrated gorm with templates - Gorm integration complete
Updated groups to belong to one user. I may make a Team and TeamGroups, and TeamUsers m2m relationships later.
Added another test - more on the way soon.
2014-03-27 13:19:57 -05:00
Jordan cb9c405f46 Added better testing with gocheck
Fixed some typos leading to syntax errors
TODO: Finish up gorm integration into templates
2014-03-26 21:42:07 -05:00
Jordan 776f591f68 Cleaned up old gorp code
Bug fix in settings template
2014-03-26 15:01:49 -05:00
Jordan 5740ee3273 Fixed bug in POSTing campaign
Removed gorp initialization code from models.go
2014-03-26 14:50:16 -05:00
Jordan 6e5361b210 Continuing gorm integration
Todo:
Templates
2014-03-26 14:32:48 -05:00
Jordan e137126a90 Working on gorm integration
TODO:
[ ] Finish up groups (many-to-many with group_targets)
[ ] Convert Template models
2014-03-25 23:53:51 -05:00
Jordan 92af237258 Changed the init to Setup() for better control over DB creation 2014-03-24 22:38:59 -05:00
Jordan 584d7dbc23 Major refactoring - modularized models into separate files. Removed db package (moved to models)
I will be looking to migrate to gorm (instead of gorp) soon!
2014-03-24 22:31:33 -05:00
Jordan b3e411c54c Adding DB table for template attachments (coming soon)
Cleanup API docs for campaigns
Added "omitempty" for Campaign model
2014-03-18 18:08:17 -05:00
Jordan 9b94971a1d Implementing Template API calls (todo: PUT, DELETE)
Cleaning up documentation for templates
Bugfix for DB Tables
2014-03-16 22:18:48 -05:00
Jordan 3f30d08bf5 Working on implementing templates 2014-03-16 22:02:06 -05:00
Jordan 1e52267bfa Added ability to create campaigns
Need to improve GetCampaign() and GetCampaigns() to include Results and Groups
2014-02-18 14:22:16 -06:00
Jordan 0bb9dc186c Finished implementing first version of GET, POST /api/groups 2014-02-04 21:53:11 -06:00
Jordan fb6cdb5caf Implementing /api/groups functionality. POST is almost working :) 2014-02-04 21:08:09 -06:00