<div dir="ltr">Hi,<div>As suggested in paper that we have traditional method of preventing CSRF by sending a token to the client [by modifying URL and using a cookie] and then for each request made by client match these two parameters. Also it states this is not a very popular method because <b>developer </b>tends to commit mistake, thus <b>forget to implement</b> this everywhere required, leaving <b>loopholes</b>.</div>

<div><br></div><div>I'm asking isn't there a way that we make sure using the library its very easy for developer to incorporate this feature like all other functions and r<b>educe the risk of CSRF if </b>he's<b> not using CSRF guard </b>on his server?</div>

<div><br></div><div>Regards,</div><div>Minhaz</div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><br></div><font color="#666666">Minhaz</font><div><font color="#666666"><a href="http://cistoner.org" target="_blank">cistoner.org</a></font></div>

</div></div>
<br><br><div class="gmail_quote">On Sun, Feb 23, 2014 at 5:13 AM, Abbas Naderi <span dir="ltr"><<a href="mailto:abiusx@owasp.org" target="_blank">abiusx@owasp.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word">The proxy that OWASP is going to implement is based on Prof. Sekar’s paper. I suggest it a long time ago.<div><br></div><div>As for CSRF protection as a library, unfortunately libraries are not very effective, mostly due to ajax calls. I have some code snippets in the PHP Security Cheat Sheet.</div>

<div><br></div><div>The jWidget component of jframework, which essentially implements pull MVC, has a good implementation of CSRF in it. That’s the only effective way I could think of.</div><div>Thanks</div><div>-A</div>
<div>
<br><div>
<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<span style="border-spacing:0px;text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;line-height:normal;border-collapse:separate;text-transform:none;white-space:normal;font-family:Helvetica;word-spacing:0px"><div style="word-wrap:break-word">

<div style="font-weight:normal"><div>______________________________________________________________</div><div><b>Notice:</b><b> </b>This message is <b>digitally signed</b>, its <b>source</b> and <b>integrity</b> are verifiable.</div>

<div>If you mail client does not support S/MIME verification, it will display a file (smime.p7s), which includes the X.509 certificate and the signature body.  Read more at <a href="http://abiusx.com/certified-e-mail-with-comodo-and-thunderbird/" target="_blank">Certified E-Mail with Comodo and Thunderbird</a> in <a href="http://AbiusX.com" target="_blank">AbiusX.com</a></div>

</div></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span></div></span>
</div>
<br><div><div><div class="h5"><div>On Feb 22, 2014, at 2:53 PM, Minhaz A V <<a href="mailto:minhazav@gmail.com" target="_blank">minhazav@gmail.com</a>> wrote:</div><br></div></div><blockquote type="cite"><div><div class="h5">

<div dir="ltr">Hi all,<div>I'm of impression that PHPSEC covers / mitigates most of the vulnerabilities that exist in OWASP Top 10 list except CSRF. Also this is something that OWASP aims to cover in this year's GSOC. </div>



<div>With<b> OWASP CSRF guard</b> OWASP is aiming to implement a server-side proxy which can directly help mitigating CSRF without developer's intervention. </div><div><br></div><div>But as a set of security library, I think CSRF prevention method should be implemented in phpsec as well! We could use traditional token based method here!</div>



<div>Correct me if it has already been implemented :O</div><div><br></div><div><div><div dir="ltr"><div><br></div><font color="#666666">Minhaz</font><div><font color="#666666"><a href="http://cistoner.org/" target="_blank">cistoner.org</a></font></div>



</div></div>
</div></div></div></div>
_______________________________________________<br>OWASP_PHP_Security_Project mailing list<br><a href="mailto:OWASP_PHP_Security_Project@lists.owasp.org" target="_blank">OWASP_PHP_Security_Project@lists.owasp.org</a><br>

<a href="https://lists.owasp.org/mailman/listinfo/owasp_php_security_project" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp_php_security_project</a><br></blockquote></div><br></div></div></blockquote></div>

<br></div>