<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>My Security Planet &#187; PHP Security Blog</title>
	<link>http://rgaucher.info/planet/</link>
	<description>My Security Planet &#187; PHP Security Blog</description>
	<generator>Gregarius 0.5.4</generator>
	<language>en</language>
	<item>
		<title>PHP Security Blog: This blog is dead</title>
		<link>http://blog.php-security.org/archives/96-This-blog-is-dead.html</link>
		<pubDate>Fri, 01 Aug 2008 04:16:42 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/96-This-blog-is-dead.html</guid>
		<content:encoded><![CDATA[	<p>
  This blog is finally dead.
</p>
<p>
  Because the domain name limited me to blog about PHP security only I moved to the domain <a href="http://www.suspekt.org/">suspekt.org</a> that I own for many years now. Please update all your links and feeds to point to the new URL where I will continue blogging on a regular basis.
</p><br /> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: Flash Game - 10000 of 900 possible points?!?!?</title>
		<link>http://blog.php-security.org/archives/95-Flash-Game-10000-of-900-possible-points!!.html</link>
		<pubDate>Tue, 11 Dec 2007 17:05:00 -0600</pubDate>
		<guid>http://blog.php-security.org/archives/95-Flash-Game-10000-of-900-possible-points!!.html</guid>
		<content:encoded><![CDATA[	<br />
<p>A friend of mine just sent me the URL to a flash game (for obvious reasons I will not share the link) which is part of a number of games with a price of 10.000 EUR in the end. One would believe that a game with such a price money is secure. Especially when the organising party is an internet provider.</p><p /><p><br />But guess what... At the end of the flash game you can optionally submit your score to the highscore server, which results in a POST to the file <i>submithigh.php</i> with several parameters, one parameter saying<i> score=XXXX</i>. And of course you can submit whatever score you want. So now I lead the highscore with 10000 of about 900 possible points. I set it that high to ensure that the guys at the ISP will realize that this is faked, but imagine I had just increased the current highscore by 10. I seriously doubt anyone would have noticed and I would have won the competition without even decompiling the flash.</p><p /><p /><br /><a href="http://blog.php-security.org/archives/95-guid.html#extended">Continue reading "Flash Game - 10000 of 900 possible points?!?!?"</a> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: Suhosin 0.9.21 - XSS Protection</title>
		<link>http://blog.php-security.org/archives/94-Suhosin-0.9.21-XSS-Protection.html</link>
		<pubDate>Fri, 30 Nov 2007 10:51:00 -0600</pubDate>
		<guid>http://blog.php-security.org/archives/94-Suhosin-0.9.21-XSS-Protection.html</guid>
		<content:encoded><![CDATA[	<br />
<p>It has been a very long time since the last Suhosin extension has been released, but today this has changed with the release of <a href="http://www.suhosin.org">Suhosin 0.9.21</a>. Among the changes are two new features that will protect applications that put too much trust into the <i>SERVER</i> variables from several <i>XSS</i> (and <i>SQL injection</i>) attacks. These features are <i>suhosin.server.strip</i> and <i>suhosin.server.encode</i>.</p><br /><p><b>suhosin.server.strip</b></p><p>When activated (which is the default) the <i>SERVER</i> variables <i>PHP_SELF</i>, <i>PATH_INFO</i> and <i>PATH_TRANSLATED</i> will be scanned for the characters &lt; &gt; ' &quot; and `. All occurences will be replaced by ? characters. This stops a lot of <i>XSS</i> attacks, because many <a href="http://www.php.net">PHP</a> applications consider these variables not tainted.</p><p><b></b></p><p><br /><b>suhosin.server.encode</b></p><p>When activated (which is the default) the <i>SERVER</i> variables <i>REQUEST_URI</i> and <i>QUERY_STRING</i> will be scanned for the characters &lt; &gt; ' &quot; and `. All these characters are usually encoded by the browser before they are sent and therefore many applications consider <i>REQUEST_URI</i> and <i>QUERY_STRING</i> safe. However some browsers like Internet Explorer will not encode these characters which results in lots of <i>XSS</i> vulnerabilities. <a href="http://www.suhosin.org">Suhosin</a> will protect applications that wrongly put too much trust into these variables by URL-encoding them within the variables.</p><p><br /> If you have more ideas for simple features that can protect many scripts at once don't hesitate to contact us.</p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: SektionEins @ DeepSec 2007</title>
		<link>http://blog.php-security.org/archives/93-SektionEins-DeepSec-2007.html</link>
		<pubDate>Mon, 19 Nov 2007 02:19:14 -0600</pubDate>
		<guid>http://blog.php-security.org/archives/93-SektionEins-DeepSec-2007.html</guid>
		<content:encoded><![CDATA[	The <a href="http://www.deepsec.net/">DeepSec 2007</a> conference in vienna, austria will start tommorow with 2 days of workshops followed by 2 full days of very interesting talks about different security topics. Together with my co-worker <a href="http://blog.fukami.io/">fukami</a> I will attend the conference on behalf of <a href="http://www.sektioneins.de/">SektionEins</a>.<p><br />The speakerlist of DeepSec is very impressive, it includes Halvar Flake, Dave Aitel, David Litchfield, Martin Johns, Jeff Moss, Alexander Kornbrust and my co-worker fukami who will speak about <a href="https://deepsec.net/speakers/#flash-security-basics">Adobe Flash Security</a>.</p><br /> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: CORE GRASP - PHP Tainted Mode</title>
		<link>http://blog.php-security.org/archives/92-CORE-GRASP-PHP-Tainted-Mode.html</link>
		<pubDate>Wed, 22 Aug 2007 16:37:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/92-CORE-GRASP-PHP-Tainted-Mode.html</guid>
		<content:encoded><![CDATA[	<br />
<a href="http://www.coresecurity.com">Core Security Technologies</a> today announced the release of <a href="http://grasp.coresecurity.com/index.php?m=dld">CORE GRASP</a>, which is a patch against the PHP 5.2.3 code tree that adds a tainted mode to PHP to protect the <a href="http://www.php.net/mysql_query">mysql_query()</a> function. Their implementation adds a tainted or not flag for every byte so that it is possible on invocation of mysql_query() to determine any kind of injection.<p><br />To add such a tainted mode to PHP has been discussed several times in the past. It was rejected for several reasons like the obvious huge speed impact and the danger of false positives and a false sense of security. And indeed the way CORE GRASP is implemented it looks like a huge memory and speed overhead that should be tested. In addition to that their query parser will for example wrongly detect quotes escaped by doubling as injection attack.</p><p><br />Aside from this there are several other possible problems in the code like a remote one byte stack overflow (that seems harmless due to memory alignment), wrong handling of the _SERVER superglobal in case of JIT and it also seems that control characters like linebreaks can be injected into the logfiles. Further analysis and a deeper look into the code is needed.</p><p><br />However it has to be taken into account that this is the very first public version of CORE GRASP, so maybe all these problems are gone soon and support for further database engines is added. </p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: MOPB Exploits taken down</title>
		<link>http://blog.php-security.org/archives/91-MOPB-Exploits-taken-down.html</link>
		<pubDate>Fri, 10 Aug 2007 11:28:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/91-MOPB-Exploits-taken-down.html</guid>
		<content:encoded><![CDATA[	<br />
<p>Unfortunately I had to take down all the proof of concept exploits that were developed during the <a href="http://www.php-security.org">Month of PHP Bugs</a>. The reason for this is a new law in germany that is official since today. This new law renders the creation and distribution of software illegal that could be used by someone to break into a computer system or could be used to prepare a break in. This includes port scanners like nmap, security scanners like nessus and of course proof of concept exploits.</p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: More CSRF Redirectors</title>
		<link>http://blog.php-security.org/archives/90-More-CSRF-Redirectors.html</link>
		<pubDate>Sun, 29 Jul 2007 09:15:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/90-More-CSRF-Redirectors.html</guid>
		<content:encoded><![CDATA[	<br />
<p>Today I learned about another CSRF redirector by another group of people in web application security called <a href="http://www.gnucitizen.org/">GNUCITIZEN</a>.</p><p><br />Similar to the <a href="http://blog.php-security.org/archives/89-About-the-CSRF-Redirector.html">previous CSRF redirector</a> it contains the same XSS vulnerability through the javascript URI scheme.</p><p><br />Example:</p><p><a href="http://www.gnucitizen.org/util/csrf?_method=GET&amp;_url=javascript:alert%28/WE_ARE_DOOMED_:-\/%29;">http://www.gnucitizen.org/util/csrf?..._url=javascript:alert(/.../);</a></p><p /><p><br />
<b>Update:</b> The bug is fixed for now...<br />
</p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: About the CSRF Redirector</title>
		<link>http://blog.php-security.org/archives/89-About-the-CSRF-Redirector.html</link>
		<pubDate>Wed, 18 Jul 2007 04:30:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/89-About-the-CSRF-Redirector.html</guid>
		<content:encoded><![CDATA[	<br />
You might have seen <a href="http://shiflett.org/blog/2007/jul/csrf-redirector">this post</a> in Chris blog about a CSRF redirector he did. This is basically nothing more than a little script that turns a GET request into a hidden formular that is then posted via JavaScript. There have always been security issues with redirector scripts, and if you provide one open to anyone, you should care about what kind of redirects you actually allow.<br />
<br />
<p><br />Two major risks happen to exists with chris example:<br />
</p><ol><li>Malicious people could misuse them as bouncers to attack other sites<br />
</li><li>Not every URL is a web page. Some can load plugins, display information and<br />
some can execute JavaScript.<br />
<br />
</li></ol><p>Here is an example URL:<br />
</p><p><br /><a href="http://shiflett.org/csrf.php?csrf=+++%6aavascript:alert(/I_AM_A_SECURITY_EXPERT/)">http://shiflett.org/csrf.php?csrf=javascript:alert(/I_AM_A_SECURITY_EXPERT/)</a><br />
</p><p><br />In Internet Explorer (and Safari) this will give you access to the domain (cookies, etc...). In Firefox you can still do other funny things.<br />
<br />
So if you implement (javascript) redirector scripts, make sure you do a proper<br />
whitelisting of the user delivered urls.</p><p><br /><b>UPDATE:</b> The above example for a simple XSS does no longer work. However there are still other XSS vulnerabilities like variable-width problems in the CSRF redirector and it is still an open bouncer for malicious persons.</p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: BlogSecurity Interview</title>
		<link>http://blog.php-security.org/archives/88-BlogSecurity-Interview.html</link>
		<pubDate>Fri, 29 Jun 2007 13:50:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/88-BlogSecurity-Interview.html</guid>
		<content:encoded><![CDATA[	<br />
Two days ago I was interviewed by the people of <a href="http://www.blogsecurity.net">BlogSecurity</a> about my thoughts about WordPress, their vulnerabilities and how they deal with them. The <a href="http://blogsecurity.net/wordpress/interview-280607/">interview</a> is meanwhile online.<p /><p><br />
</p> ]]></content:encoded>
</item>
<item>
		<title>PHP Security Blog: What site do you want to break today?</title>
		<link>http://blog.php-security.org/archives/87-What-site-do-you-want-to-break-today.html</link>
		<pubDate>Fri, 15 Jun 2007 18:40:00 -0500</pubDate>
		<guid>http://blog.php-security.org/archives/87-What-site-do-you-want-to-break-today.html</guid>
		<content:encoded><![CDATA[	<br />
I just came back home and saw a <a href="http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.417.2.8.2.35&amp;r2=1.417.2.8.2.36">very recent commit</a> to PHP's session management. It is another attempt to fix the <a href="http://www.php-security.org/MOPB/PMOPB-46-2007.html">session cookie attribute injection</a> that the PHP developers already tried to fix in PHP 5.2.3 without giving any credits. They still refuse to implement the correct fix that consists of just encoding the session id before sending it back through the cookie.<p><br />The amusing thing this time is that their new fix that consists of blacklisting a bunch of legal characters from the session id, will most probably result in hundreds or thousands of broken sites. What is even more funny is that the commit comes from a Zend employee that blacklists the ':' character from being used in the session id. The <a href="http://www.hardened-php.net/advisory_052006.128.html">last time I audited</a> the Zend Platform session clustering module it used exactly this character within session ids. This basically means that the session clustering of the Zend Platform will no longer work with the next PHP versions.</p><p><br />And as a final comment to the commiter: You are blacklisting a bunch of legal characters. Whatever RFC you used for choosing the characters for your blacklist was the wrong one. PHP implements the Netscape Cookie standard that is defined <a href="http://wp.netscape.com/newsref/std/cookie_spec.html">here</a>. That document described very clearly that all characters are allowed except whitespace and semicolon. So nearly all the characters in your list are legal. Thank you for breaking lots of sites.</p><br /> ]]></content:encoded>
</item>


</channel>
</rss>
