Commit Graph

63 Commits

Author SHA1 Message Date
cktricky 144a6eed2a updated gemfile 2015-07-03 10:52:29 -04:00
Al Snow c44d047098 Upgraded 3 gems; Locked down libv8 as temp fix 2015-06-30 22:26:40 -04:00
Al Snow 26124739da Upgraded Ruby to 2.2.2 plus rebuild Gemfile.lock file 2015-06-17 15:22:24 -04:00
Al Snow 4af6cced17 Upgraded Ruby to 2.1.6; Rebuild Gemfile.lock file 2015-05-23 12:04:11 -04:00
Al Snow 9e7eb02cde Merge branch 'master' of https://github.com/OWASP/railsgoat
Conflicts:
	Gemfile.lock
2015-02-26 09:13:15 -05:00
Mike McCabe b2c8e6cf8d Merge branch 'master' of github.com:OWASP/railsgoat 2015-02-23 21:30:37 -05:00
Mike McCabe d1c7b0831d adding vulnerable gem 2015-02-23 21:29:44 -05:00
Al Snow 716a16d514 Modified Gemfile; Rebuilt Gemfile.lock file 2015-02-09 11:29:47 -05:00
cktricky 3d29293bd4 pry instead of rails c 2015-02-08 18:10:27 -05:00
Al Snow ca0526ccc9 Upgraded to Rails 4.0.13; Rebuilt Gemfile.lock file 2015-01-10 09:45:51 -05:00
Al Snow 1afe646627 Upgraded rails to 4.0.12 2014-12-28 17:30:16 -05:00
Al Snow 80e1ede02b Added Fred's Strong Parameter work 2014-12-28 17:20:39 -05:00
Al Snow feb51d077c Add changes 2014-12-28 17:05:46 -05:00
Fred Nixon ea8e9901f4 On branch strong-params
Your branch is behind 'origin/strong-params' by 1 commit, and can be fast-forwarded.

I'll pull to catch up after this commit
Change code to whitelist params
Remove attr_accessible lines
Add strong_params to Gemfile, since this branch is still on Rails 3
Mixin to ActiveRecord::Base ActiveModel::ForbiddenAttributesProtection
Use an initializer for the mixin
2014-12-05 15:04:01 -05:00
Al Snow 415229c1d3 Upgrade Rails to 3.2.21 2014-11-19 12:28:33 -05:00
Al Snow b4a1ad46c4 Upgraded Ruby to 2.1.5; Rebuilt Gemfile.lock file 2014-11-17 17:17:01 -05:00
Al Snow 33a5695d71 Upgraded to Rails 3.2.20; Rebuilt Gemfile.lock file 2014-10-30 21:26:36 -04:00
Al Snow 7694f39825 Upgraded ruby version to 2.1.3 2014-09-19 19:10:51 -04:00
Al Snow 0957033457 Upgraded to Ruby 2.1.3; Changed timeout value 2014-09-19 19:00:40 -04:00
Al Snow 1d3540dbb2 Upgraded Rails to 4.0.10 2014-09-13 14:09:46 -04:00
Al Snow 1ea0c2ddbb More Rails 4.0 upgrade changes
1. Compared existing branch with empty Rails 4.0 project and
    made changes as needed.
 2. Fix find/first warning.
 3. Fix sqlite timeout issue.
    -- config/database.yml
    -- spec/vulnerabilities/insecure_dor_spec.rb
2014-09-13 13:44:07 -04:00
Al Snow 23513cf8d2 Initial Rails 4.0.x upgrade 2014-09-07 13:00:54 -04:00
Al Snow 47095b72d0 Upgraded Rails from 3.2.11 to 3.2.19 - Step 1 of Rails 4.1.x upgrade 2014-07-29 11:43:51 -04:00
Al Snow 96af670ab5 Fix tab issue in Gemfile; Upgraded 7 gems by rebuilding Gemfile.lock file 2014-07-13 13:14:56 -04:00
Al Snow 1bea104205 New 2.1.2 branch changes for Ruby 2.1.2 upgrade 2014-06-25 13:04:14 -04:00
Al Snow 599f62f394 Removed rack-ssl from Gemfile; Rebuilt Gemfile.lock file 2014-06-05 10:08:29 -04:00
Al Snow 5c68943059 Rebuilt Gemfile.lock file; Locked down rspec-rails to 2.14.2 since rspec 3.0.0 changes 'pending' meaning 2014-06-03 10:10:13 -04:00
Al Snow 65a0f3e188 Changed bcrypt-ruby to bcrypt gem (name change; remove warning); Rebuilt Gemfile.lock file 2014-04-18 16:19:42 -04:00
Mike McCabe c0ea2c87a5 adding mysql environment for mysql sql injection tests 2014-04-17 23:03:46 -04:00
Al Snow 84a8ad5b39 Merged master into branch/clean it up/green test run 2014-04-03 21:00:58 -04:00
Al Snow cee5030047 Added rack-ssl (1.3.4) gem 2014-03-24 09:58:41 -04:00
Al Snow 0acf26379b Removed several gem numbers then refreshed Gemfile.lock file 2014-01-01 14:21:35 -05:00
mccabe615 8eb398950f Merge pull request #76 from jamesejr/feature/user_mailer
Implement Forgot Password Feature
2013-12-11 09:19:42 -08:00
James Espinosa 0318205ecb Add MailCatcher for SMTP support to Gemfile 2013-12-10 22:07:05 -06:00
Al Snow 880ede5574 Rebuilt Gemfile.lock file (i18n, listen) 2013-12-03 16:46:03 -05:00
Mike McCabe 0075ca7a9c lowering rack version for dos 2013-11-14 12:32:53 -05:00
Mike McCabe 52f1ac3c78 bringing the rails and rack version down for A9 2013-11-13 11:46:42 -05:00
Al Snow 94d4410528 1. Changed 1.9.3 to 2.0.0 in .rvmrc, .travis.yml, Gemfile, README.md.
2. Rebuilt Gemfile.lock file.
3. Changed "@@" (class var) to "$" (global var) in spec/support/capybara_shared.rb
2013-10-28 19:32:59 -04:00
Al Snow 203a7a244f Added simplecov gem code changes 2013-10-23 10:29:20 -04:00
Al Snow 8fd7975b6c Added blank line to Gemfile to match parent repo 2013-10-23 10:03:06 -04:00
Al Snow 10373b3294 Undid stuff for cov and 2.0.0; 1 failed spec 2013-10-23 10:01:14 -04:00
Al Snow f8ab8c320c Upgraded Ruby to 2.0.0. 2013-10-20 11:59:23 -04:00
Al Snow 45cac913ff Upgraded Rails from 3.2.13 to 3.2.15. Removed unneeded "~>" gem numbers in Gemfile. 2013-10-20 10:42:30 -04:00
Mike McCabe 5177e60669 adding better errors gem 2013-10-11 16:03:36 -04:00
Mike McCabe a93159c9f2 adding launchy 2013-10-09 11:07:13 -04:00
Mike McCabe 19ee423d8d pinning dbcleaner to lower version due to https://github.com/bmabey/database_cleaner/issues/224 2013-10-07 15:23:37 -04:00
chrismo df9efa915b Capybara added to demonstrate vulnerabilities.
Adding Capybara to verify replay-ability of hacking vulnerabilities. I
imagine these may want to be kept on a different branch for QA and
educational purposes, but not distributed with master when forked.

This commit also includes demonstrating the SQL Injection vulnerability.
2013-09-27 10:35:59 -05:00
Ken Johnson fec458f1a7 Merge pull request #45 from chrismo/users_controller_change
Fixed logic to strip out user params.
2013-09-27 07:34:24 -07:00
Chris Morris 20420be1a6 Fixed logic to strip out user params.
Disclaimer: changes like these in this sort of app are tricky because
it's harder to presume the intention of the code in question.

The prior line:

```
user.update_attributes(params[:user].reject { |k| k == ("password" || "password_confirmation") || "user_id" })
```

returns an empty hash, because of the way the block evaluates:

```
irb(main):002:0> k = 'foo'
=> "foo"
irb(main):003:0> k == ("password" || "password_confirmation") || "user_id"
=> "user_id"
```

Before the last change to that line, without 'user_id' outside the
params, it didn't evaluate properly either:

```
irb(main):007:0> k = 'password_confirmation'
=> "password_confirmation"
irb(main):008:0> k == ("password" || "password_confirmation")
=> false
irb(main):009:0> ("password" || "password_confirmation")
=> "password"
```

So, in the normal use case for this form, you can't update any other
attribute of the User. To me, that's probably the best argument for
making this change, but it does simplify the SQL Injection attack
(although perhaps the prior complication was intended).

Before this change, injecting conditional SQL into the user_id param in
the account_settings update call would allow the password of whatever
account is found (e.g. the first one if injecting 'OR 1=1') to be reset,
but without additional attacks, the email address of that account is not
known.

After this change, the email address of that account now is also updated
in addition to the password, making it simpler to get in as an admin --
though you're still presuming the first account to be an admin.
2013-09-25 16:56:34 -05:00
Michael McCabe 9638d8137b travis fix 2013-09-10 10:02:11 -04:00