14
14
not be safe to pass to another.
15
15
</p>
16
16
<p>
17
- A recent Web Worm known as NeverEverSanity exposed a mistake in the input
17
+ Long ago, a Web Worm known as NeverEverSanity exposed a mistake in the input
18
18
validation in the popular phpBB message board application. Their
19
19
highlighting code didn't account for double-urlencoded input correctly.
20
20
Without proper input validation of untrusted user data combined with any
@@ -37,20 +37,20 @@ functions you may be passing this data to. A variation of the remote
37
37
some javascript that the next user then views.
38
38
</p>
39
39
<p>
40
- For Local exploits we mostly hear about open_basedir or safemode problems
41
- on shared virtual hosts. These two features are there as a convenience to
40
+ For Local exploits we mostly hear about open_basedir problems
41
+ on shared virtual hosts. This feature is there as a convenience to
42
42
system administrators and should in no way be thought of as a complete
43
43
security framework. With all the 3rd-party libraries you can hook into
44
44
PHP and all the creative ways you can trick these libraries into accessing
45
- files, it is impossible to guarantee security with these directives . The
45
+ files, it is impossible to guarantee security with this directive . The
46
46
Oracle and Curl extensions both have ways to go through the library and
47
47
read a local file, for example. Short of modifying these 3rd-party
48
48
libraries, which would be difficult for the closed-source Oracle library,
49
49
there really isn't much PHP can do about this.
50
50
</p>
51
51
<p>
52
- When you have PHP by itself with only a small set of extensions safemode
53
- and open_basedir are generally enough to frustrate the average bad guy,
52
+ When you have PHP by itself with only a small set of extensions
53
+ open_basedir is generally enough to frustrate the average bad guy,
54
54
but for critical security situations you should be using OS-level security
55
55
by running multiple web servers each as their own user id and ideally in
56
56
separate jailed/chroot'ed filesystems. Better yet, use completely
0 commit comments