Skip to main content

BurpCSJ extension release

As part of my research and talk titled "Augmented Reality in your web proxy" presented during the HackPra AllStars program / OWASP AppSec EU 2013  security conference in Hamburg, I decided to release a new Burp Pro extension which integrates Crawljax, Selenium and JUnit.

I decided to take this approach to increase application spidering coverage (especially for Ajax web apps), speed up complex test-cases and take advantage of the Burp Extender API.

Downloads
  • BurpCSJ extension JAR - download (all dependencies included)
  • BurpCSJ source code - github
  • "Augmented Reality in your web proxy" - presentation (slideshare)
Getting started
  1. Download BurpCSJ;
  2. Load BurpCSJ extension jar via the Extender tab;
  3. Choose the URL item from any Burp tab (e.g. target, proxy history, repeater); 
  4. Right click on the URL item;
  5. Choose menu item "Send URL to Crawljax";
  6. Crawljax will automatically start crawling the URL that you choose.
Tutorials


Screenshots







Videos

BurpCSJ extension in action:










Comments

  1. Bellissimo, ottimo lavoro!
    I follow you with great fashinated interest on Twitter and in all your conferences.
    Thank you.
    Odisseus

    ReplyDelete
  2. Attempting to load extension within burp suite on OSX is generating an error. (java.lang.UnsupportedClassVersionError: burp/BurpExtender : Unsupported major.minor version 51.0)
    From what i can tell it is forcing a specific JDK (Java 7?). This will not load with a standard Java installation on OSX and requires updating to a somewhat unsupported Java 7. Can anything be done for compatibility for OSX users?

    ReplyDelete
    Replies
    1. Hey, thanks for the feedback. I have not tested BurpCSJ on OSX so not sure what exactly could be the issue. Feel free to create a ticket on github: https://github.com/malerisch/burp-csj/issues with full stack trace so I can try to understand why it fails. Thanks.

      Delete
  3. Great work Roberto, can i also join your fan club? :)
    I heard italian hackers are the best at getting those little black boxes.

    ReplyDelete

Post a Comment

Popular posts from this blog

Pwning a thin client in less than two minutes

Have you ever encountered a zero client or a thin client? It looks something like this... If yes, keep reading below, if not, then if you encounter one, you know what you can do if you read below... The model above is a T520, produced by HP - this model and other similar models are typically employed to support a medium/large VDI (Virtual Desktop Infrastructure) enterprise. These clients run a Linux-based HP ThinPro OS by default and I had a chance to play with image version T6X44017 in particular, which is fun to play with it, since you can get a root shell in a very short time without knowing any password... Normally, HP ThinPro OS interface is configured in a kiosk mode, as the concept of a thin/zero client is based on using a thick client to connect to another resource. For this purpose, a standard user does not need to authenticate to the thin client per se and would just need to perform a connection - e.g. VMware Horizon View. The user will eventually authenticat

Microsoft .NET MVC ReDoS (Denial of Service) Vulnerability - CVE-2015-2526 (MS15-101)

Microsoft released a security bulletin ( MS15-101 ) describing a .NET MVC Denial of Service vulnerability ( CVE-2015-2526 ) that I reported back in April. This blog post analyses the vulnerability in details, starting from the theory and then providing a PoC exploit against a MVC web application developed with Visual Studio 2013. For those of you who want to see the bug, you can directly skip to the last part of this post or watch the video directly... ;-) A bit of theory The .NET framework (4.5 tested version) uses backtracking regular expression matcher when performing a match against an expression. Backtracking is based on the NFA (non-deterministic finite automata) algorithm engine which is designed to validate all input states. By providing an “evil” regex expression – an expression for which the engine can be forced to calculate an exponential number of states - it is possible to force the engine to calculate an exponential number of states, leading to a condition defined su

Alcatel Lucent Omnivista or: How I learned GIOP and gained Unauthenticated Remote Code Execution (CVE-2016-9796)

It is time for another advisory or better a blog post about Alcatel Lucent Omnivista  and its vulnerabilities. Omnivista is a central management network tool and it is typically used in medium/large organisation with a complex VoIP/SIP infrastructure. Interestingly enough, this software belongs to the niche of "undownloadable" software and it requires a license to work as well. My "luck" came during an engagement where it was already installed and this post documents one of the many 0days discovered during such audit. The reasons why I wanted to dedicate a single blog post on this vulnerability are several. First, remote code execution (RCE) is always a sweet bug to show. Second, I strongly believe that documenting vulnerabilities in applications using old protocols and standards, respectively GIOP and CORBA, can be beneficial for the infosec community, since no many examples of vulnerabilities in such applications are available or published on the Interne