You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Submit a proposal for an idea or enhancement to swurg.
3
+
title: "[FEATURE] <title>"
4
+
labels: [enhancement]
5
+
assignees: aress31
6
+
body:
7
+
- type: checkboxes
8
+
attributes:
9
+
label: Prerequisites
10
+
description: "Prior to submitting the issue, ensure that you have:"
11
+
options:
12
+
- label: Searched for existing feature requests that may address the problem.
13
+
required: true
14
+
- type: textarea
15
+
attributes:
16
+
label: Problem or Use Case
17
+
description: A clear and concise description of the problem or use case where swurg would be useful.
18
+
validations:
19
+
required: true
20
+
- type: textarea
21
+
attributes:
22
+
label: Proposed Solution
23
+
description: A clear and concise description of what you want to happen. Please provide as much detail as possible, including how the feature would interact with swurg and Burp Suite.
24
+
validations:
25
+
required: true
26
+
- type: textarea
27
+
attributes:
28
+
label: Alternative Solutions Considered
29
+
description: A clear and concise description of any alternative solutions or features you've considered.
30
+
validations:
31
+
required: true
32
+
- type: textarea
33
+
attributes:
34
+
label: Example
35
+
description: If applicable, provide an example of how the feature would work.
36
+
validations:
37
+
required: true
38
+
- type: textarea
39
+
attributes:
40
+
label: Add any other context, screenshots, or references about the feature request here.
Copy file name to clipboardExpand all lines: README.md
+21-19Lines changed: 21 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# swurg
1
+
# openapi-parser
2
2
3
-
[](https://github.com/aress31/swurg/actions/workflows/gradle-build.yml)
3
+
[](https://github.com/aress31/openapi-parser/actions/workflows/gradle-build.yml)
> This extension has been updated to use the latest [Burp Montoya Java API](https://portswigger.github.io/burp-extensions-montoya-api/javadoc/burp/api/montoya/package-summary.html). The extension has undergone a complete overhaul to improve both its `UI`/`UX` and performance. These changes ensure that the extension is modern and optimised for use.
11
11
12
-
## Swurg is a `Burp Suite` extension designed for `OpenAPI`-based `API` testing
12
+
## openapi-parser is a `Burp Suite` extension designed for `OpenAPI`-based `API` testing
13
13
14
14
> The `OpenAPI` Specification (`OAS`) defines a standard, programming language-agnostic interface description for `REST``APIs`, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via `OpenAPI`, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the `OpenAPI` Specification removes guesswork in calling a service.
15
15
>
@@ -19,37 +19,37 @@
19
19
20
20
Performing security assessment of `OpenAPI`-based `APIs` can be a tedious task due to `Burp Suite` (industry standard) lacking native `OpenAPI` parsing capabilities. A solution to this situation, is to use third-party tools (e.g. `SOAP-UI`) or to implement custom scripts (often on a per engagement basis) to handle the parsing of `OpenAPI` documents and integrate/chain the results to `Burp Suite` to use its first class scanning capabilities.
21
21
22
-
Swurg is an `OpenAPI` parser that aims to streamline this entire process by allowing security professionals to use `Burp Suite` as a standalone tool for security assessment of `OpenAPI`-based `APIs`.
22
+
openapi-parser is an `OpenAPI` parser that aims to streamline this entire process by allowing security professionals to use `Burp Suite` as a standalone tool for security assessment of `OpenAPI`-based `APIs`.
23
23
24
24
## Features
25
25
26
26
-`OpenAPI` documents can be parsed either from a supplied file or URL. The extension can fetch `OpenAPI` documents directly from a URL using the `Send to Swagger Parser` feature under the `Target -> Site map` context menu.
27
27
- Parse `OpenAPI` documents, formerly known as the `Swagger specification`, fully compliant with `OpenAPI` 2.0/3.0 Specifications (`OAS`).
28
28
- Requests can be directly viewed/edited within the extension prior to sending them to other Burp tools.
29
-
- Requests can be sent to the `Comparer, Intruder, Repeater, Scanner, Site map and Scope` Burp tools.
29
+
- Requests can be sent to the `Comparer`, `Intruder`, `Organizer`, `Repeater`, `Scanner`, `Site map` and `Scope` Burp tools.
30
30
- Requests matching specific criterias (detailed in the 'Parameters' tab) can be intercepted to automatically match and replace the parsed parameters default values defined in the 'Parameters' tab. This feature allows for fine-tuning of the requests prior to sending them to other Burp tools (e.g., scanner). Edited requests can be viewed within the 'Modified Request (`OpenAPI` Parser)' tab of Burp's message editor.
31
31
- Row highlighting allowing pentesters to highlight "interesting" `API` calls and/or colour code them for reporting purposes.
32
32
- Includes an export to `CSV` feature, allowing users to easily export selected `API` requests in `CSV` format for further analysis or reporting.
33
33
- Supports both `JSON` and `YAML` formats.
34
34
35
35
## Requirements
36
36
37
-
1. System requirements:
37
+
### 1. System requirements
38
38
39
39
- Operating System: Compatible with `Linux`, `macOS`, and `Windows` operating systems.
40
40
- Java Development Kit (JDK): `Version 11` or later.
41
-
- Burp Suite Professional or Community Edition: `Version 2023.3.2` or later.
41
+
- Burp Suite Professional or Community Edition: `Version 2023.11.1.3` or later.
42
42
43
43
> [!IMPORTANT]
44
44
> Please note that using any version lower than `2023.3.2` may result in a [java.lang.NoSuchMethodError](https://forum.portswigger.net/thread/montoya-api-nosuchmethoderror-275048be). It is crucial to use the specified version or a more recent one to avoid this issue.
45
45
46
-
2. Build tool:
46
+
### 2. Build tool
47
47
48
-
- Gradle: `Version 6.9` or later (recommended). The [build.gradle](https://github.com/aress31/swurg/blob/main/lib/build.gradle) file is provided in the project repository.
48
+
- Gradle: `Version 8.5` or later (recommended). The [build.gradle](https://github.com/aress31/openapi-parser/blob/main/lib/build.gradle) file is provided in the project repository.
49
49
50
-
3. Environment variables:
50
+
### 3. Environment variables
51
51
52
-
- Set up the `JAVA_HOME` environment variable to point to the JDK installation directory.
52
+
- Set up the `JAVA_HOME` environment variable to point to the `JDK` installation directory.
53
53
54
54
Please ensure that all system requirements, including a compatible version of `Burp Suite`, are met before building and running the project. Note that the project's external dependencies will be automatically managed and installed by `Gradle` during the build process. Adhering to the requirements will help avoid potential issues and reduce the need for opening new issues in the project repository.
55
55
@@ -59,11 +59,11 @@ Please ensure that all system requirements, including a compatible version of `B
59
59
60
60
1. Ensure you have [Gradle](https://gradle.org/) installed and configured.
@@ -74,7 +74,7 @@ Please ensure that all system requirements, including a compatible version of `B
74
74
75
75
### 2. Loading the Extension Into `Burp Suite`
76
76
77
-
To install `swurg` in `Burp Suite`, first go to the `Extensions` tab and click on the `Add` button. Then, select the `swurg-all` jar file located in the `.\build\libs` folder to load the extension.
77
+
To install `openapi-parser` in `Burp Suite`, first go to the `Extensions` tab and click on the `Add` button. Then, select the `openapi-parser-all` jar file located in the `.\build\libs` folder to load the extension.
78
78
79
79
Alternatively, you can skip the [Compilation](#1-compilation) step entirely and download the extension directly from the [BApp Store](https://portswigger.net/bappstore/6bf7574b632847faaaa4eb5e42f1757c).
80
80
@@ -85,15 +85,17 @@ _Note: The version distributed on the [BApp Store](https://portswigger.net/bapps
85
85
-[ ] Beautify the graphical user interface.
86
86
-[ ] Deep parsing of `OpenAPI` schemas to collect all nested parameters along with their example/type.
87
87
-[ ] Code simplification/refactoring.
88
-
-[] Use `MyHttpRequest` instead of `RequestWithMetadata`.
88
+
-[x] Use `MyHttpRequest` instead of `RequestWithMetadata`.
89
89
-[x] Enable cells editing to change `API` calls directly from the `GUI`.
90
90
-[ ] Fix the custom request editor tab to work properly with intercepted requests based on the match and replace rulesets.
91
91
-[x] Further optimise the source code.
92
92
-[ ] Implement support for authenticated testing (via user-supplied `API`-keys).
93
93
-[x] Improve the `Param` column by adding parameters type (e.g. `inquery`, `inbody`).
94
-
-[] Improve the tables and context menus.
94
+
-[x] Improve the tables and context menus.
95
95
-[x] Increase the extension verbosity (via the bottom panel).
96
96
97
+
See [TODO](TODO.md) for additional outstanding tasks.
98
+
97
99
## Project Information
98
100
99
101
In July 2016, after posting a request for improvement on the [PortSwigger support forum](https://support.portswigger.net/customer/portal/questions/16358278-swagger-parser-and-wsdler-improvement), I decided to take the initiative and to implement a solution myself.
@@ -108,13 +110,13 @@ If this extension has saved you time and hassle during a security assessment, co
108
110
109
111
Did you find a bug? Well, don't just let it crawl around! Let's squash it together like a couple of bug whisperers! 🐛💪
110
112
111
-
Please report any issues on the [GitHub issues tracker](https://github.com/aress31/swurg/issues). Together, we'll make this extension as reliable as a cockroach surviving a nuclear apocalypse! 🚀
113
+
Please report any issues on the [GitHub issues tracker](https://github.com/aress31/openapi-parser/issues). Together, we'll make this extension as reliable as a cockroach surviving a nuclear apocalypse! 🚀
112
114
113
115
## Contributing
114
116
115
117
Looking to make a splash with your mad coding skills? 💻
116
118
117
-
Awesome! Contributions are welcome and greatly appreciated. Please submit all PRs on the [GitHub pull requests tracker](https://github.com/aress31/swurg/pulls). Together we can make this extension even more amazing! 🚀
119
+
Awesome! Contributions are welcome and greatly appreciated. Please submit all PRs on the [GitHub pull requests tracker](https://github.com/aress31/openapi-parser/pulls). Together we can make this extension even more amazing! 🚀
0 commit comments