<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 04 Dec 2008 12:41:30 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: How to CSRF protect all your forms]]></title>
      <guid>http://www.phpdeveloper.org/news/11227</guid>
      <link>http://www.phpdeveloper.org/news/11227</link>
      <description><![CDATA[<p>
<i>Jani Hartikainen</i> has <a href="http://codeutopia.net/blog/2008/10/16/how-to-csrf-protect-all-your-forms/">posted a few ideas</a> on cross site request forgeries in a new blog entry, including some methods to help prevent it in your application.
</p>
<blockquote>
CSRF, or Cross-Site Request Forgery, is a vulnerability very common in websites. [...] This can be dangerous, especially if your admin interface is compromised: There may be a button on the other site which goes to your admin interface and deletes the latest blogpost for example - and you wouldn't want that!
</blockquote>
<p>
His method is a three-step process for protection - use POST, protect against cross-site scripting and use a CSRF key in the form to help prevent abuse. A simple script is included to show it working and is adapted to work in a <a href="http://codeutopia.net/code/library/CU/Controller/Plugin/CsrfProtect.php">controller plugin</a> for the Zend Framework.
</p>]]></description>
      <pubDate>Thu, 16 Oct 2008 12:07:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Security must be taken seriously]]></title>
      <guid>http://www.phpdeveloper.org/news/11140</guid>
      <link>http://www.phpdeveloper.org/news/11140</link>
      <description><![CDATA[<p>
On the symfony blog <i>Fabien Potencier</i> encourages all symfony developers that the security of your application must be taken seriously and that, despite the built-in protection the framework offers, there still could be issues.
</p>
<blockquote>
The symfony framework has always provided the tools needed by the developers to secure their applications. With the new form framework, we have added an automatic protection against CSRF. Speaking of the form framework, we have also added a lot of <a href="http://www.symfony-project.org/book/forms/1_1/en/02-Form-Validation#Validators%20Security">security features</a> to protect you against all sort of injections.
</blockquote>
<p>
He does include an example, though, of a situation where it's not just about protecting from cross-site scripting or attacks. It's about checking user input to ensure it's what it should be. They give the example of a user pushing an "is_admin" value into a form posting where there wasn't one and updating the right column to give them admin rights. 
</p>
<p>
He mentions some work the Rails team has tried to do to prevent this sort of thing automatically, but <i>Fabian</i> points out what the symfony framework already does - prevent any injected fields other than what's in the forms from being submitted and included.
</p>]]></description>
      <pubDate>Fri, 03 Oct 2008 08:49:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[IBM DeveloperWorks: Seven habits for writing secure PHP applications]]></title>
      <guid>http://www.phpdeveloper.org/news/11125</guid>
      <link>http://www.phpdeveloper.org/news/11125</link>
      <description><![CDATA[<p>
The IBM DeveloperWorks site has <a href="http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/index.html?ca=dgr-btw01PHP-7Habits&S_TACT=105AGX59&S_CMP=grsite-btw01">posted some advice</a> that can help keep you, your application and your data safe from security-related attacks.
</p>
<blockquote>
Security in a PHP application includes remote and local security concerns. Discover the habits PHP developers should get into to implement Web applications that have both characteristics. 
</blockquote>
<p>
The habits in <a href="http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/index.html?ca=dgr-btw01PHP-7Habits&S_TACT=105AGX59&S_CMP=grsite-btw01">their list</a> are:
</p>
<ul>
<li>Validate input
<li>Guard your file system
<li>Guard your database
<li>Guard your session
<li>Guard against XSS vulnerabilities
<li>Guard against invalid posts
<li>Protect against CSRF
</ul>
<p>
Each comes with their own explanation and for some, code to help you spot the mistakes and correct them.
</p>]]></description>
      <pubDate>Wed, 01 Oct 2008 10:28:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Evert Pot's Blog: Preventing XSS in Javascript strings]]></title>
      <guid>http://www.phpdeveloper.org/news/10741</guid>
      <link>http://www.phpdeveloper.org/news/10741</link>
      <description><![CDATA[<p>
<i>Evert Pot</i> has <a href="http://www.rooftopsolutions.nl/article/197">pointed out a handy tool</a> that can make escaping strings in and out of your application simpler - <a href="https://www.owasp.org/index.php/Category:OWASP_Encoding_Project">Reform</a>.
</p>
<blockquote>
<a href="https://www.owasp.org/index.php/Category:OWASP_Encoding_Project">Reform</a> is a tool that does exactly this. Reform allows you to escape your data for a javascript, xml, html or vbscript (yes it still exists) context. It provides libraries for Java, .NET, PHP, Perl, Python, Javascript and ASP. Pretty cool!
</blockquote>
<p>
The utility is simply included into the application an called via the static methods it adds. His example shows the escaping of some output text in a Javascript string to correctly prevent it from falling into an evil XSS scheme.
</p>]]></description>
      <pubDate>Fri, 01 Aug 2008 12:04:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[CodeIgniter Blog: CodeIgniter 1.6.3 Maintenance and Security Release]]></title>
      <guid>http://www.phpdeveloper.org/news/10498</guid>
      <link>http://www.phpdeveloper.org/news/10498</link>
      <description><![CDATA[<p>
The CodeIgniter framework has made a <a href="http://codeigniter.com/news/codeigniter_163_maintenance_and_security_release/">new release</a> today, 1.6.3, containing updates to fix a few bugs and address some security concerns.
</p>
<blockquote>
We are happy to release CodeIgniter version 1.6.3 today.  Version 1.6.3 is primarily a maintenance release, with a variety of bug fixes and some refinement to existing features (with a few new ones tossed in for good measure).  Details of course can be found in the <a href="http://codeigniter.com/user_guide/changelog.html">Change Log</a>. 
</blockquote>
<p>
The release also fixes a potential cross-site scripting issue that, while it hasn't been reported as used yet, could still have some bad consequences if found and abused. You can grab this latest version from the <a href="http://codeigniter.com/downloads/">CodeIgniter downloads page</a>.
</p>]]></description>
      <pubDate>Fri, 27 Jun 2008 09:34:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Esser's Blog: Suhosin 0.9.21 - XSS Protection]]></title>
      <guid>http://www.phpdeveloper.org/news/9151</guid>
      <link>http://www.phpdeveloper.org/news/9151</link>
      <description><![CDATA[<p>
<i>Stefan Esser</i> has <a href="http://blog.php-security.org/archives/94-Suhosin-0.9.21-XSS-Protection.html">posted about</a> the release of the latest version of the <a href="http://www.suhosin.org/">Suhosin</a> security patch for PHP - version 0.9.21.
</p>
<blockquote>
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 to much trust into the SERVER variables from several XSS (and SQL injection) attacks. These features are suhosin.server.strip and suhosin.server.encode.
</blockquote>
<p>
He details <a href="http://blog.php-security.org/archives/94-Suhosin-0.9.21-XSS-Protection.html">these two features</a> and gives examples of what they protect from. You can find out more about the Suhosin patch on <a href="http://www.suhosin.org/">its website</a>.
</p>]]></description>
      <pubDate>Fri, 30 Nov 2007 11:17:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Gareth Heyes' Blog: htmlentities is badly designed]]></title>
      <guid>http://www.phpdeveloper.org/news/9113</guid>
      <link>http://www.phpdeveloper.org/news/9113</link>
      <description><![CDATA[<p>
<i>Gareth Heyes</i> has a <a href="http://www.thespanner.co.uk/2007/11/26/htmlentities-is-badly-designed/">quick new post</a> to his blog today about the use of <a href="http://php.net/htmlentities">htmlentities</a> and the false assumptions some developers have about it:
</p>
<blockquote>
When someone uses htmlentities I've seen it time and time again that they expect that it filters variables from all XSS. This is wrong of course because the function requires a second parameter ENT_QUOTES which correctly replaces quote characters. Some developers aren't even aware that quotes can lead to XSS injection.
</blockquote>
<p>
He reminds developers of the second parameter - the ENT_QUOTES parameter that correctly replaces quotes. Other people have mentions things in the comments as well like another optional parameter to force an encoding type and opinions about the function's use.
</p>]]></description>
      <pubDate>Mon, 26 Nov 2007 10:23:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Shiflett's Blog: The Unexpected SQL Injection]]></title>
      <guid>http://www.phpdeveloper.org/news/8753</guid>
      <link>http://www.phpdeveloper.org/news/8753</link>
      <description><![CDATA[<p>
<i>Chris Shiflett</i> <a href="http://shiflett.org/blog/2007/sep/the-unexpected-sql-injection">points out</a> an unexpected SQL injection possibility as presented by <a href="http://mordred.niama.net/blog/">Alexander Andonov</a> for PHP (involving mysql_real_escape_string).
</p>
<blockquote>
The focus of the article is stressing the importance of filtering input and escaping output, as neither is a substitute for the other, but he does so very clearly with specific examples [...] A number of example exploits are supplied for each case, and he discusses which ones work, which ones don't, and why.
</blockquote>
<p>
<i>Chris</i> also uses the post to link to <a href="http://preinheimer.com/">Paul Reinheimer</a>'s post about <a href="http://blog.preinheimer.com/index.php?/archives/247-addslashes-vs-mysql_escape_string.html">add_slashes versus mysql_escape_string</a> and his <a href="http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string">own post</a> on the same topic.
</p>]]></description>
      <pubDate>Mon, 01 Oct 2007 08:47:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Greg Beaver's Blog: Quick review of Pixy vulnerability scanner for PEAR users]]></title>
      <guid>http://www.phpdeveloper.org/news/8111</guid>
      <link>http://www.phpdeveloper.org/news/8111</link>
      <description><![CDATA[<p>
<i>Greg Bever</i> has a <a href="http://greg.chiaraquartet.net/archives/178-quick-review-of-Pixy-vulnerability-scanner-for-PEAR-users.html">(very) quick post</a> about his experiences with the <a href="http://pixybox.seclab.tuwien.ac.at/pixy/index.php">Pixy XSS and SQLI Scanner</a> running against PEAR files.
</p>
<blockquote>
I tried out the Pixy XSS and SQLI Scanner (<a href="http://pixybox.seclab.tuwien.ac.at/pixy/index.php">http://pixybox.seclab.tuwien.ac.at/pixy/index.php</a>) on a few simple PEAR files.  On the first, I got a java exception, on the second it was unable to resolve the simplest of includes (no ability to resolve include_path). In short, the thing is useless for anything written using PEAR.  Fun!
</blockquote>
<p>
The Pixy XSS and SQLI Scanner is made to find SQL and XSS injection issues in scripts. It runs as a Java application and scans PHP4 source code to try to find problems. For more information on the scanner or to try it out for yourself, check out <a href="http://pixybox.seclab.tuwien.ac.at/pixy/index.php">the project's homepage</a> for documentation and downloads.
</p>]]></description>
      <pubDate>Mon, 25 Jun 2007 07:30:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Secunia.com: PHPChain Two Cross-Site Scripting Vulnerabilities]]></title>
      <guid>http://www.phpdeveloper.org/news/7776</guid>
      <link>http://www.phpdeveloper.org/news/7776</link>
      <description><![CDATA[<p>
Secunia.com has posted <a href="http://secunia.com/advisories/25128/">a PHP-related issue</a> that users of the <a href="http://freshmeat.net/projects/phpchain/">PHPChain application</a> should look into:
</p>
<blockquote>
<p>
r0t has discovered some vulnerabilities in PHPChain, which can be exploited by malicious people to conduct cross-site scripting attacks.
</p>
<p>
Input passed to the "catid" parameter in settings.php (when "action" is set to "edit") and cat.php is not properly sanitised before it is returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of an affected site.
</p>
</blockquote>
<p>
If a user is logged in and the exploit is in place, the attacker could gain access to the application and gain access to a user's information. The recommended fix is to correct the source code so that the information coming in is correctly sanitized.
</p>]]></description>
      <pubDate>Fri, 04 May 2007 11:28:00 -0500</pubDate>
    </item>
  </channel>
</rss>
