Commit Graph

184 Commits (0558da90fe9902e1ac3dd4f587bed95e7f8d992d)

Author SHA1 Message Date
Shuhei Kitagawa 405bc5effe Refactor GetUserByUsername method not to suppress an error (#920)
Also adding some other tests for the User models.
2018-01-11 18:37:38 -06:00
Shuhei Kitagawa db19f0ac2a Remove redundant return nil statement in user.go (#921)
Removing some redundant statements in user.go.
Adding test cases for user models.
2018-01-11 18:11:57 -06:00
Jordan Wright 44154f3bf0 Removing duplicates in campaigns. Fixes #855 2017-12-11 22:12:17 -06:00
Jordan Wright 76ece15b71
Email refactoring (#878)
The initial pass at refactoring the way we send emails.
2017-12-09 15:42:07 -06:00
Jordan Wright e785af5c0a Disabled turboThreshold to allow campaign timeline renders for campaigns with > 1k events. Fixes #765
Moved datatables `draw()` functions to the end of a table render, rather than on every row
2017-09-26 21:29:15 -05:00
Jordan Wright 58a57589bd Updates all datetimes to use UTC on the backend. This includes a DB migration to convert existing dates.
Fixes #316
2017-08-28 22:48:49 -05:00
Jordan Wright 75600f5812 Moved all charts from Chartist to Highcharts. Closes #680. 2017-08-05 21:12:44 -05:00
Jordan Wright 269568148e Phishing emails are now sent in "First Last <email@domain.com>" format. 2017-06-16 22:21:08 -05:00
Jordan Wright b6653d5c94 Checks for input password fields are now case insensitive. Fixes #613 2017-05-26 20:18:51 -05:00
Jordan Wright 66c4be3d4f Adding support for custom headers in sending profiles (#544)
Closes #215 
Closes #128
2017-02-19 18:43:08 -06:00
Jordan Wright ea7bb04156 Changed result ID's to be 7 random alphanumeric characters. Fixes #518 2017-01-27 21:16:47 -06:00
Jordan Wright 7453fd3b48 Added summary routes for groups.
Routes:
/api/groups/summary
/api/groups/:id/summary

The UI is now using these routes for the "Users & Groups" page.
2017-01-14 17:26:04 -06:00
Jordan Wright 8738ebbb35 Added campaign summary routes:
/api/campaigns/summary
/api/campaigns/:id/summary

This is part of #505
2017-01-05 21:48:54 -06:00
Jordan Wright f12af50d46 Adding support for Mysql (#442)
Thanks, @svigne1!

Fixes #53
2016-11-19 10:37:22 -06:00
Jordan Wright 43cbc1d65f Fixed issue with incomplete campaign creation with large user counts. Fixes #436. Fixes #368 2016-11-18 22:01:38 -06:00
s vignesh bf71082953 Correction in Generate Rid (#424) 2016-11-13 19:40:06 -06:00
Jordan Wright b00e6746d5 Potential fix for database locking issue. Fixes #331 2016-08-02 23:28:22 -05:00
Jordan Wright b403e97eee Cleaning up some email sending bugs. Fixes #329 2016-08-02 23:18:53 -05:00
Rob Cutmore 2d4a755c2c Check for specific error in group tests 2016-07-18 18:47:28 -04:00
Rob Cutmore f9a15cfe3d Add more tests for getting group(s) 2016-07-16 08:38:27 -04:00
Rob Cutmore 3a9bc91415 Add tests for getting group(s) 2016-07-16 07:53:56 -04:00
Rob Cutmore b5b0f0ddf8 Use generic names for Group tests 2016-07-15 07:37:16 -04:00
Rob Cutmore bc678878e2 Put User tests together 2016-07-15 07:31:44 -04:00
Rob Cutmore e028806b5a Add cleanup between tests for models 2016-07-15 07:28:11 -04:00
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