<div dir="ltr">Although the security manager should (depending on configuration and policy) protect against certain exploit vectors (like starting processes,saving files or loading new classes), I don't think it will be able to protect the actual application. <div>
<br></div><div>As far as I know and saw, we can create and invoke any class or method that exists inside the JVM (i.e. I don't think you can restrict the object creation to simple types). So to have access to the the application code, all that is needed is a static reference or a factory class. </div>
<div><i><br></i></div><div><i><a href="http://blog.diniscruz.com/2013/08/using-xmldecoder-to-execute-server-side.html">On my blog post</a> take a look at the <span style="font-weight:bold">5 - create item (and calc).xml </span>example<span style="font-weight:bold"> </span>(which calls the Runtime.getRuntime() static method) or the </i><b>8c - HttpResponse - return JavaProperties.xml </b>example (which calls the <i>org.restlet.Response.getCurrent() </i>method)</div>
</div><div class="gmail_extra"><br clear="all"><div><br>Dinis Cruz<br><br>Blog: <a href="http://diniscruz.blogspot.com">http://diniscruz.blogspot.com</a><br>Twitter: <a href="http://twitter.com/DinisCruz">http://twitter.com/DinisCruz</a><br>
Web: <a href="http://www.owasp.org/index.php/O2">http://www.owasp.org/index.php/O2</a></div>
<br><br><div class="gmail_quote">On 6 August 2013 15:29, Rogan Dawes <span dir="ltr"><<a href="mailto:rogan@dawes.za.net" target="_blank">rogan@dawes.za.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I wasn't aware that this was possible. Nice work!<br>
<br>
I'd be very interested in seeing how a Security Manager can be used to sandbox a class like this.<br>
<br>
If you restrict it to elementary Objects such as String, Integer, Boolean, Float, etc, and Collection classes such as Map and List, I suspect that you should not be able to do too much damage. How would you get a reference to the application code, anyway, to attack the application assets?<span class="HOEnZb"><font color="#888888"><br>

<br>
Rogan</font></span><div><div class="h5"><br>
<br>
<br>
On 06/08/2013 14:38, Dinis Cruz wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Hi, where you aware that XmlDecoder could be used this way:<br>
<a href="http://blog.diniscruz.com/2013/08/using-xmldecoder-to-execute-server-side.html" target="_blank">http://blog.diniscruz.com/<u></u>2013/08/using-xmldecoder-to-<u></u>execute-server-side.html</a> (see<br>
examples at the end)<br>
<br>
Me and Abe presented that last week at DefCon and the awareness was very<br>
low.<br>
<br>
I'm also sure that there are other dangerous/exploitable uses of<br>
XmlDecoder on other REST or web apis.<br>
<br>
Finally what about fixing/mitigating this? It looks like Java Sandboxing<br>
using the Security manager is one option, but even that will not be<br>
safe, since the attacker will be able to attack the application assets.<br>
<br>
Any other ideas?<br>
<br>
Dinis Cruz<br>
<br>
<br></div></div><div class="im">
______________________________<u></u>_________________<br>
OWASP-Leaders mailing list<br>
<a href="mailto:OWASP-Leaders@lists.owasp.org" target="_blank">OWASP-Leaders@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders" target="_blank">https://lists.owasp.org/<u></u>mailman/listinfo/owasp-leaders</a><br>
<br>
</div></blockquote>
<br>
</blockquote></div><br></div>