<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>iBlog - Ilia Alshanetsky - Security</title>
    <link>http://ilia.ws/</link>
    <description>Here be dragons.</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://ilia.ws/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: iBlog - Ilia Alshanetsky - Security - Here be dragons.</title>
        <link>http://ilia.ws/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>State of PHP Security at ZendCon 2007</title>
    <link>http://ilia.ws/archives/173-State-of-PHP-Security-at-ZendCon-2007.html</link>
            <category>PHP</category>
            <category>Security</category>
            <category>Talks</category>
    
    <comments>http://ilia.ws/archives/173-State-of-PHP-Security-at-ZendCon-2007.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=173</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=173</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    I&#039;ve been so busy last few weeks I didn&#039;t get a chance to blog about the acceptance of my talk for ZendCon. So, here it is now, better late then never. This year has been quite busy in terms of security when it comes to PHP, the language and many changes were done to make the language better when it comes to security. &lt;br /&gt;
&lt;br /&gt;
The talk will try to summarize the many happenings in the PHP security world in to a quick one hour talk, so it should be quite an interesting challenge &lt;img src=&quot;http://ilia.ws/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Sun, 15 Jul 2007 10:09:58 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/173-guid.html</guid>
    
</item>
<item>
    <title>PHP|Tek 2007 - Security Pitfall Slides</title>
    <link>http://ilia.ws/archives/171-PHPTek-2007-Security-Pitfall-Slides.html</link>
            <category>PHP</category>
            <category>Security</category>
            <category>Talks</category>
    
    <comments>http://ilia.ws/archives/171-PHPTek-2007-Security-Pitfall-Slides.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=171</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=171</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    Thanks to the surprisingly well working wifi at the moment the slides from the PHP Security pitfalls are now available can be downloaded &lt;a href=&quot;http://ilia.ws/files/phptek2007_secpitfalls.pdf&quot; &gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I hope everyone who had been present at the talk had found something interesting that will help them improve the security of their code. 
    </content:encoded>

    <pubDate>Thu, 17 May 2007 18:47:01 -0400</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/171-guid.html</guid>
    
</item>
<item>
    <title>Cross-Domain POST Redirection</title>
    <link>http://ilia.ws/archives/152-Cross-Domain-POST-Redirection.html</link>
            <category>PHP</category>
            <category>Security</category>
    
    <comments>http://ilia.ws/archives/152-Cross-Domain-POST-Redirection.html#comments</comments>
    <wfw:comment>http://ilia.ws/wfwcomment.php?cid=152</wfw:comment>

    <slash:comments>12</slash:comments>
    <wfw:commentRss>http://ilia.ws/rss.php?version=2.0&amp;type=comments&amp;cid=152</wfw:commentRss>
    

    <author>ilia@ilia.ws (Ilia Alshanetsky)</author>
    <content:encoded>
    Every web developer knows how to make a GET redirect, in fact they&#039;ve probably done it numerous times. However very few people know the same can be done for POST requests, in some instances completely transparently to the user. This by itself make not seem like an issue, but when you combine it with XSS it can be a very powerful to used to scam users.&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario. A user goes to a trusted site where XSS had modified the action field of the login POST form, pointing it to http://p0wn3d.com/post.php. When user submits a request it goes to a 3rd party site, which captures the login credentials and then redirects the POST data to the original site. In the end to the user has no clue something sinister had happened because they never see p0wn3d.com. In fact the everything appears to have worked as intended.&lt;br /&gt;
&lt;br /&gt;
So how does this work. Ability to redirect POST comes as a courtesy of the little known &lt;a href=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html&quot; &gt;307&lt;/a&gt; redirect code. Which in PHP can be forced in the following manner:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-php-title&quot;&gt;PHP:&lt;/div&gt;&lt;div class=&quot;bb-php&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
header&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Location:&amp;#160;URL&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;TRUE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;307&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Now, according to the RFC &lt;br /&gt;
&lt;br /&gt;
&quot;If the 307 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.&quot;&lt;br /&gt;
&lt;br /&gt;
Alas, unlike the Opera and FireFox developers, the IE developers have never read the spec, and even the latest, most secure IE7 will redirect the POST request from domain A to domain B without any warnings or confirmation dialogs! Safari also acts in an interesting manner, while it does not raise a confirmation dialog and performs the redirect, it throws away the POST data, effectively changing 307 redirect into the more common 302. 
    </content:encoded>

    <pubDate>Sat, 06 Jan 2007 13:07:19 -0500</pubDate>
    <guid isPermaLink="false">http://ilia.ws/archives/152-guid.html</guid>
    
</item>

</channel>
</rss>