Joseph Beeton
I'm a recovering Java Developer. I started my career as a Java developer writing Archive/Backup software before moving to a large financial company working on webapps and the backend APIs. However, after a while, writing yet another microservice isn't that much fun anymore but breaking them was. So, I moved to Application Security and from there to research. I now work as a Staff Application Security Researcher for Contrast Security.
Session
There is a widespread belief that services that are only bound to localhost are not accessible from the outside world. Developers for convenience sake will run services they are developing configured in a less secure way compared to how they would (hopefully!) do in higher environments.
By compromising websites developers use, just injecting JS into adverts served on those sites or just a phishing attack that gets the developer to open a web browser on a compromised page, it is possible to reach out via non pre-flighted http requests to those services bound to localhost, by exploiting common misconfigurations in Spring, or known vulnerabilities found by myself and others. I’ll demonstrate during the talk, it is possible to generate a RCE on the developer’s machine or other services on their private network.
As developers have write access to codebases, AWS keys, server creds etc., access to the developer’s machine gives an attacker a great deal of scope to pivot to other resources on the network, modify or just steal the codebase.