Security Vulnerabilities with JPetStore and visualization of the AutoBinding Issues
Hi, I just posted the following blog post (Finally... here is how I have been analysing Spring MVC apps using O2) which contains details about:
- a tool to exploit a number of vulnerabilities in the JPetStore application (from the browser)
- a tool to exploit a number of vulnerabilities in the JPetStore application (from the browser)
- a tool to visualize the Spring MVC mappings (URLs, Controllers and CommandClass) using static analysis
- a tool to automatically start and stop the JPetStore
- link to a research paper I co-wrote in 2008 that talks about this problem
I would like to stress that every single security review that I have done on Spring MVC-based applications in the last couple years had high/critical vulnerabilities created by the Spring AutoBinding, so I really would like to start a dialog on how to come up with solutions to help developers.
For example, on my last security engagement, we ended up using a solution based on 'wrapper classes with only setters for the AutoBinding' which proved to be a much better solution than using the *AllowedFields solution. I would like to explore this further, and see if we can come up with a more 'native' solution.
I also would like to get the Spring Mappings direcly from the Spring engine and not have to perform the type of analysis that I'm currently doing with OWASP O2 Platform.
If my blog post on this topic is too big to consume originally, you might want to start with these videos:
JpetStore - View Spring MVC Controllers and CommandClasses
http://www.youtube.com/watch?v=ZQd7xqAlSRc
JpetStore - BlackBox Exploits
http://www.youtube.com/watch?v=yzTExpNZ2bw
JpetStore - Start Server and Make sure everything is working
http://www.youtube.com/watch?v=8Y_zvzLGNtg
Let me know what you think about these techniques, and what should be the next steps
Thanks
Dinis Cruz