Over the past couple of months, I’ve gone through every tool Burp Suite has to offer. Well, almost. After teaching you how to use the Spider, the Intruder, and all the rest, there are only two more tools left. They’re both quite simple, so I’ll just squish both into one post.

Burp Decoder

Burp Decoder works a little bit like Google Translate. It’s a very simple tool that you can use to encode and decode different types of data. It is different, however, from another set of terms security professionals use, which is decryption and encryption.

Encoding data involves turning one commonly used type of data into another commonly used type of data. There are standards which are available to anyone. It’s essentially translating between languages. Dictionaries are available anywhere, and if I wanted to ask my Polish neighbour “How’s it going?” in Polish, I would tell them the same thing as if I booked a flight to Poland and asked someone there. Encoding has a practical use, but not a security-oriented one. If I had a USB that contained data in ASCII hexadecimal form that I needed to configure with a PC that uses binary, I could easily encode the ASCII hex into binary.

This is different from an encryption, the method of translation of which is known only to a select few. This is the point, so that only people who are allowed to see it should be able to.

So, in order to encode or decode data, simply paste the text into the Decoder. You have two options. If you know what the data is, for example, if you know that a certain part of a web application is using Base64, you can select ‘Decode’ on the right, and decode it as Base64. Burp will then create a second box with the data in our human language. The other way around, if you wanted to take a word and translate that into HTML, simply select the ‘Encode’ option and encode it as such.

Burp Comparer

Burp Comparer lets you make a comparison between two different pieces of data. Let’s say you wanted to brute-force your way into a login screen. You use Burp Intruder and two sets of data (one for the username and one for the password, for example) to repeatedly fuzz the site and see what kinds of responses you got. This is, by the way, something I also teach how to do on the site. Anyway, you got your results back, and you see that two responses have two different “status” values.Status Difference

You don’t know what this means, so you right click both and send both to the Comparer. Select them, and then at the bottom right, select the “Words” option. Now you have a side-by-side view of both responses so that you can easily identify the discrepancy.

For most of the websites we use, we do so under the impression that we have some sort of amount of safety. We hope that a password protected login screen will keep the bad guys out. Unfortunately, this isn’t entirely the case. One of the many ways hackers can access your account is called “Session ID Hijacking”. Essentially, when you log into your Facebook or Ebay account, the server spits out a random combination of characters which is called your “Session ID”, the point of which is to differentiate you between other users, and the page you’re currently on from other pages. It’s the computer version of “Welcome Mr Smith, enjoy your stay.” If a hacker can get their hands on the right session ID, they would be able to bypass the entire verification process and hop straight into “Welcome Mr Smith”, and have access to all of your data with relative ease. Each session ID is supposed to be randomised so that no one could guess one. This is where Burp’s Sequencer tool comes in.

The Sequencer is used to test the overall “randomness” of a variable that an application’s server provides. Not only that, but it also runs a bunch of different tests to check how easily a variable can be guessed. This is used most commonly for session IDs because these are usually the most important things to keep random on a website, however, things like cookies may also be susceptible. 

So, the first step to using the sequencer is to find the page you want to test, either through the Spider or by clicking around manually. Send a request to the page and get a response back. On a login screen, this would mean entering any username-password combo just to get an answer from the site. Right-click the response and press “Send to Sequencer”
Burp SequencerGo to the ‘Sequencer’ tab. Don’t bother fiddling with all of the different options and menus, what you want to direct your attention to is the “Token Location within Response” section in the “Live Capture” subtab. Here is where you’ll want to select what it is that you want to test for randomness. If Burp hasn’t already found it for you in the “Cookies” or “For Field” drop-down boxes, you can manually select in by clicking “Configure”, selecting it like so Tokenand clicking “OK”.

Now click “Start Live Capture”. Burp will send request tokens to the server and document its responses. It may be a little slow, but if you aren’t in a rush wait it out until it makes twenty thousand requests so you can make a good analysis. The sequencer gives you lots of different analyses, you can look at the individual tests by clicking through the tabs, but Burp does give you an overall summary on the first page. Take note that the Sequencer only gives you the information, but it doesn’t actually tell you what to do with it.Capture 15

Burp Suite is an incredibly powerful security tool, and part of what makes it that powerful is its relative simplicity. Its more powerful tools such as the Spider or Intruder are quite intuitive, and it’s filled with a load of smaller, simple tools that make a security analyst’s job much easier. These tools may be a little bit limited or one-sided in their design, but that just makes them better for the job they’re doing. Scissors are no use for cutting trees, but we don’t use them for that anyway. One of these tools is the Repeater.

The Repeater is used to manually change small bits of code in the requests you send to the web application you’re testing, without actually waiting for them to load through a browser. Say you have a login page that you’re testing for vulnerabilities. The Repeater will let you quickly make changes to the page request code, which is important if you know what you’re doing and what results you’re expecting. To use the Repeater, get Burp up and running, turn Intercept to ON, and go to the web page you want to test, let’s assume it is a login page, and simply enter any two username and password values. We are expecting you to get these wrong. The point is for Burp to intercept what the request you’re sending out looks like. And before we move on, please make sure that you’re either working with a local version of a website that won’t affect the real thing or with the conspicuous consent of the site owners, otherwise, all of this is illegal. Anyway, find the request you want in the Target tab and Site Map subtab, right click, and press ‘Send to Repeater’.Send to Repeater

Now go to the Repeater tab and you should see two spaces, one called Request, and the other called Response. Request is what you’re editing, and Response is what the website spits out back at you. From here you can change anything you want about the request in any form, from the raw data to hexadecimal values. Just press go and you’ll see how the website would react. With premium, you can even render what the code looks like. Notice that in your browser, the website hasn’t changed. From here it’s up to you and your prior HTML knowledge to start picking at the site.

Following celebrity news is a lot like watching a bad horror movie. You’re constantly wondering why every decision they make is just so stupid. Whether we’re watching Friday the 13th or TMZ, we always end up yelling “No! Stop!” at our screens. We lift our chins up boldly and proclaim “I’d never do such a thing!”. That, or we shrug our shoulders and mumble “Can’t be helped” if something random and extraordinary happens to them. That’s pretty much what I did when a month ago a huge LinkedIn password dump led to hackers gaining access to thousands of Twitter accounts, including Mark Zuckerberg’s, not that he uses his much anyway. 

What I’m saying is we think our passwords are very secure, or maybe just secure enough, until it’s too late. This particular hack happened because people tend to use the same password everywhere, or at the very least the passwords are very similar. In the case of Mark Zuckerberg, I can only imagine his LinkedIn and Twitter passwords to be Faceb00kRul3z. This is not the only way to gain access to someone’s account, however. A very common way is to get a very powerful computer to enter every possible character it can in the hopes that it’ll get a match. Burp Suite is a very powerful tool for doing this, just remember to only use it with the consent of the site owner and without malice.

The first thing you’ll want to do is load up Burp Suite (assuming you have it set up already).Burp Home

Then, go to the web application you want to break into. Click around on it, or use Burp Spider until you have enough information on the site or have found the page you want to enter. As an example, I’ll use DVWA, which is a free open-source web app made specifically to have its vulnerabilities exploited.Capture 8

What you want to do now is just enter anything into both fields and click login. The point right now is not to guess the password, but to show Burp what the response to your invalid input is. Now open your Burp window, open up the Target tab and the Site Map subtab, and find the page and request that your invalid login attempt is in. Right-click on the request and click ‘Send to Intruder’.Capture 9

Now Burp Intruder can work with the web page. Go to the Intruder tab and the Positions subtab. You should see the request script, with bits bolded in. That’s Burp letting you know where it found a login textbox or a cookie that it thinks you can work with. Find the pieces of text that you want to fuzz and use the ‘Clear’ button on the right to clear the pieces of text you want to leave alone. Above all the code there’s a drop-down bar that asks you what attack type you want.

There are four attack types: Sniper is used when you only have one piece of code you want to break into (called a position), so it throws data at it (called a payload) one by one. Battering Ram works with several positions and inserts the same payload into them all at once. Pitchfork uses several sets of payloads where it enters the different payloads into different positions at the same time. For example, if you had two positions and two payload sets, it would enter the first payload from the first set into the first position and the first payload from the second set into the second position, then the second payload from the first set into the first position and the second payload from the second set into the second position, and so on. Cluster Bomb sets the same payload into one position while running through every payload in another, then sets the second payload into the first position while running through every payload, then the third, until it finds a match. This is what we want to use since we don’t know what usernames work with what passwords, so select that.

Capture 10

Now go into the Payloads subtab. The Payload Options section is where you’ll enter the payloads that you want to be used. Either enter them by hand, or copy and paste them, or if you have the premium version, load them from the Add From List drop-down box, where Burp already prepared some for you. You can change what set you’re editing in the drop-down option in the Payload Sets section. After you’ve got all of that done

After you’ve got all of that done, you’re ready to fuzz, just press Start Attack in the top right corner of the window and your login attempts will show up on the screen. A status of 302 means your login was invalid, a status of 200 means you broke in.Capture 11

And that’s it, now you just wait and hope for the best. You may have noticed that most of the passwords are quite similar, which would make a malicious hacker’s job much easier. If you can, change your password to something a little more complex, you’ll save yourself a world of regret later.

Using Burp Suite efficiently means understanding your tools and capabilities, but it also means having a full scope of the web application you’re about to start testing. Let’s say your friend asks you for help changing their bike’s handlebars. You’d have to use a wrench to unscrew the old handlebars, replace them with new ones, and screw the new ones in. You could be a master at screwing bolts in and you could have a PhD in wrenches, but if you’ve never seen a bicycle in your life, and you don’t know where the handlebars are, you won’t be much help to your friend. The idea is the same (albeit a little less silly) with penetration testing. 

You’ll want to look at your web application the same way the guys in Ocean’s Eleven look at a casino. If you’ve never seen an Ocean’s movie, it’s about a rag-tag group of thieves who go around robbing high-profile locations. It’s all very elaborate and entertaining, but there are a couple of similarities. Before doing anything, the gang gets blueprints of the building they want to break into. Sometimes they build life-size replicas of the vaults they want to crack. They gather as much information about their target as they can before making a decision.

This is what you should do as well. When tasked with penetrating a website, check everything. Find places where a user can enter input, like text boxes or buttons. Look for any links that may lead to other websites. Check for files and forms. Get a feel for how the components of the web application interact with other web applications as well as each other.

If this seems long and tedious, that’s because it is. Nobody has the time or the patience to click and prod every nook and cranny, which is why Burp has a built-in function for it. It’s called Burp Spider and its job is to make yours a whole lot easier. It crawls your site and tells you of all of the different elements that it has to offer. Finding and identifying vulnerabilities is up to you, but the program really does take some weight off your shoulders. Fair warning, however, the spider can miss things, which is why you should always double check what it gives you to make sure you have everything you need.

Using Burp Spider is easy, first, open up Burp and go to the desired URL. Go to the ‘Target’ tab and the ‘Site map’ subtab. Right-click the URL and select “Add to Scope”.Add to Scope

This tells Burp what exactly it should be working with. Anything within the “scope” is data that can be scanned and penetrated, anything outside is fluff. This way you can have lots of tabs open and only crawl what you need to crawl. The next step is to right-click that same URL and select “Spider this Branch”. More files should show up on the right-hand side.Spider Branch

And that’s it. You are now free to analyse the files Burp gives you and begin to manipulate them. I’ll soon be making more posts about the other functionalities Burp has that will help you become a better white-hat hacker.

Before we can get into the real nitty-gritty of what Burp Suite is and what it does, we’ll have to take baby steps getting into it. And the first step is configuring Burp Suite to work with our browsers. This Burp Suite setup guide will show you how. First, let’s open it up. I should mention that to run the Burp .jar file you need version 1.6 or later of Java. If you’re not sure what version you have, you can just type “java -version” into Command Prompt and it’ll tell you. Unless your computer has a virus made specifically to stop Burp Suite from running, you should see a splash screen, and then this:New Project

I’m going to assume you didn’t already buy the premium version or Burp, so just click Next with ‘Temporary Project’ selected, and select ‘Use Burp Defaults’ and click Start Burp on the screen after that. Now we’re here:
Burp Home

I remember the reaction I had the first time I came upon this page, which was “Woah”; that top bar has more tabs than I have immediate family members. Don’t you worry dear reader, I’ll go over each tab one by one, and you’ll be a pro at this in no time. For now, we can ignore most of these and focus on what we’re trying to do right now, which is set up Burp with a browser of your choice. Let’s go to the second tab, ‘Proxy’, and then the ‘Options’ subtab under it. I’ll show what we’re looking for specifically:Proxy Listener

Check to make sure that in the Proxy Listeners table there is an entry that has the values I underlined here. If there isn’t, press the gear to the left of the table and then ‘Restore Defaults’.

The next thing we’re going to do is set up your browser to use Burp as an HTTP proxy server. It’s different for every browser, so I’ll just put them all and you can skip ahead to the browser you’re working with.

Internet Explorer:
Press the gear at the top right corner and then ‘Internet Options’. This will take you to this window:IE Internet Options

Go to the Connections tab at the top and press ‘Lan Settings’. Uncheck the ‘Automatically detect settings’ and ‘Use automatic configuration script’ boxes. Check the “Use a proxy server for your LAN” box and enter the Burp proxy listener address and  port which are and 8080 by default. Uncheck “Bypass proxy server for local addresses” box if it’s checked. Click ‘Advanced’ and check the ‘Use the same proxy server for all protocols’ box, and make sure that are no entries in the ‘Exceptions’ field. 

Chrome uses the same proxy settings as your computer, so you can just follow the instructions for Internet Explorer and Chrome will pick up on it as well.

Press the three lines in the top right corner, click on ‘Options’ and then ‘Advanced’ on the left. Click the ‘Network’ tab and click on the ‘Settings’ button under ‘Connection’. Now you’re here:Firefox Connections Options

Select ‘Manual proxy configuration’ and enter your Burp proxy listener ( in the HTTP Proxy field and 8080 for the port. Check the ‘Use this proxy server for all protocols’ box and make sure the ‘No Proxy for’ field is empty (unlike in the picture example).

After Setting Up Browser
I just made this subtitle so you wouldn’t get confused about where the Firefox heading ends. Anyway, try out what you have so far by going to any HTTP website (not HTTPS yet, I’ll get to that).The site shouldn’t load completely, and that’s what’s supposed to happen. Open up Burp again and go to the ‘Proxy’ and then the ‘Intercept’ tab under it. Your HTTP request should be there. This just means that Burp intercepted your HTTP request for tinkering. Click on the ‘Intercept is on’ button so it changes to ‘Intercept is off’, and that will allow the website to load. If you tried to load an HTTPS URL though, you would get a warning from your browser. To allow you to work with HTTPS URL’s, you need to download Burp’s CA certificate, which is different for each browser.

Internet Explorer
With Burp running, go to http://burp/ and click on CA Certificate at the top. Download the file and open it. Click ‘Install Certificate’, then ‘Next’, then ‘Place all certificates in the following store’ and ‘Browse’. Here it should give you a small window with a bunch of different folders. Select ‘Trusted Root Certification Authorities’ and then just click ‘Next’, ‘Finish’, and ‘Yes’ to complete the installation process. Restart IE and you should be able to go to any HTTPS website.

Just as before, Chrome uses the same settings as IE does so just follow the instructions for that.

With Burp running, go to http://burp/ and click on CA Certificate at the top. Download the file, but you don’t have to open it. Press the three little lines at the top right and then ‘Options’. Click on the ‘Advanced’ tab, and then the ‘Certificates’ subtab. Click on ‘View Certificates’. Select the ‘Authorities’ tab, and ‘Import’. Find the file you downloaded just now and click ‘Open’. A dialog box should pop up, check ‘Trust this CA to identify web sites’ and click ‘OK’. Close everything and after restarting Firefox you should be able to go to any HTTPS website.

In The End
If everything is running smoothly, you should be able to intercept HTTP and HTTPS websites without a hitch. In a couple of day I’ll start posting about the different bits and pieces of Burp, and what makes it such a powerful tool.

One of the main aspects of security is penetration testing and vulnerability assessments. Simply put, these terms are just fancy ways of saying that the only safe way to know how you can be hacked is to hack yourself. Companies hire security consultants to legally tear apart their websites piece by piece and put them back together again, stronger and more secure than they were before. Security consultants (and malicious hackers) employ several tools to do their jobs, one of which being Burp Suite.

Burp Suite is an interception proxy. What a proxy is, is it’s a program, computer, or server that acts as a hub that your network will use to access the internet. They’re usually used to anonymize the user by hiding his or her IP address, and replacing it with the address of the proxy instead. This allows the user to hide their identity from the rest of the world. Burp Suite works on the same principle. It takes the internet traffic going through it and (here’s the fun part) lets us mess with this traffic. That’s where the “interception” part of “interception proxy” comes in. I’ll make a separate post on how to set up the program itself and how to configure it with your machine because there are quite a few steps to do that; this post is just to help you understand what you can do with Burp.

Burp has a number of tools that you can use to perform a wide variety of tasks, ranging from simple to incredibly advanced. These tools are shown as subsections in the program.

  • The first is Spider, which you can use to crawl a site or web application. “Crawling” is the act of sifting through every page that a site has to offer in order to gain the scope of the task. Without it, you might miss a couple of vulnerabilities that you could have caught. If you have the time for it, crawl manually without Spider, or at the very least don’t rely solely on the program to do it for you, it can make mistakes too.
  • Next is Scanner, a premium-only program that makes your job easier by scanning the site for any vulnerabilities. This is a pretty important tool and is worth Premium’s price point.
  • The Intruder tool comes next, and it’s a powerful one. This is your main attacking tool that you’ll use to prod and poke at a website to see what makes it tick. You can use it for a very large variety of purposes, for example, if the site has the option of letting a user sign up or log in, you can try to see what characters work, what don’t, and what crash the site or give administrator access by accident. 
  • Repeater, similarly to Intruder, can be used to repeatedly (thus the name) issue HTTP requests into different input or manipulation fields.
  • Sequencer looks over the site’s random elements, the important stuff that you want to be encrypted or randomised, and analyses just how random it is.
  • Decoder, a relatively simple tool, decodes and encodes (translates) different types of data. It takes HTML, URL, Base64, GZIP, hexadecimal, ASCII hexadecimal, Octal, and Binary.
  • Finally, the Comparer tool makes comparisons between two pieces of data. If two pieces of data are both much too long you can pop them both into the Comparer and it’ll tell how they differ.

This is a very, very, very basic look at what Burp Suite is and what it can do for you. I’ll be rolling out blog posts with specific instructions and examples for each tool in the coming weeks. Keep these in mind until then and remember to always stay on your toes. See you next week.