Commit Graph

71 Commits

Author SHA1 Message Date
Dane Everitt 2290118a0d Apply fixes from StyleCI (#293) 2017-02-12 15:17:14 -05:00
Dane Everitt a93adce303
Only allow up to 30 seconds of overlap on comparing the 2FA tokens. 2017-02-01 23:02:54 -05:00
Dane Everitt 4abdee0efb
Better 2FA implementation on logins 2017-02-01 22:58:48 -05:00
Dane Everitt bf7b58470a
Update copyright headers 2017-01-24 17:57:08 -05:00
Dane Everitt c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Dane Everitt 659c33f0e8
Fixes a bug that allows a user to bypass 2FA authentication requirements
This bug was reported to us by a user (@Ferry#1704) on Discord on
Monday, November 7th, 2016.

It was disclosed that it was possible to bypass the 2FA checkpoint by
clicking outside of the modal which would prompt the modal to close,
but not submit the form. The user could then press the login button
which would trigger an error. Due to this error being triggered the
authentication attempt was not cancelled. On the next page load the
application recognized the user as logged in and continued on to the
panel.

At no time was it possible to login without using the correct email
address and password.

As a result of this bug we have re-factored the Authentication code for
logins to address the persistent session. Previously accounts were
manually logged back out on 2FA failure. However, as this bug
demonstrated, causing a fatal error in the code would prevent the
logout code from firing, thus preserving their session state.

This commit modifies the code to use a non-persistent login to handle
2FA checking. In order for the session to be saved the application must
complete all portions of the login without any errors, at which point
the user is persistently authenticated using Auth::login().

This resolves the ability to cause an exception and bypass 2FA
verification.
2016-11-07 15:55:57 -05:00
Dane Everitt 48994c1354
Fix the other user bug... 2016-11-04 21:50:47 -04:00
Jakob e65dc5708d Validate password on reset according to rules (#158)
* move password rules to Models\User::PASSWORD_RULES

* validate new password according to rules on password reset

* add password requirements info to auth.passwords.reset view
2016-10-30 16:02:39 -04:00
Dane Everitt b3ca8a3732 Fix password reset redirection path 2016-09-04 19:08:46 -04:00
Dane Everitt afb5011fbe Update to Laravel 5.3
[BREAKING] — REMOVES REMOTE API

A new API will need to be implemented properly using the new Laravel
Passport OAuth2 system. DingoAPI was becoming too unstable and
development wasn’t really moving along enough to continue to rely on it.
2016-09-03 17:09:00 -04:00
Dane Everitt 40c68a5391 Add title to copyright 2016-01-20 16:05:16 -05:00
Dane Everitt 026df6a36f Relicense project under MIT
Permission obtained from @DDynamic. Contributions from other users were
removed since we did not obtain permission from them for the re-license.

From this point forward all contributors must have a signed Contributor
License Agreement on file.
2016-01-20 15:56:40 -05:00
Dane Everitt b0bcb879d0 Add license details to add app files. 2016-01-19 19:10:39 -05:00
Dane Everitt 861af87e93 Fix password reset system 2016-01-16 21:57:10 -05:00
Dane Everitt a3eb4b7dc4 Update to Laravel 5.2 2016-01-11 22:04:11 -05:00
Dane Everitt 4ae8a45ed3 Clean up routes and middleware checking 2016-01-04 16:09:39 -05:00
Dane Everitt 5955b1453c Fix authentication handler
Check email & password before token to handle case where email is
invalid.
2015-12-13 21:30:57 -05:00
Dane Everitt 288ee1a258 Improved TOTp handling in login.
Cleaned up the code a bit, also checks TOTP before attemping to verify
user.

This addresses the potential for an attacker to try at a password
and/or confirm that the password is correct unless they have a valid
TOTP code for the request. A failed TOTP response will trigger a
throttle count on the login as well.
2015-12-10 21:58:17 -05:00
BlameDylan 4585753d04 Implement Two-factor authentication 2015-12-10 19:40:59 -06:00
BlameDylan 2d57772528 Migrate ability to reset passwords 2015-12-08 18:28:49 -06:00
Dane Everitt 1489f7a694 Initial Commit of Files
PufferPanel v0.9 (Laravel) is now Pterodactyl 1.0
2015-12-06 13:58:49 -05:00