Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security Pen-Test
[Top] [All Lists]

Re: Magic Quotes question

Subject: Re: Magic Quotes question
Date: Fri, 19 Jan 2007 03:02:46 -0800
On Jan 16, 2007, at 11:10 PM, DokFLeed wrote:
Hi,
I posted this earlier to webappsec@securityfocus.com with no luck ,
does anyone know how to bypass magic quotes? a proven working way .

stripslashes(). :-)

It's fairly easy to get a developer to put stripslashes() on a website too, if one just slowly adds posts that seem like they can be tracked back to magic quotes... "I\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \'m having problems...."

This is why magic quotes/slashes was getting turned off all over the place..... excessive escaping before db inserts, as variable values were passed from page to page.

Well, that, and the escaping wasn't data-engine specific. Some data engines use \', others use '', others need no ' escaping, and since many modern db engines can use *any* delimiter, for any language, "magic quotes" was simply the wrong level to apply data filtering at.

example is, in such a simple SQL like
"SELECT * from USERS WHERE id =$id";
I am looking for ways to by pass magic quotes to inject this
INTO OUTFILE '/home/z.php'

INTO OUTFILE %/home/z.php% works, if "%" is the field delimiting character being used. Magic quotes totally fails in that scenario.


point is, if magic quotes can stop this, so why is it going to be removed in php6? it can simply stay and be activated or deactivated on will.

It was a great idea, in a much less complex world.

and if there is a way to by pass, I want to include it in my check GET/POST inputs.

Any character can be used, by many db engines, as a delimiter. It is bad programming practice to assume that *any* bulk filtering mechanism will work, so your GET/POST idea is flawed.


The problem is not magic quotes.
The problem is not replacing magic quotes.

The problem *is* validating each piece of data received, and dealing with it in an appropriate manner, regardless of the db engine used, charset used, delimiters used.

-Ronabop

------------------------------------------------------------------------
This List Sponsored by: Cenzic

Need to secure your web apps?
Cenzic Hailstorm finds vulnerabilities fast.
Click the link to buy it, try it or download Hailstorm for FREE.

http://www.cenzic.com/products_services/download_hailstorm.php?camp=701600000008bOW
------------------------------------------------------------------------

<Prev in Thread] Current Thread [Next in Thread>