Ever have one of those days where nothing really seems to go right? You're working on something that should be simple and it ends up throwing seemingly unexplainable errors back at you no matter what you try? Then when it does work, you're not sure what you changed that fixed it. Yeah -- me, too.

John H. Sawyer, Contributing Writer, Dark Reading

October 28, 2009

3 Min Read

Ever have one of those days where nothing really seems to go right? You're working on something that should be simple and it ends up throwing seemingly unexplainable errors back at you no matter what you try? Then when it does work, you're not sure what you changed that fixed it. Yeah -- me, too.I'm currently working on a Web application vulnerability assessment. It's one I looked at years ago, but a lot of changes have been made since then and they want a fresh look at it. The task sounds easy enough, even though it is a relatively complex application. To save time, I decided to chain together the inline Web proxies I usually use for Web app testing. Good idea, bad implementation.

I started out with my Web app testing profile in Firefox fully "weaponized" per the Samurai WTF Add-Ons Collection I wrote about last week in "Firefox Web Browser Weaponization Redux." Next, I configured it to go through Burp Suite's Proxy. This is my normal setup when testing, but to streamline testing, I added ratproxy into the mix. Now my Web requests would start in Firefox, get proxied through Burp Proxy to ratproxy, which would then pass my requests to the target Web server. Simple, right?

Heck no! I kept logging into the Web app only to be denied again and again. I sent e-mail to the developers to confirm my credentials were correct and they said they were. So I tried logging in with my normal Firefox user profile and no proxies. Voila! The creds worked. Watching the login through Tamper Data cause a light to go on: NTLM authentication.

It turns out that as awesome as ratproxy is, it does not support NTLM authentication. Burp Proxy does support NTLM, but I had to read the documentation on how to enable it properly. Now as I'm walking through the Web app, my requests go from Firefox to ratproxy and on through Burp Suite.

To add to the fun, I'm also running Nikto (new version released on Oct 18) through ratproxy and Burp Suite. Now I've got multiple tools handling logging, two of which are looking for vulnerabilities. Ratproxy is checking passively, Nikto is actively scanning for know issues.

The moral of the story: know your tools. I wasted at least 30- to 45 minutes because I didn't know ratproxy lacked support for NTLM authentication and wasn't configuring it properly in Burp Suite. In my defense, out of about a hundred Web apps I tested, this is the only one to use NTLM authentication.

John H. Sawyer is a senior security engineer on the IT Security Team at the University of Florida. The views and opinions expressed in this blog are his own and do not represent the views and opinions of the UF IT Security Team or the University of Florida. When John's not fighting flaming, malware-infested machines or performing autopsies on blitzed boxes, he can usually be found hanging with his family, bouncing a baby on one knee and balancing a laptop on the other. Special to Dark Reading.

About the Author(s)

John H. Sawyer

Contributing Writer, Dark Reading

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like


More Insights