<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.0.0 (http://www.squarespace.com/) on Sun, 04 Jan 2009 07:37:53 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Ruby on Rails Security Project</title><link>http://www.rorsecurity.info/journal/</link><description></description><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.0.0 (http://www.squarespace.com/)</generator><item><title>Circumvent Rails CSRF Protection</title><dc:creator>Heiko</dc:creator><pubDate>Wed, 19 Nov 2008 08:46:46 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/11/19/circumvent-rails-csrf-protection.html</link><guid isPermaLink="false">280802:2845483:2583091</guid><description><![CDATA[<p>There is a security-related bug in <span style="text-decoration: underline;">Ruby on Rails 2.1.x and all 2.2. pre-releases</span>. The CSRF protection given by<br />the protect_from_forgery method may possibly be circumvented by a crafted request.</p>
<p>The problem is that Rails by design will not check the <a href="http://guides.rubyonrails.org/security.html#_csrf_countermeasures" target="_blank">authenticity token</a> if the request has certain content types that are typically not generated by browsers. According to the <a href="http://groups.google.com/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en" target="_blank">original security message</a>, this list also includes "text/plain" which may be generated by browsers. This <a href="http://pseudo-flaw.net/content/web-browsers/form-data-encoding-roundup/" target="_blank">form data encoding roundup</a> gives an overview of what can be generated by today's browsers. See <a href="http://github.com/rails/rails/commit/099a98e9b7108dae3e0f78b207e0a7dc5913bd1a" target="_blank">this changset</a> for details of which content types will be checked.</p>
<p>&nbsp;</p>
<h2>Possible Exploit<br /></h2>
<p>The content type can be set with the enctype attribute in HTML forms:</p>
<p>&lt;form method="post" enctype="text/plain" action="&lt;%= some_post_action_path(@var) %&gt;"&gt;&lt;%= submit_tag "Start" %&gt;&lt;/form&gt;</p>
<p>This was found in this <a href="http://rails.lighthouseapp.com/projects/8994/tickets/1145-bug-invalidauthenticitytoken-incorrectly-raised-for-xml-controllerdestroy-request#ticket-1145-29" target="_blank">Lighthouse ticket</a>. The <a href="http://groups.google.com/group/rubyonrails-security/browse_thread/thread/d741ee286e36e301?hl=en" target="_blank">original security message</a> states that Rails does not parse the parameters for these requests. However, I was able to craft requests where all parameters where correctly parsed and used.</p>
<p>&nbsp;</p>
<h2>Temporary Solution</h2>
<p>Users of 2.1.x releases are advised to insert the following code into a file in config/initializers/</p>
<p>Mime::Type.unverifiable_types.delete(:text)</p>
<p>Or you apply <a href="http://github.com/rails/rails/commit/099a98e9b7108dae3e0f78b207e0a7dc5913bd1a" target="_blank">this patch</a> for the 2.1.x releases. Users of Edge Rails should upgrade to the latest version.</p>
<p>&nbsp;</p>
<h2>Fixes</h2>
<p>Fixes will be in Rails version <a href="http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/milestones" target="_blank">2.1.3 and 2.2.2</a>.</p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2583091.xml</wfw:commentRss></item><item><title>Rails Security Guide and Book</title><dc:creator>Heiko</dc:creator><pubDate>Tue, 04 Nov 2008 11:10:38 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/11/4/rails-security-guide-and-book.html</link><guid isPermaLink="false">280802:2845483:2513672</guid><description><![CDATA[<p>That's it, the Ruby on Rails Security guide is ready. It is available as a Rails manual at <a href="http://guides.rubyonrails.org/security.html">http://guides.rubyonrails.org/security.html</a> and as a free e-book at <a href="http://www.rorsecurity.info/the-book/">http://www.rorsecurity.info/the-book/</a>. The first batch of <a href="http://guides.rubyonrails.org/">the new Rails Guides</a> also includes 14 other quality manuals ranging from "Getting started", routing, testing and debugging.</p>
<p>So far, the online version of the guide is one long page, I hope it will be seperated soon. Meanwhile you can read the e-book version of it. For those of you looking for a quick overview of good practice and countermeasures, scan the document for the fragments <span style="background-color: #fffcdb;">that are highlighted.</span></p>
<p>I will be officially announcing the Guide at the <a href="http://www.owasp.org/index.php/OWASP_EU_Summit_2008">OWASP EU Summit</a> in Portugal this week.</p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2513672.xml</wfw:commentRss></item><item><title>Header Injection And Response Splitting</title><dc:creator>Heiko</dc:creator><pubDate>Mon, 20 Oct 2008 13:16:00 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/10/20/header-injection-and-response-splitting.html</link><guid isPermaLink="false">280802:2845483:2447417</guid><description><![CDATA[<p>I thought about the redirect_to method when I saw <a href="http://railscasts.com/episodes/131-going-back">Ryan's screencast</a> of how to go back with redirect_to :back. That way the user will be redirected to the URL from the Referer header field, it's the same as redirect_to request.referer. The Referer is a user-supplied value which is set by the browser or another user-agent. It should not be possible to spoof the Referer in an Ajax request, but some browsers seem to allow it (Firefox does not).</p>
<p>An attack on this is quite unlikely. However if the attacker manages to manipulate the Referer, the victim will be redirected to another site. This site may install malicious software on the victim's computer through browser security holes. Or it could be a phishing site that asks the victim to enter his username and password.</p>
<p>Then I saw comment #11 which suggests to put the referer into a hidden field:</p>
<p>&lt;%= hidden_field_tag :referer, (params[:referer] || request.env['HTTP_REFERER']) %&gt;</p>
<p>The hidden_field_tag method automatically escapes the value, so it is not vulnerable to XSS. However, be aware of XSS if you use the params otherwise.</p>
<p>More important is that you would use redirect_to params[:referer]. This is a very nice redirector for any URL you like. If the attacker sets the params[:referer] value by supplying the parameter to the site with the hidden_field_tag from above, the victim will be redirected to any desired page:</p>
<p>http://www.yourapplication.com/controller/action?referer=http://www.malicious.tld</p>
<p><strong>Header Injection</strong></p>
<p>Then there is a another problem with user-supplied values in the HTTP headers: <a href="http://en.wikipedia.org/wiki/HTTP_header_injection">Header Injection</a>. <a href="http://weblog.rubyonrails.com/2008/10/19/response-splitting-risk">It seems</a> that Ruby/Rails does not sanitize the parameter passed to redirect_to. That means the user may set any header field he likes:</p>
<p>http://www.yourapplication.com/controller/action?referer=http://www.malicious.tld%0a%0dX-Header:+Hi!</p>
<p>Note that "%0d%0a" is URL-encoded for "\r\n" which is a carriage-return and line-feed in Ruby. So the resulting HTTP header will be:</p>
<p><em>HTTP/1.1 302 Moved Temporarily<br />(...)<br />Location: http://www.malicious.tld<br />X-Header: Hi!</em></p>
<p>And even if you allow the user to supply only parts of the target URL, the attacker may still overwrite the Location header field (and thus redirect to any site he wants):</p>
<p>http://www.yourapplication.com/controller/action?referer=path/at/your/app%0aLocation:+http://www.malicious.tld</p>
<p><strong>Response Splitting</strong></p>
<p>As Header Injection is possible, <a href="http://en.wikipedia.org/wiki/HTTP_response_splitting">Response Splitting</a> might be, too. In HTTP, the header block is followed by two carriage-return, line-feeds (CRLF) and the actual data (usually HTML). The idea of Response Splitting is to inject two CRLFs, followed by another response with malicious HTML. The response will be:</p>
<p><em>HTTP/1.1 302 Found [First standard 302 response]<br />Date: Tue, 12 Apr 2005 22:09:07 GMT<br />Location:<br />Content-Type: text/html<br /></em></p>
<p><em>HTTP/1.1 200 OK [Second New response created by attacker begins]<br />Content-Type: text/html<br /><br />&lt;html&gt;&lt;font color=red&gt;hey&lt;/font&gt;&lt;/html&gt; [Arbitary input by user is shown as the redirected page]<br />Keep-Alive: timeout=15, max=100<br />Connection: Keep-Alive<br />Transfer-Encoding: chunked<br />Content-Type: text/html</em></p>
<p><a href="http://www.securiteam.com/securityreviews/5WP0E2KFGK.html">Read the original article here</a>. Under certain circumstances this would present the malicious HTML to the user. However, this seems to work with Keep-Alive connections, only (and many browsers are using one-time connections). But you can't rely on this. In any case this is a serious bug, and you should update your Rails to <a href="http://weblog.rubyonrails.com/2008/10/19/rails-2-0-5-redirect_to-and-offset-limit-sanitizing">version 2.0.5 or the soon-to-be-released 2.1.2</a>.<em><br /></em></p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2447417.xml</wfw:commentRss></item><item><title>New RedCloth security</title><dc:creator>Heiko</dc:creator><pubDate>Mon, 13 Oct 2008 16:07:29 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/10/13/new-redcloth-security.html</link><guid isPermaLink="false">280802:2845483:2420798</guid><description><![CDATA[<blockquote><a href="http://redcloth.org/">RedCloth</a> is a module for using Textile in Ruby. Textile is a simple text format that can be converted to HTML, eliminating the need to use HTML directly to create documents, blogs, or web pages.</blockquote><p>The new version 4 promises to be faster and without the bugs from version 3. And indeed it feels more reliable and many of the earlier <a href="http://www.rorsecurity.info/journal/2007/8/20/redcloth-security-thoughts.html">security concers</a> have now been dealt with. For example:</p><p>RedCloth.new("&lt;script&gt;alert(1)&lt;/script&gt;").to_html</p>

<span>now returns</span><br><br><p>&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;<br></p>instead of <br><br>&lt;script&gt;alert(1)&lt;/script&gt;<br><p><span><strongad></bad></span></p>

in earlier versions. And it's good that it escapes the input instead of deleting malicious parts. I tried many examples from the XSS cheatsheet and hand-crafted ones. The result is that nearly no malicious parts get through. Yes nearly.<br><br><p> The &lt;code&gt; tag gets through:</p><p>RedCloth.new('&lt;code onmouseover="bad_code_here"&gt;asdf&lt;/code&gt;', [:filter_html]).to_html<br />&lt;code onmouseover="bad_code_here"&gt;asdf&lt;/code&gt;</p>I've created <a href="http://jgarber.lighthouseapp.com/projects/13054/tickets/68-code-comes-through-unfiltered">a ticket</a> for that.

<p>And <a href="http://jgarber.lighthouseapp.com/projects/13054/tickets/69-comments-dont-get-sanitized">comments get through</a>:<br />

<p>RedCloth.new(&quot;&lt;!--[if gte IE 4]&gt;&lt;SCRIPT&gt;alert(&#x27;XSS&#x27;);&lt;/SCRIPT&gt;&lt;![endif]--&gt;&quot;, [:sanitize_html]).to_html</p>

<p>renders</p>

<p>&quot;&lt;p&gt;&lt;!--[if gte IE 4]&gt;alert(&#x27;XSS&#x27;);&lt;![endif]--&gt;&lt;/p&gt;&quot;</p>

which works in some browsers according to the <a href="http://ha.ckers.org/xss.html">XSS Cheatsheet</a>.
</p>

<p>Also remember that CSS injection will work in textile, if you allow styles. See the <a href="http://www.rorsecurity.info/journal/2007/8/20/redcloth-security-thoughts.html">earlier post</a> for that.</p>

<p>Nevertheless the new version is far better. And in combination with a whitelist (namely Rails' sanitize() method) it is even secure.</p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2420798.xml</wfw:commentRss></item><item><title>The updated Rails Security Guide</title><dc:creator>Heiko</dc:creator><pubDate>Fri, 10 Oct 2008 14:23:44 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/10/10/the-updated-rails-security-guide.html</link><guid isPermaLink="false">280802:2845483:2410809</guid><description><![CDATA[<p>I'm taking part in the <a mce_href="http://hackfest.rubyonrails.org/guide" href="http://hackfest.rubyonrails.org/guide">Rails Guide Hackfest</a> which is "an attempt to improve Rails documentation and make the barrier to entry as low as possible." </p><p>You can take a look at it here: <a mce_href="http://guides.rails.info/securing_rails_applications/security.html" href="http://guides.rails.info/securing_rails_applications/security.html">http://guides.rails.info/securing_rails_applications/security.html</a><br>
</p><p>If you find a typo or if you'd like to contribute, the Lighthouse ticket is here:<br>
<a mce_href="http://rails.lighthouseapp.com/projects/16213/tickets/7" href="http://rails.lighthouseapp.com/projects/16213/tickets/7">http://rails.lighthouseapp.com/projects/16213/tickets/7</a></p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2410809.xml</wfw:commentRss></item><item><title>SQL Injection issue in :limit and :offset parameter</title><dc:creator>Heiko</dc:creator><pubDate>Mon, 08 Sep 2008 16:02:16 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/9/8/sql-injection-issue-in-limit-and-offset-parameter.html</link><guid isPermaLink="false">280802:2845483:2390117</guid><description><![CDATA[<p align="justify">An SQL Injection vulnerability <a href="http://blog.innerewut.de/2008/6/16/why-you-should-upgrade-to-rails-2-1">has been found</a> in Rails. The issue affects Rails &lt; 2.1.1, namely the :limit and :offset parameters that are not correctly sanitized:</p><p align="justify"></p><blockquote>Person.find(:all, :limit =&gt; "10; DROP TABLE users;")</blockquote><p align="justify">A possible attack will work only if you allow the user control these two values as in User.find(:all, :limit =&gt; 10, :offset =&gt; params[:offset]). Note that will_paginate is not affected, it escapes the values before.</p><p align="justify">This seemed to affect only PostgreSQL and SQLite as MySQL by default disallows multiple SQL statements. So you cannot drop a table. However, it could be used for information disclosure. Consider the <a href="http://dev.mysql.com/doc/refman/5.1/de/union.html">UNION</a> SQL statement:</p><blockquote>User.find(:all, :limit =&gt; params[:limit])</blockquote><blockquote>params[:limit] #= "1 UNION (select 1,2,password,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,0 from users)"</blockquote><br><p align="justify">What does this mean? The result is the full users table, with one small modification: One field contains the user's password and the other fields are always a number between 0 and 9. Let's assume the third column is the user's first name and the application returns everything it found. This means an attacker may <span style="background-color: #ffffcc;">read the user's password in the first name field</span>. All he has to do is find out about the table names (take a look at the controller names), the column names (review the HTML source, guessing) and the number of columns in the table (try it). The UNION statement will work only if the second table has the same number of columns as the first one - hence the list of numbers.</p><p align="justify">Of course there might not be a password column in clear text, but this could be used to read any data from the database, or even other databases. </p><p align="justify"><strong>Countermeasures</strong></p><ul><li>Review your application whether you allow the user to control :limit or :offset<br></li>
<li>If you are on Rails 2.1.0, please apply <a href="http://rails.lighthouseapp.com/projects/8994/tickets/288">this patch</a> or get Rails 2.1.1</li>
<li>If you are on the Rails 2.0 or 1.2 branch, apply this <a href="http://rails.lighthouseapp.com/projects/8994/tickets/964-fix-for-sql-injection-on-limit-and-offset-should-be-backported">backport patch</a><br></li>
</ul>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2390117.xml</wfw:commentRss></item><item><title>DoS vulnerability in REXML</title><dc:creator>Heiko</dc:creator><pubDate>Wed, 27 Aug 2008 13:21:02 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/8/27/dos-vulnerability-in-rexml.html</link><guid isPermaLink="false">280802:2845483:2390116</guid><description><![CDATA[<p>Here is a security announcement for the REXML library (links by me) in the <a href="http://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/">Ruby news</a>:</p><blockquote><p>There is a <a href="http://en.wikipedia.org/wiki/DoS">DoS</a> vulnerability in the REXML library used by Rails to parse incoming XML requests. A so-called "XML entity explosion" attack technique can be used for remotely bringing down (disabling) any application which parses user-provided XML. Most Rails applications will be vulnerable to this attack.</p><p><strong>Impact</strong> </p><p>An attacker can cause a denial of service by causing REXML to parse a document containing recursively nested entities such as:</p><p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>&lt;!DOCTYPE member [<br>&nbsp;&lt;!ENTITY a "&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;&amp;b;"&gt;<br>&nbsp;&lt;!ENTITY b "&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;&amp;c;"&gt;<br>&nbsp;&lt;!ENTITY c "&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;&amp;d;"&gt;<br>&nbsp;&lt;!ENTITY d "&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;&amp;e;"&gt;<br>&nbsp;&lt;!ENTITY e "&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;&amp;f;"&gt;<br>&nbsp;&lt;!ENTITY f "&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;&amp;g;"&gt;<br>&nbsp;&lt;!ENTITY g "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"&gt;<br>]&gt;<br>&lt;member&gt;<br>&amp;a;<br>&lt;/member&gt;<br></p></blockquote><p>M. Koziarski provides a Rails-specific solution to the problem:</p><blockquote><p>The announcement contains details describing a monkeypatch which can<br>be applied to prevent the risk.&nbsp; These instructions are reproduced<br>below with more rails specific information:</p><p><span style="text-decoration: underline;">** Versions 2.0.2 and earlier</span></p><p># Copy the <a href="http://www.ruby-lang.org/security/20080823rexml/rexml-expansion-fix.rb">fix file</a> into RAILS_ROOT/lib<br># Require the file from environment.rb&nbsp;require 'rexml-expansion-fix'</p><p><span style="text-decoration: underline;">** Versions 2.1.0 and edge</span></p><p>Copy the <a href="http://www.ruby-lang.org/security/20080823rexml/rexml-expansion-fix.rb">fix file</a> into RAILS_ROOT/config/initializers, it will berequired automatically.</p></blockquote><p>There is also a gem available which includes the fix file:</p><blockquote><p><span style="background-color: #ffffcc;">gem install rexml-expansion-fix</span></p><p>Once that command has completed add the following line to the bottom<br>of your environment.rb file:</p><p><span style="background-color: #ffffcc;">require 'rexml-expansion-fix'</span> </p></blockquote>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2390116.xml</wfw:commentRss></item><item><title>Ruby security vulnerabilities</title><dc:creator>Heiko</dc:creator><pubDate>Tue, 24 Jun 2008 20:03:49 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/6/24/ruby-security-vulnerabilities.html</link><guid isPermaLink="false">280802:2845483:2390115</guid><description><![CDATA[<p>Here is the news from the <a href="http://weblog.rubyonrails.com/2008/6/21/multiple-ruby-security-vulnerabilities">Rails Log</a>: </p><blockquote><p>Drew Yao at Apple uncovered a handful of nasty security vulnerabilities affecting all current versions of Ruby. The details are still under wraps because an attacker can DoS you or possibly execute arbitrary code&mdash;holy crap! Better upgrade sooner than later.</p>   According to the <a href="http://www.ruby-lang.org/en/news/2008/06/20/arbitrary-code-execution-vulnerabilities/">official Ruby security advisory</a>, the vulnerable Rubies are: 	<ul><li>1.8.4 and earlier</li><li>1.8.5-p230 and earlier</li><li>1.8.6-p229 and earlier</li><li>1.8.7-p21 and earlier</li></ul><p>Those of us running Ruby 1.8.4 or earlier must upgrade to 1.8.5 or later for a fix. Those on 1.8.5-7 can grab the latest patchlevel release for a fix.</p><p>(Please note: Ruby 1.8.7 breaks backward compatibility and is only compatible with Rails 2.1 and later, so don&rsquo;t go overboard!)</p></blockquote>   	   	</p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2390115.xml</wfw:commentRss></item><item><title>Automatic security</title><dc:creator>Heiko</dc:creator><pubDate>Tue, 17 Jun 2008 08:28:36 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/6/17/automatic-security.html</link><guid isPermaLink="false">280802:2845483:2390114</guid><description><![CDATA[<br><p align="justify">Security is not easy-to-use, not fancy and it is hard to remember all those nasty attack methods. So there are automatic security checks, firewalls, helpers and a lot more. They are built to make your application more secure. But automatic security tools can't help you to find logic faults. What if you have a Cross-Site Scripting scanner that checks each and every field in your web application, but with a little knowledge, an attacker could change one id in the URL and he sees his neighbor's confidential data. </p><p align="justify">BUT, automatic tools can be of great help, if you won't solely rely on them. The SafeErb plugin reminds you to sanitize output, but it doesn't do it automatically. A mass-assignment scanner might find this kind of security holes in you application. Or a web application firewall may protect holes you are not aware of. And, of course, security is a process and should be incorporated into the entire project life cycle.</p><p align="justify">That having said, I'd like to show you a nice web application firewall for your .htaccess, if you happen to use Apache. It comes from <a href="http://www.0x000000.com/index.php?i=567&amp;bin=1000110111">0x000000.com</a>, a <a href="http://en.wikipedia.org/wiki/Hacker_%28computer_security%29#White_hat">whitehat hacker</a> site, and it's the result of seven years of server administration. It is not perfect, it is not especially for Rails applications or for your specific application, but it is definitely a good starting point. You can read <a href="http://www.0x000000.com/index.php?i=567&amp;bin=1000110111">the tutorial</a> for explanation.</p><p style="font-family: yui-tmp;">RewriteEngine On<br>Options +FollowSymLinks<br>ServerSignature Off<br><br>RewriteCond %{REQUEST_METHOD}&nbsp; ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]<br>RewriteCond %{THE_REQUEST}&nbsp;&nbsp;&nbsp;&nbsp; ^.*(\\r|\\n|%0A|%0D).* [NC,OR]<br><br>RewriteCond %{HTTP_REFERER}&nbsp;&nbsp;&nbsp; ^(.*)(&lt;|&gt;|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]<br>RewriteCond %{HTTP_COOKIE}&nbsp;&nbsp;&nbsp;&nbsp; ^.*(&lt;|&gt;|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]<br>RewriteCond %{REQUEST_URI}&nbsp;&nbsp;&nbsp;&nbsp; ^/(,|;|:|&lt;|&gt;|"&gt;|"&lt;|/|\\\.\.\\).{0,9999}.* [NC,OR]<br><br>RewriteCond %{HTTP_USER_AGENT} ^$ [OR]<br>RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]<br>RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]<br>RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|scan).* [NC,OR]<br>RewriteCond %{HTTP_USER_AGENT} ^.*(&lt;|&gt;|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]<br><br>RewriteCond %{QUERY_STRING}&nbsp;&nbsp;&nbsp; ^.*(;|&lt;|&gt;|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|cast|set<br>|declare|drop|update|md5|benchmark).* [NC,OR]RewriteCond %{QUERY_STRING}&nbsp;&nbsp;&nbsp; ^.*(localhost|loopback|127\.0\.0\.1).* [NC,OR]<br>RewriteCond %{QUERY_STRING}&nbsp;&nbsp;&nbsp; ^.*\.[A-Za-z0-9].* [NC,OR]<br>RewriteCond %{QUERY_STRING}&nbsp;&nbsp;&nbsp; ^.*(&lt;|&gt;|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]<br><br>RewriteRule ^(.*)$ access_log.php</p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2390114.xml</wfw:commentRss></item><item><title>[Server] Did you update OpenSSL?</title><dc:creator>Heiko</dc:creator><pubDate>Wed, 28 May 2008 09:11:11 +0000</pubDate><link>http://www.rorsecurity.info/journal/2008/5/28/server-did-you-update-openssl.html</link><guid isPermaLink="false">280802:2845483:2390113</guid><description><![CDATA[<p><p align="justify">Two weeks ago, the Debian package of OpenSSL has been found to generate weak keys (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0166">CVE</a>). Here&#39;s the news from <a href="http://www.heise-online.co.uk/news/Debian-package-of-OpenSSL-generates-weak-keys--/110727">Heise online</a>:</p><div align="justify"><blockquote><p>Security expert Luciano Bello has now discovered a critical vulnerability in the OpenSSL package which makes the random number sequences, and therefore keys generated, predictable. The problem only affects Debian and distributions derived from it, such as Ubuntu and Knoppix. [...]</p><p>OpenSSL provides connection security for many important network services, such as the Apache web server, the SSH login service, the OpenVPN service, the Bind name server, S/MIME e-mail encryption and the trustworthiness of digital signatures. This could enable attackers to listen in on and manipulate SSL connections, obtain unauthorised access to SSH servers or poison DNS server caches. </p></blockquote><p>As it is a serious security vulnerability, it is strongly advised to update your keys, especially for the SSH login service. Although the security advice is two weeks old already, there are still thousands of servers vulnerable. <a href="http://www.heise-online.co.uk/security/">Heise Security</a> found 5% of nearly 2,000 servers tested to use weak keys. </p></div></p>]]></description><wfw:commentRss>http://www.rorsecurity.info/journal/rss-comments-entry-2390113.xml</wfw:commentRss></item></channel></rss>