<html><body bgcolor="#FFFFFF"><div>Black listing is so 2009</div><div>(and poor advice)</div><div><br><br><div><br></div><div>&nbsp;</div></div><div><br>On 11 Oct 2011, at 15:54, Mark Curphey &lt;<a href="mailto:mark@curphey.com">mark@curphey.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div><div>FYI your advice for <a href="http://ASP.net"><a href="http://ASP.net">ASP.net</a></a> is not what we (msft) recommend for XSS protection. Use anti-xss lib. It's what we built it for. Your recommendation has several issues.<br><br>Sent from my iPhone</div><div><br>On Oct 11, 2011, at 7:49 AM, Somen Das &lt;<a href="mailto:somen.das@owasp.org"><a href="mailto:somen.das@owasp.org">somen.das@owasp.org</a></a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div><div>Dear All,</div>
<div>&nbsp;</div>
<div>I some what agree with venkatesh, where in if examples can be given for individual languages againt XSS or SQLi developers from respective fields can understand what is wrong &amp; what they need to do. For example:</div>

<div>&nbsp;Cross-site scripting vulnerability The following characters can be harmful and should be filtered whenever they appear in the application input or output. In output, you should translate these characters to their HTML equivalents before returning data to the<br>
browser.<br>&gt; &lt; ( ) [ ] ' " ; : / |</div>
<div>&nbsp;</div>
<div><strong>Java</strong></div>
<div>Vulnerable code:<br>Consider the following code:<br>&lt;% String sid = request.getParameter("sid"); %&gt;<br>...<br>Student ID: &lt;%= sid %&gt;</div>
<div>&nbsp;</div>
<div>Filtering:<br>The safest and most prevalent method of preventing against attack is to only accept data that is valid and reject everything else. For example, if the data is expected to be alphanumeric, then any input that is not should be rejected.<br>
String Str = request.getParameter("input");<br>String Pattern = "^\\d+$";<br>if (!Str.matches(Pattern))<br>/* invalid input, take appropriate action*/&nbsp;</div>
<div><br><strong>PHP</strong><br>The following PHP functions help mitigate Cross-Site Scripting Vulnerabilities:<br>Strip_tags() removes HTML and PHP scripting tags from a string.<br>Utf8_decode() converts UTF-8 encoding to single byte ASCII characters. Decoding Unicode input prior to filtering it<br>
can help you detect attacks that the attacker has obfuscated with Unicode encoding.<br>Htmlspecialcharacters() turns characters such as &amp;,&gt;,&lt;,” into their HTML equivalents. Converting special<br>characters to HTML prevents them from being executable within browsers when sent by an application.<br>
Strtr() filters any characters you specify. Make sure to filter “; : ( )” characters so that attackers cannot craft strings<br>that generate alerts. Many XSS attacks are possible without the use of HTML characters, so filtering and encoding<br>
parentheses mitigates these attacks. For example:<br>" style="background:url(JavaScript:alert(Malicious Content));</div>
<div><strong><a href="http://ASP.NET"></a><a href="http://ASP.NET"><a href="http://ASP.NET">ASP.NET</a></a><br></strong>With <a href="http://ASP.NET"></a><a href="http://ASP.NET"><a href="http://ASP.NET">ASP.NET</a></a>, you can use the following functions to help prevent Cross-Site Scripting:<br>· Constrain input submitted via server controls by using <a href="http://ASP.NET"></a><a href="http://ASP.NET"><a href="http://ASP.NET">ASP.NET</a></a> validator controls, such as RegularExpressionValidator, RangeValidator, and System.Text.RegularExpression.Regex. Using these methods as server-side controls to limit data input to only allowable character sequences by validating input type, length, format, and character range.<br>
· Use the <strong>HtmlUtility.HtmlEncode</strong> method to encode data if it originates from either a user or from a database.<br>HtmlEncode replaces special characters with their HTML equivalents, thus preventing the output from being executable in the browser. Use <strong>HtmlUtility.UrlEncode</strong> when writing URLs that may have originated from user input or stored database information.<br>
· Use the <strong>HttpOnly</strong> cookie option for added protection.<br>· As a best practice, you should use regular expressions to constrain input to known safe characters. Do not rely solely on <a href="http://ASP.NET"></a><a href="http://ASP.NET"><a href="http://ASP.NET">ASP.NET</a></a> validateRequest, but use it in addition to your other input validation and encoding mechanisms.</div>

<div><br>Thanks &amp; stay secure,</div>
<div>Somen das</div>
<div>Chapter Leader Bhubaneswar<br>&nbsp;</div>
<div class="gmail_quote">On Tue, Oct 11, 2011 at 7:48 PM, Andrew van der Stock <span dir="ltr">&lt;<a href="mailto:vanderaj@owasp.org"></a><a href="mailto:vanderaj@owasp.org"><a href="mailto:vanderaj@owasp.org">vanderaj@owasp.org</a></a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div style="WORD-WRAP: break-word">These are all great ideas, but it's bed time for me as I have to get up in 5 hours time.&nbsp; 
<div><br></div>
<div>In some ways, this proactive project is a perfect Level 1 ASVS starter criteria, leaving Levels 2-4 to cope with ever more increasing requirements.&nbsp;</div>
<div><br></div>
<div>Although completely imperfect to me (and has been for years), there are many who probably would be very surprised / upset if every original OWASP Top 10 control changed between 2010 and 2012 editions. So probably best to make a new project that doesn't distort the existing 2012 process or resulting document. Hopefully, the new proactive project can get some serious marketing oomph / promotion so as to get some traction outside of traditional OWASP Top 10 consumers. &nbsp;</div>

<div><br></div>
<div><b>@Anyone on the projects committee</b> - can you please help create a&nbsp;</div>
<div><br></div>
<div>"OWASP Top 10 Proactive Controls"&nbsp;</div>
<div><br></div>
<div>project and mail list? I will fill in any necessary electronic wiki bits and pieces, forms etc - but after I wake up.&nbsp;</div>
<div><br></div>
<div>Although I like the idea of calling it "OWASP Appsec TODO:", the reality is that I want it to encompass the business folks, too, and they may not get the TODO: reference*.&nbsp;</div>
<div><br></div>
<div>
<div>I've been looking for a graceful way to bow out of the Global Chapter Committee for a while whilst still remaining involved with OWASP, and I think I've just found it. The GCC meeting times are just too difficult for me to get to now that I don't work from home. This project sounds like a potentially very valuable project in its own right, particularly if we can coordinate with / revitalise the ASVS project. &nbsp;</div>
</div>
<div><br></div>
<div>
<div>thanks,</div>
<div>Andrew</div>
<div><br></div>
<div>* My code often has XXX: comments, but that's not suitable for a project title ;-)</div>
<div>
<div></div>
<div class="h5">
<div><br>
<div>
<div>On 12/10/2011, at 12:54 AM, Venkatesh Jagannathan wrote:</div><br>
<blockquote type="cite">
<div>I am *ALL* for this. Can we get a project started on this? You can count me in for contributing to this project :)</div>
<div>&nbsp;</div>
<div>Thanks &amp; Regards,</div>
<div>~Venki<br><br></div>
<div class="gmail_quote">On Tue, Oct 11, 2011 at 4:43 PM, Andrew van der Stock <span dir="ltr">&lt;<a href="mailto:vanderaj@owasp.org" target="_blank"></a><a href="mailto:vanderaj@owasp.org"><a href="mailto:vanderaj@owasp.org">vanderaj@owasp.org</a></a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div style="WORD-WRAP: break-word">One of the things I'd really like for the Top 10 2012 is to stop focusing on the things that went wrong in the previous 12 months, and start to concentrate on the Top 10 things to get right for the next five years. The existing Top 10 regularly gets incorporated without permission into various other standards, and it's 100% the wrong way around for that purpose. The Top 10 was never designed to be a standard.&nbsp; 
<div><br></div>
<div>To address this, here's my short list (in order):</div>
<div>
<ol>
<li>Security Architecture (including incorporating agile ideas)</li>
<li>Use a (more) secure development frameworks and leverage enterprise frameworks (UAG, etc)</li>
<li>Input validation</li>
<li>Output Encoding</li>
<li>Identity: Authentication and Session Management</li>
<li>Access Control (service / controller, data, URL, function / CSRF, presentation, etc)</li>
<li>Data Protection (Data at rest, including in cloud)</li>
<li>Audit, Logging and Error Handling</li>
<li>Secure Configuration&nbsp;</li>
<li>Secure Communications (Data in transit)</li></ol>
<div>All of the items must be testable. All items must be positively framed and eliminate entire CWE classes in their own right.&nbsp;</div>
<div><br></div>
<div>Thoughts?</div>
<div><br></div></div>
<div>thanks,</div>
<div>Andrew</div></div><br>_______________________________________________<br>OWASP-Leaders mailing list<br><a href="mailto:OWASP-Leaders@lists.owasp.org" target="_blank"></a><a href="mailto:OWASP-Leaders@lists.owasp.org"><a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a></a><br><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders" target="_blank"></a><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders"><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a></a><br>
<br></blockquote></div><br></blockquote></div><br></div></div></div></div></div><br>_______________________________________________<br>OWASP-Leaders mailing list<br><a href="mailto:OWASP-Leaders@lists.owasp.org"></a><a href="mailto:OWASP-Leaders@lists.owasp.org"><a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a></a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders" target="_blank"></a><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders"><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a></a><br><br></blockquote></div><br>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>OWASP-Leaders mailing list</span><br><span><a href="mailto:OWASP-Leaders@lists.owasp.org"><a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a></a></span><br><span><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders"><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a></a></span><br></div></blockquote></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>OWASP-Leaders mailing list</span><br><span><a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a></span><br><span><a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a></span><br></div></blockquote></body></html>