Quality of life patch/update in the context of videogames is a patch that focuses on fixing bugs instead of introducing new content. New features in these patches are not ground-breaking but rather making the game easier to play1.
I have been using these things to make my life easier. I am publishing them gradually and will refine them into one final page similar to the cheatsheet. This page also pairs really well with automation.
Each section starts with step by step instructions. Some items have extra notes
and finally the Why?
section has the justification/usecase.
user=hackerman&password=hunter2
.Proxy > Options > Match and Replace
.user=zzz0
user=hackerman
admin account
password=xxx0
password=hunter2
password for admin
zzz0
and xxx0
instead of
username and password to login.Notes:
%
, URL-encode it in the replace section to %25
.
E.g., password=hunter2%
should be password=hunter2%25
.zzz
and xxx
because they are easy to type on mobile devices.admin1
and admin1pw
.zzz
and xxx
relative. E.g., the password for user
zzz0
should be xxx0
.When testing a mobile application, I do not want to type complex passwords into
a mobile device over and over again. This way I can just enter zzz0
and xxx0
to login.
The same trick works for webapps when I have multiple sets of credentials with
different roles. Instead of copy/pasting from a credential document, I can just
enter admin1
and admin1pw
to login as admin or user1
:user1pw
for user1.
Proxy > Options > Match and Replace
.If-Modified-Since
If-None-Match
Sometimes I need to analyze a response but I see a 304 in Burp's history. Then I have to use the search feature in Burp to find the first instance of the request and see the content. With those headers removed, there are hopefully no more 304s.
Proxy > HTTP History
click on filter.CSS
under Filter by MIME Type
.Preflight requests add a lot of noise to Burp's HTTP history. Currently, Burp
does not have a specific filter for them. This extension replaces the responses
to OPTIONS requests with text/css
. Then I can filter them all by removing
CSS
from Burp's history.
The extension's technical details:
The above extension might not work. See the Filter Options Method extension by Capt. Meelo on the Burp App Store which fixes some issues in my blog post.
Proxy > Options > TLS Pass Through
.If I am testing an application that uses SSO, I have to enter corporate credentials to login. Usually I am not testing the login portal but the app behind it. Burp will store these credentials which not something I like. I keep Burp projects forever (see Reduce the Size of Burp Projects for Long Term Storage), I do not want my corporate credentials stored in Burp. By adding these domains to SSL pass through, Burp does not capture them.
Use Firefox (or a clone like Pale Moon) with for testing with Burp. Optionally, use Firefox Developer Edition which has extra dev tools and can co-exist with normal Firefox.
If installing Firefox dev edition:
about:preferences
.Allow Firefox Developer Edition and Firefox to run at the same time
.user.js
from the link below:Fewer requests in Burp's HTTP history == good.
If you cannot use Firefox and have to use a Chromium based browser (e.g., Edge, Chrome), you can pass the proxy listener to the browser using a command line switch instead of using the OS proxy settings.
E.g., for Edge:
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --proxy-server="http://localhost:8080"
Create a shortcut with the desired switch and use it.
Instead of changing the OS proxy settings, we are just proxying the browser. This reduces the noise in Burp.
Project > Save Copy
and check Save in-scope items only
.Keeping Burp projects have saved my hide more than I can count. Before storing Burp projects for long-term, I want to reduce their size. At a minimum, just zip them.
As of Burp 2020.12
(possibly sooner) the following option has been removed.
Each Repeater tab has three layout button on top-right just under the target
address. Choose Vertical Layout
to get the top/bottom split.
For older versions of Burp:
Repeater (menu, not the tab) > View
.When creating screenshots for reports, it's better to have the tabs on top of each other. Reports are usually in portrait mode. With the top/bottom split, we can show both tabs and get a nicer image.
Make sure to move the border between the tabs and scroll the data in each to show only relevant data. E.g., if you have a lot of text in response that is not needed, only take a screenshot of the part that is important for the issue you are presenting.
The final config file will look like this:
{
"project_options":{
// removed
},
"user_options":{
// removed
}
}
It saves time and I do not have to make the same changes for every project. Some options will step be project-specific but most are not.
Also see Towards a Quieter Burp History if you use Burp to proxy thickclients on Windows.
Some suggestions:
You can see my default Burp config at https://github.com/parsiya/Parsia-Clone/blob/master/configs/burp-default-config.json.