Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

cvs: phpweb / index.php
derick		Fri Dec 31 08:37:29 2004 EDT

Modified files:
/phpweb	index.php
Log:
- Add security statement


http://cvs.php.net/diff.php/phpweb/...5&r2=1.656&ty=u
Index: phpweb/index.php
diff -u phpweb/index.php:1.655 phpweb/index.php:1.656
--- phpweb/index.php:1.655	Tue Dec 28 17:20:35 2004
+++ phpweb/index.php	Fri Dec 31 08:37:28 2004
@@ -145,6 +145,62 @@
// DO NOT REMOVE THIS COMMENT (the RSS parser is dependant on it)
?>

+<h1>A Note on Security in PHP</h1>
+
+<p>
+ <span class="newsdate">[31-Dec-2004]</span>
+ PHP is a powerful and flexible tool.  This power and flexibility comes
+ from PHP being a very thin framework sitting on top of dozens of distinct
+ 3rd-party libraries.  Each of these libraries have their own unique input
+ data characteristics.  Data that may be safe to pass to one library may
+ not be safe to pass to another.
+</p>
+<p>
+ A recent Web Worm known as NeverEverSanity exposed a mistake in the input
+ validation in the popular phpBB message board application.  Their
+ highlighting code didn't account for double-urlencoded input correctly.
+ Without proper input validation of untrusted user data combined with any
+ of the PHP calls that can execute code or write to the filesystem you
+ create a potential security problem.  Despite some confusion regarding the
+ timing of some unrelated PHP security fixes and the NeverEverSanity worm,
+ the worm didn't actually have anything to do with a security problem in
+ PHP.
+</p>
+<p>
+ When we talk about security in a web application we really have two
+ classes.  Remote and Local.  Every remote exploit can be avoided with very
+ careful input validation.  If you are writing an application that asks for
+ a user's name and age, check and make sure you are only getting characters
+ you would expect.  Also make sure you are not getting too much data that
+ might overflow your backend data storage or whatever manipulation
+ functions you may be passing this data to.  A variation of the remote
+ exploit is the XSS or cross-site scripting problem where one user enters
+ some javascript that the next user then views.
+</p>
+<p>
+ For Local exploits we mostly hear about open_basedir or safemode problems
+ on shared virtual hosts.  These two features are there as a convenience to
+ system administrators and should in no way be thought of as a complete
+ security framework.  With all the 3rd-party libraries you can hook into
+ PHP and all the creative ways you can trick these libraries into accessing
+ files, it is impossible to guarantee security with these directives.  The
+ Oracle and Curl extensions both have ways to go through the library and
+ read a local file, for example.  Short of modifying these 3rd-party
+ libraries, which would be difficult for the closed-source Oracle library,
+ there really isn't much PHP can do about this.
+</p>
+<p>
+ When you have PHP by itself with only a small set of extensions safemode
+ and open_basedir are generally enough to frustrate the average bad guy,
+ but for critical security situations you should be using OS-level security
+ by running multiple web servers each as their own user id and ideally in
+ separate jailed/chroot'ed filesystems.  Better yet, use completely
+ separate physical servers.  If you share a server with someone you don't
+ trust you need to realize that you will never achieve airtight security.
+</p>
+
+<hr />
+
<h1>Function list suggestions available</h1>
<p>
<span class="newsdate">[27-Dec-2004]</span>

Report this thread to moderator Post Follow-up to this message
Old Post
Derick Rethans
12-31-04 08:55 PM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

PHP Mirrors archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 07:38 PM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.