All Projects → righettod → Log Requests To Sqlite

righettod / Log Requests To Sqlite

Licence: gpl-3.0
BURP extension to record every HTTP request send via BURP and create an audit trail log of an assessment.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Log Requests To Sqlite

Burpsuite Collections
BurpSuite收集:包括不限于 Burp 文章、破解版、插件(非BApp Store)、汉化等相关教程,欢迎添砖加瓦---burpsuite-pro burpsuite-extender burpsuite cracked-version hackbar hacktools fuzzing fuzz-testing burp-plugin burp-extensions bapp-store brute-force-attacks brute-force-passwords waf sqlmap jar
Stars: ✭ 1,081 (+2356.82%)
Mutual labels:  pentesting, burp-extensions
Burpsuite Xkeys
A Burp Suite Extension to extract interesting strings (key, secret, token, or etc.) from a webpage.
Stars: ✭ 144 (+227.27%)
Mutual labels:  pentesting, burp-extensions
Swurg
Parse OpenAPI documents into Burp Suite for automating OpenAPI-based APIs security assessments (approved by PortSwigger for inclusion in their official BApp Store).
Stars: ✭ 94 (+113.64%)
Mutual labels:  pentesting, burp-extensions
Badintent
Intercept, modify, repeat and attack Android's Binder transactions using Burp Suite
Stars: ✭ 303 (+588.64%)
Mutual labels:  pentesting, burp-extensions
Jsonp
jsonp is a Burp Extension which attempts to reveal JSONP functionality behind JSON endpoints. This could help reveal cross-site script inclusion vulnerabilities or aid in bypassing content security policies.
Stars: ✭ 131 (+197.73%)
Mutual labels:  pentesting, burp-extensions
Gadgetprobe
Probe endpoints consuming Java serialized objects to identify classes, libraries, and library versions on remote Java classpaths.
Stars: ✭ 381 (+765.91%)
Mutual labels:  pentesting, burp-extensions
Cve 2016 8610 Poc
CVE-2016-8610 (SSL Death Alert) PoC
Stars: ✭ 26 (-40.91%)
Mutual labels:  pentesting
Outsmarting Smart Contracts
A repo with information about security of Ethereum Smart Contracts
Stars: ✭ 29 (-34.09%)
Mutual labels:  pentesting
Hackbar
HackBar plugin for Burpsuite
Stars: ✭ 917 (+1984.09%)
Mutual labels:  burp-extensions
Finalrecon
The Last Web Recon Tool You'll Need
Stars: ✭ 888 (+1918.18%)
Mutual labels:  pentesting
Dnsbrute
DNS Sub-domain brute forcer, in Python + gevent
Stars: ✭ 40 (-9.09%)
Mutual labels:  pentesting
Social Analyzer
API, CLI & Web App for analyzing & finding a person's profile across +1000 social media \ websites (Detections are updated regularly by automated systems)
Stars: ✭ 8,449 (+19102.27%)
Mutual labels:  pentesting
Babysploit
👶 BabySploit Beginner Pentesting Toolkit/Framework Written in Python 🐍
Stars: ✭ 883 (+1906.82%)
Mutual labels:  pentesting
V3n0m Scanner
Popular Pentesting scanner in Python3.6 for SQLi/XSS/LFI/RFI and other Vulns
Stars: ✭ 847 (+1825%)
Mutual labels:  pentesting
Burp Suite Software Version Checks
Burp extension to passively scan for applications revealing software version numbers
Stars: ✭ 29 (-34.09%)
Mutual labels:  burp-extensions
Commoncrawlparser
Simple multi threaded tool to extract domain related data from commoncrawl.org
Stars: ✭ 25 (-43.18%)
Mutual labels:  pentesting
Dirhunt
Find web directories without bruteforce
Stars: ✭ 983 (+2134.09%)
Mutual labels:  pentesting
Pwncat
pwncat - netcat on steroids with Firewall, IDS/IPS evasion, bind and reverse shell, self-injecting shell and port forwarding magic - and its fully scriptable with Python (PSE)
Stars: ✭ 904 (+1954.55%)
Mutual labels:  pentesting
Scanless
online port scan scraper
Stars: ✭ 875 (+1888.64%)
Mutual labels:  pentesting
Ksubdomain
无状态子域名爆破工具
Stars: ✭ 976 (+2118.18%)
Mutual labels:  pentesting

NightBuild Known Vulnerabilities License: GPL v3 BAppStore Version

Log Requests to SQLite

This extension has a single objective:

Keep a trace of every HTTP request that has been sent via BURP.

Why?

When I perform an assessment of a web application, it is often spread on several days/weeks and during this assessment, I use the different tools proposed by BURP (Proxy, Repeater, Intruder, Spider, Scanner...) to send many HTTP request to the target application.

Since a few months, I have met a situation that happens more and more with the time: Some time after the closure of the assessment (mission is finished and report has been delivered), the client ask this kind of question:

  • Do you have evaluated this service or this URL?
  • Is it you that have sent this "big request" to this service/URL on this date?
  • How many requests do you have sent to the application or to this service?
  • And so on...

Most of the time, I answer to the client in this way: "This is the IP used for the assessment (the IP is also in the report by the way), check the logs of your web server, web app server, WAF..." because it's up to the client to have the capacity to backtrack a stream from a specific IP address.

In the same time, I cannot give the BURP session file to the client because:

  • I cannot ask to a client to buy a BURP licence just to see the session content.
  • I cannot ask to a client to learn what is BURP and how to use BURP.
  • Requests send via Intruder/Repeater/Spider/Scanner are not kept in the session log.

So, I have decided to write this extension in order to keep the information of any HTTP request sends in a SQLIte database that I can give to the client along the report and let him dig into the DB via SQL query to answer his questions and, in the same time, have a proof/history of all requests send to the target application...

Once loaded, the extension ask the user to choose the target database file (location and name) to use for the SQLite database or to continue using the current defined file in the previous session.

Regarding the file name to use, there no constraint applied on it but I recommend to use a file with the .db extension to facilitate the usage with a SQLite client for exploration operations.

After, the extension silently records every HTTP request send during the BURP session.

Extension Log

DB Content

Options

Scope

There is an option to restrict the logging to the requests that are included into the defined target scope (BURP tab Target > Scope):

Scope Option Menu

Images

There is an option to exclude the logging of the requests that target images (check is not case sensitive):

Image Option Menu

The list of supported file extensions is here.

Pause the logging

There is an option to pause the logging (re-click on the menu to resume the logging):

Pause Option Menu

When the logging is paused then when Burp is restarted, it keep in mind that the logging was previously paused and then reflect the state in the menu:

Pause Option Menu

Otherwise, when Burp is started and logging was not previously paused then the following options are proposed:

Pause Option Menu

Change the DB file

⚠️ This option require that the logging was paused.

There is an option to change the DB file during a Burp working session:

ChangeDB Option Menu

Statistics

There is an option to obtain statistics about the information logged in the database:

Image Stats Menu 1

Image Stats Menu 2

Build the extension JAR file

Use the following command and the JAR file will be located in folder build/lib:

$ gradlew clean fatJar

Audit third party dependencies

The goal dependencyCheckAnalyze can be used to verify if one of the dependencies used contains CVE.

Use the command line option -PodcGradlePluginVersion=x.x.x to specify a specific version of the OWASP Dependency Check Grable plugin

$ gradlew -PodcGradlePluginVersion=3.2.1 dependencyCheckAnalyze

Night build

See the Actions section.

BApp Store

The extension is referenced here.

BApp Store update procedure

Procedure kindly provided by the PortSwigger support:

  1. BApp Author commits fixes/updates to the master repository.
  2. Once BApp Author is happy that updates need to be pushed to the BApp store, the Author creates a pull request so changes can be merged into the forked repository: righettod wants to merge xx commits into PortSwigger:master from righettod:master
  3. BApp Author notifies PortSwigger support that changes need to be merged, support staff reviews changes and then accepts pull request so the changes are merged.
  4. BApp is then compiled from the forked repository version and then pushed to the BApp store.

Change log

1.0.9

  • Upgrade sqlite-jdbc library to the latest available.
  • Fix a bug during extension loading preventing it to crash if the stored DB file do not exist anymore.

1.0.8

  • Add the capacity to pause the logging during a Burp working session - Issue #9.
  • Add the capacity to change the DB file during a Burp working session - Issue #10.

1.0.7

  • Upgrade the version of the third party library used to handle the work with the SQLite DB in order to fix exposure to CVE-2018-20505.

1.0.6

  • Upgrade the version of the third party library used to handle the work with the SQLite DB in order to fix exposure to CVE-2018-20346.

1.0.5

  • Add new stats and update display:
    • Add the size of the biggest request sent.
    • Add the maximal number of requests sent by second.
    • Review stats display to dynamically adapt data amount in KB, MB or GB.

1.0.4

  • Fix the bug described in issue #5.
  • Add statistics about the DB content.
  • Allow the user to select the DB location and file name.

1.0.3

  • Fix the bug described in issue #4.

1.0.2

  • Add option to exclude image from logging.
  • Prepare and finalize publishing of the extension to the BAppStore.

1.0.1

  • Add the option to restrict the logging to the requests that are included into the defined target scope.

1.0.0

  • Creation of the extension and initial release.

SQLite client

Cross-platform: https://github.com/sqlitebrowser/sqlitebrowser

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].