Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:59475 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 6633 invoked from network); 8 Apr 2012 21:34:49 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Apr 2012 21:34:49 -0000 Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.42 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.213.42 mail-yw0-f42.google.com Received: from [209.85.213.42] ([209.85.213.42:52155] helo=mail-yw0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C7/E7-56433-874028F4 for ; Sun, 08 Apr 2012 17:34:48 -0400 Received: by yhfq11 with SMTP id q11so1904490yhf.29 for ; Sun, 08 Apr 2012 14:34:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=GmnyebbXvwZ4FiuP96/bEGuWeaVdIOG7/h8KGnz7SrE=; b=hUqhYQWovGaU6UgP8axxQx36cXf1dAeWhfpvJ/C8YuYa4NzF22ysOX9xWbYDpyqh/C Qd0pa2hloaQKsZRie9tdDzVexpVibdZ3V7Pb4SXZp7I+9Nsza1P/kF1zJiy0eKWNR6/t C1MHS444qXXmD4Xms9eqcYzIDOPnd0Iz2Ln0tYtjM1/7LLZUo3F3vzH+nN0GsTwYIJer W3BzR6nvUuuu9dW+BUTa4yPhSU/kIKTDPP9Tb1BNmV2wKugAIIQXCK5QEsxj85Xdf4C0 9QhAmarFMBSSNIYlpJIwvOTBt1cc/uiPTbA6WQ1TxXwKxtCc3OoK/m5hahmt6QK2DzNl 1uxA== Received: by 10.236.190.42 with SMTP id d30mr4095727yhn.77.1333920885766; Sun, 08 Apr 2012 14:34:45 -0700 (PDT) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.146.86.14 with HTTP; Sun, 8 Apr 2012 14:34:05 -0700 (PDT) In-Reply-To: References: <4F80C739.2060404@gmail.com> Date: Mon, 9 Apr 2012 06:34:05 +0900 X-Google-Sender-Auth: jAcfxPboKAJC5E5T4mCzAQXGA_c Message-ID: To: Arvids Godjuks Cc: PHP Developers Mailing List Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] PHP class files without : > 8 =D0=B0=D0=BF=D1=80=D0=B5=D0=BB=D1=8F 2012 =D0=B3. 8:16 =D0=BF=D0=BE=D0= =BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Yasuo Ohgaki =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB: > >> 2012/4/8 =C3=81ngel Gonz=C3=A1lez : >> > On 07/04/12 22:48, Yasuo Ohgaki wrote: >> >> Hi, >> >> >> >> The only valid reason for removing > >> security. >> >> >> >> Since the null byte detection for fopen, remote/local script inclusio= n >> >> became much harder than before. However, it's still possible and very >> >> easy compare to other languages. Script execution is critical securit= y >> >> problem and it's worth to make it better. >> >> >> >> If there is a switch that turns off PHP's template engine nature, PHP >> >> could be more secure than now. >> >> >> >> php.ini >> >> template_mode =3D on =C2=A0 ; INI_ALL On by default >> >> >> >> php -t foo.php =C2=A0 # template mode by default >> >> php -T foo.php =C2=A0# template mode off >> >> >> >> People has option to make their code a little secure than now >> >> or stick with current behavior. >> >> >> >> Regards, >> > How does it help security? >> > If any, requiring '> > out malicious files on apps with uploads in case there's a local >> > inclusion vulnerability somewhere. >> > >> >> Attackers may inject PHP script almost anything/anywhere since >> PHP code may be embed anywhere in a file. >> >> For example, malicious PHP script may be in GIF something like >> >> gif89a ...any data.. >> >> and all attacker have to do is include/require the data somehow. >> Attacker cannot do that this for other languages, since they are >> not a embedded language. I know case that attackers may inject >> malicious perl/ruby script in data files, but PHP is too easy >> compare to these languages. >> >> Regards, >> >> -- >> Yasuo Ohgaki >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > Improperly configured WEB server is not the reason to change the most bas= ic > part of the language that will break every damn application out there. This is not an configuration issue, but a security vulnerability that can simply closed by disabling embed mode. As I mentioned already, injecting malformed PHP scripts into files is too easy compare to other languages. This could be improved by simple modification and we can maintain compatibility with it. I don't see anything wrong here. Yet another PHP script injection example. There are many applications that store user inputs in $_SESSION. Attacker can inject PHP script into $_SESSION, then locally include it. This is easy since attacker knew their session ID and path to session file is can be guessed easily. All attacker has to do is finding a vulnerable include()/require() to attack. Regards, -- Yasuo Ohgaki