Walkthrough of the Burp Suite Other Modules Web Application pentesting room focusing on the practical sections.
Decoder Encoding/Decoding
We have already gone through the general features, Repeater and the Intruder functions of Burp Suite but there are a few other modules worth exploring. The Decoder module not only facilitates the encoding/decoding functions of Burp Suite but the creation of data hashsums and some other features are also part of its functionalities. After sending the GET request to Decoder from the context menu we are able to manipulate the data available.
We could encode a complete GET request to Base64 if we wanted to.
However, this is not we use it for. Apart from the Plain and Base64– which is used to encode any data in an ASCII compatible format to be suitable to transfer over virtually any medium- we can see URL, HTML, ASCII-hex, Hex, Octal, Binary and Gzip options in the dropdown menu. URL encoding is used to secure data to transfer in the URL of a web request. It is about swapping characters for their ASCII character code in hexadecimal format preceded by a percentage symbol (%). Encoding text as HTML entities involves replacing special characters with an ampersand (&) followed by a hex number or reference to the escaped character and then a semi-colon (;). ASCII-Hex converts data between ASCII and hexadecimal format. The Hex, Octal and Binary encoding options only apply to numeric inputs. Gzip provides data compression.
What is the base64 encoded version of the “Let’s Start Simple” text?
URL Decode this data: %4e%65%78%74%3a%20%44%65%63%6f%64%69%6e%67 ?
Use Smart Decode to decode this data: %34%37 what is the decoded text?
Encode this phrase: Encoding Challenge.Start with base64 encoding. Take the output of this and convert it into ASCII Hex. Finally, encode the hex string into octal.
What is the final string?
Decoder Hashing
The decoder module also gives us the option to generate hashsums for any entered data. What is the SHA-256 hashsum of the phrase “Let’s get Hashing!” converting it to ASCII Hex string to answer the question.
Let’s generate an MD4 hashsum of the phrase “Insecure Algorithms” and encode that as base64 to answer the question.
Let’s look at an in-context example downloading the file attached to this task. The problem specification is “Some joker has messed with my SSH key! There are four keys in the directory, and I have no idea which is the real one. The MD5 hashsum for my key is 3166226048d6ad776370dc105d40d9f8 — could you find it for me?”. Let’s not to forget to hit an ENTER after the “—–END OPENSSH PRIVATE KEY—–” line. Submit the correct key name as your answer.
Comparer
Comparer allows us to compare two pieces of data, either by ASCII words or by bytes. Let’s capture a test login request first and send it to the Repeater.
In the Repeater let’s change the credentials to support_admin/w58ySK4W and then send it to Comparer. After comparing the responses by word we can see the differences.
Sequencer
Sequencer makes it possible to measure the entropy (randomness) tokens (strings that are used to identify something) and should be generated in a cryptographically secure manner. For example, we might want to examine the randomness of a session cookie or a Cross-Site Request Forgery (CSRF) token protecting a form submission. If it turns out that those tokens are not generated safely, then we can predict the values of the tokens to come. Let’s send our usual request from the admin login page to the Sequencer with our usual right-click.
After starting a “Live capture” we can analyze the tokens and get an overall result; the effective entropy; an analysis of the reliability of the results; and a summary of the sample taken.
Thanks for reading and as always, any feedback is most welcome.