Hello,

I have a cakephp site I'm working on. I have it live on a production
server, it's still in development.

I switched my core.php from production to development to do some
testing of things on the live server and forgot to change it back. I
left it like this for about a week.

Apparently someone smart found the website. They didn't do any damage
they just kind of let me know I had a bug somewhere.

They were somehow able to bypass my model validation and register
themselves with a NULL username and password and marked themselves as
a premium member which can only be done via a paypal payment using web
tech nicks paypal plugin. They did this 4 times set username, email,
password fields in the DB to NULL and marked themselves as a premium
member giving them paid services for free.

 I'm wondering if while I left the core.php in development mode they
got DB access somehow and that's how they did it?

Here's my basic user validation which ensures a username and valid
password and confirmation as well as username uniqueness:

'username'=>array(
      'Not Empty'=>array(
        'rule'=>'notEmpty',
        'message'=>'Please enter your desired username.'
      ),
      'Username 4 length'=>array(
        'rule'=>array('minLength', 4),
        'message'=>array('Username must be at least 4 characters in
length')
      ),
      'Username can only be alphanumeric'=>array(
        'rule'=>'alphaNumeric',
        'message'=>'Username can only be letters and numbers.'
      ),
      'Must be unique'=>array(
        'rule'=>'isUnique',
        'message'=>'That username is taken, try another.'
      )
    ),
    'email'=>array(
      'Not empty'=>array(
        'rule'=>'notEmpty',
        'message'=>'Please enter your email address.'
      ),
      'Valid email'=>array(
        'rule'=>'email',
        'message'=>'This is not a valid email address.'
      ),
      'Must be unique'=>array(
        'rule'=>'isUnique',
        'message'=>'That email address is already taken.'
      )
    ),
    'password'=>array(
      'Minimum 6 length'=>array(
        'rule'=>array('minLength', 6),
        'message'=>'Password must be at least 6 characters in length.'
      ),
      'Passwords must match'=>array(
        'rule'=>'matchPasswords',
        'message'=>'The passwords do not match.'
      )
    ),
    'ToS'=>array(
        'rule'=>'/1/',
        'message'=>'You must agree to the terms of service.'
    )


Is there any other way they could have gotten around my model
validations? Or did they DB access because I left my core.php in
development?

Thanks.

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to