Interstell, Inc.

Security, Application Security, and Software Research

Category: Java

Your Java Web App Allows Uploads? I Am SO Sorry!

Introduction Does your Java web application have to allow users to upload files? My condolences! Uploading a file to your web server is like inviting the Trojans to bring in their horse. A big horse, made of wood, that sounds suspiciously hollow. Except for whatever’s rolling around in there. In some cases, that’s literally what’s happening! Such a dangerous operation requires extraordinary protections, and in this post, I’ll cover one […]

Continue Reading →

Can’t Use Whitelists for your Java Web App? Don’t Abandon Hope!

We all know protecting input is important. A few posts ago, I talked about one option: using whitelists. Implementing a whitelist means you only allow a certain (generally small) set of character into your input fields. I pointed out that they’re great for web applications that are very, very focused in their functionality, like a financial application. What if your application isn’t so simple or focused? What if you have […]

Continue Reading →

Protecting Input: Don’t Allow SQL Injection, Java Style!

Introduction The problem with databases is that they do what we tell them to. Really, that’s so annoying sometimes! Does that sound like an irrational statement? Unfortunately, it’s not, and that’s because there are malicious folks in the world who would like nothing better than to either steal your data or ruin it. And it’s all because databases will happily execute any legal command you give them — even it […]

Continue Reading →

Protecting Input: Implement Whitelists

Introduction We all know how important it is to keep malicious content from getting into our websites. Many of the most common attacks the Open Web Application Security Project (OWASP) lists, like Injection, Cross-site Scripting, or Unvalidated Redirects and Forwards, are only possible if the application doesn’t disallow bad content. There’s more than one way to accomplish this, and I’ll present several over the next few blog posts. We’ll start […]

Continue Reading →