Damon Cortesi's blog

Musings of an entrepreneur.

Absinthe XML Load Problems

| Comments

As I mentioned in my Blind SQL Haxoring post, I use Absinthe from time-to-time to assist me, even if I have whipped up my own perl script. I only recent added Oracle support, so Absinthe still came in handy.

One of the nice features of Absinthe was that it could restart a scan if some sort of exception or error occured, which comes in handy when you get such an exception after spending 4 hours enumerating 200 tables. Even better, it allows you to save the data to an xml file (with quite a nice stylesheet, I might add). It also allows you to load the data back in from the xml file, but this functionality has never worked for me and I was always frustrated by it. I usually got some sort of system.xml.xmlreader: root element missing exception. It seemed like something of an xml formatting error, but I could never track it down.

Well tonight, I finally decided to stop whining and actually do something about it. Seeing as how I don’t have enough HDD space left on my Windows partition for Visual Studio, I jumped over to Linux and downloaded the Absinthe Source. After some battles with figuring out how mono worked (never used it before) and trying to compile the project by hand until remembering it uses nant to build (much easier!), I dug into the source and employed my uber-debugging skills to the world of C#. It took a while, but I finally came across the cause of the problem and now you can see my first-ever patch to the open-source world.