You are here: Re: Another form of SQL injection « PHP Programming Language « IT news, forums, messages
Re: Another form of SQL injection

Posted by Chung Leong on 10/17/53 11:49

frizzle wrote:
> Chung Leong wrote:
> > howachen@gmail.com wrote:
> > > Hi,
> > >
> > > In many web articles, people focusing on SQL injection in the form of :
> > >
> > >
> > > e.g.
> > > /**********************************************************/
> > > $name = "tom' UNION blah blah blah"
> > > $query = "SELECT * FROM users WHERE name = '".$name."';
> > > /**********************************************************/
> > >
> > > However, another form of SQL injection might in the form of...
> > >
> > > /**********************************************************/
> > > $name = "1 UNION blah blah blah"
> > > $query = "SELECT * FROM users WHERE id = ".$name;
> > > /**********************************************************/
> > >
> > > for case 1, we can easily solved by escaping the special characters
> > > like " ' ", but how to solve for case 2?
> > >
> > > Thanks.
> >
> > Yeah, that's something that's often overlooked. What you want to do is
> > cast the variable to integer. PHP will convert a string that's not a
> > number into zero, an attempt at SQL injection would yield an no-op.
> >
> > Also keep an eye out for IN constructs:
> >
> > $sql = "SELECT * FROM users WHERE id IN (" . implode(',',
> > $_POST['checkboxes']) .")";
> >
> > An easy way to prevent injection in this case is to use a intval() on
> > every element with the help of array_map().
>
> but what i forgot is to enclose the variable part of the query (WHERE
> clause) within those single quotation marks. That should have it treat
> is as a string ...
>
> Frizzle.

Well, if it's meant to be a string, then it wouldn't have worked in the
first place. If a variable is supposed to be a number, then casting it
to int prevents it from being something else.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация