Re: [Security-Discuss] Possible PHP hole in Perl?

Ronald Ip <myself-zSWdYiJ/+5RWk0Htik3J/[email protected]>
Newsgroups gmane.linux.mandrake.security.general
Message-ID <1087319841.24013.6.camel@localhost>
On Tue, 2004-06-15 at 08:48, Matt Parker wrote:
> On Tue, 2004-06-15 at 01:21, Bob [email protected] wrote:
> > Hello Ronald,
> > 
> > At least in Mdk 8.2 and up, if you installed Apache and Apache-mod_perl, the Apache-mod_perl would 
> > answer on port 8200.  I've got an app that runs in perl, and it runs much faster under the apache 
> > mod_perl server.  Good stuff.
> > 
> > Now here's the problem: let's say you have a php file that accesses a database.  Within the php 
> > file, you put the username/password for the database.  Normally, a user would never see this code, 
> > as it is executed by the php processor called from Apache.  Let's say your file is called test.php. 
> >   So if you browse: http://yourserver/test.php, you'll see the rendered page.  However, if you 
> > browse http://yourserver:8200/test.php, it triggers a download of the actual (unrendered) php file, 
> > comments and all.  Normally, one would not try to access a php file via the apache mod_perl, but I 
> > just tried doing it on a bunch of machines here, and it does the above on all of them.
> > 
> > This could be a huge security leak.  I know at least for my scripts, it will reveal sql passwords, 
> > and certain file paths.
> > 
> > For now, I've disabled the port 8200 on those sites.  But there must be some simple fix.
> > 
> > Bob
> 
> I'm a Java programmer rather than a PHP programmer, but if you're
> putting sensitive information in your scripts then you are doing
> something badly wrong. I would consider it a security hole just to have
> it in there. 
> 

True; but many are lazy or just find it too troublesome or inconvenient.

> Say for example your set-up was working perfectly, but then a new
> exploit was found and before you had time to patch, someone got the raw
> script file. The damage is twice as bad if usernames/passwords are in
> there.
> 
Agree.

> I don't know what alternative there is in PHP, but in Java you can put
> that stuff in a config file that is not available in the normal download
> path and it is encrypted in there as well.
> 

It's possible for PHP too. Just ensure that the file, e.g. pass.php is
not in the Apache doc root, /var/php_secret/, but accessible to the user
apache.
Then, you can do a require_once("/var/php_secret/pass.php");

But still, if you have other weak php scripts which allow shell_exec();
by remote users, you'd better do something about it.

Ronald
--
Ronald Ip                              myself-zSWdYiJ/+5RWk0Htik3J/[email protected]
gpg public key @ http://iphoting.iphoting.com/iphoting.asc
Fingerprint: {6A7E AB1E A822 E621 4DEC 11C4 F355 0635 71D7 1151}
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBAzy8g81UGNXHXEVERArOSAJ9ajl1gR95nYGFyjt87tvdtCk2pUQCdFzU2
bek7DoXYWft4CY2iUB/1yLM=
=qbRA
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.