| 
 Posted by Andy Hassall on 01/19/06 22:33 
On 19 Jan 2006 20:17:02 GMT, Pedro Graca <hexkid@dodgeit.com> wrote: 
 
>    $sql = "update user_table set validated=1 where code='{$_GET['code']}'"; 
 
 I'm sure you know better than to do this :-) SQL injection ahoy - remember to 
escape appropriately, or use a library that implements (or at least emulates) 
placeholders. 
 
 This is actually quite a good demonstration of SQL injection risks; you could 
call the script as: 
 
    validate.php?code='+or+'a'%3d'a 
 
 ... and it'll set validated=1 without the right code, as you end up with the 
SQL as: 
 
    update user_table set validated=1 where code='' or 'a'='a' 
 
--  
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk 
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
 
  
Navigation:
[Reply to this message] 
 |