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
Copy file name to clipboardExpand all lines: README.md
+71-82Lines changed: 71 additions & 82 deletions
Original file line number
Diff line number
Diff line change
@@ -14,101 +14,107 @@
14
14
15
15
Postman2Burp bridges the gap between API development and security testing by automatically sending Postman collection requests through Burp Suite proxy.
16
16
17
-
## 🔮 Assumptions
18
-
19
-
The user operates under the following assumptions:
20
-
21
-
| Assumption | Description |
22
-
|------------|-------------|
23
-
| 📁 Collection Location | User has exported a Postman collection to the `/collections` directory of this repository |
24
-
| 🧩 Collection Format | The exported collection follows Postman Collection v2.1 format |
25
-
| 🔄 Variable Usage | Collection may contain environment variables that need resolution |
26
-
| 🌐 Proxy Availability | A proxy (like Burp Suite) is running and accessible |
27
-
| 🔒 Authentication | Any required authentication tokens can be provided via environment variables |
28
-
29
17
## 📋 Table of Contents
30
18
31
19
-[Postman2Burp](#postman2burp)
32
-
-[🔮 Assumptions](#-assumptions)
33
20
-[📋 Table of Contents](#-table-of-contents)
34
21
-[🎯 Purpose](#-purpose)
22
+
-[🔮 Assumptions](#-assumptions)
35
23
-[📦 Requirements](#-requirements)
36
24
-[🚀 Quick Start](#-quick-start)
37
25
-[✨ Features](#-features)
26
+
-[🎯 Use Cases](#-use-cases)
38
27
-[⚠️ Limitations](#️-limitations)
39
28
-[📚 Documentation](#-documentation)
40
29
-[📜 License](#-license)
41
30
-[👥 Contributing](#-contributing)
42
-
-[Code Style](#code-style)
43
-
-[Bug Reports](#bug-reports)
44
-
-[Feature Requests](#feature-requests)
45
31
46
32
## 🎯 Purpose
47
33
48
-
To automate API security testing by:
34
+
| Problem | Solution |
35
+
|---------|----------|
36
+
| Manual recreation of API requests in security tools is time-consuming and error-prone | Postman2Burp automates sending Postman collection requests through Burp Suite proxy |
37
+
| Complex API flows are difficult to test manually | Maintains request sequence and handles variable extraction/substitution automatically |
38
+
| Environment variables need manual substitution | Automatically resolves all environment variables from profile files |
39
+
| Authentication flows require careful token management | Extracts and reuses tokens across requests in the correct sequence |
49
40
50
-
| Step | Description |
51
-
|------|-------------|
52
-
| 1️⃣ | Reading Postman collection JSON files |
53
-
| 2️⃣ | Parsing all requests (including nested folders) |
54
-
| 3️⃣ | Resolving environment variables |
55
-
| 4️⃣ | Sending requests through Burp Suite proxy |
56
-
| 5️⃣ | Logging results |
41
+
## 🔮 Assumptions
57
42
58
-
## 📦 Requirements
43
+
The tool operates under the following assumptions:
59
44
60
-
- Python 3.6+
61
-
- Required packages (auto-installed):
62
-
- requests
63
-
- urllib3
64
-
- python-dotenv
45
+
| Assumption | Description |
46
+
|------------|-------------|
47
+
| 📁 Collection Location | User has exported a Postman collection to the `/collections` directory of this repository |
48
+
| 🧩 Collection Format | The exported collection follows Postman Collection v2.1 format |
49
+
| 🔄 Variable Usage | Collection may contain environment variables that need resolution |
50
+
| 🌐 Proxy Availability | A proxy (like Burp Suite) is running and accessible |
51
+
| 🔒 Authentication | Any required authentication tokens can be provided via environment variables |
|**Anti-CSRF Protection**: Tokens from responses must be included in subsequent requests | Extracts tokens from responses and applies them to follow-up requests |`python postman2burp.py --collection "secured_workflow.json" --target-profile "test_env.json" --verbose`|[View Details](https://github.com/darmado/postman2burp/wiki/Use-Cases#anti-csrf-protection-testing)|
92
+
|**BOLA/IDOR Testing**: Requires different user contexts for the same endpoints | Allows running the same collection with different profile files |`python postman2burp.py --collection "user_management.json" --target-profile "admin_profile.json" --output "admin_results.json"`|[View Details](https://github.com/darmado/postman2burp/wiki/Use-Cases#broken-object-level-authorization-testing)|
93
+
|**API Gateway Configurations**: Specific headers, API keys, and request signing | Maintains all headers and authentication mechanisms |`python postman2burp.py --collection "aws_api.json" --target-profile "aws_creds.json"`|[View Details](https://github.com/darmado/postman2burp/wiki/Use-Cases#api-gateway-configuration-testing)|
94
+
95
+
For complete examples with code samples and technical details, see our [Use Cases Documentation](https://github.com/darmado/postman2burp/wiki/Use-Cases).
96
96
97
97
## ⚠️ Limitations
98
98
99
-
- Limited support for file uploads in multipart/form-data
100
-
- No support for WebSocket requests
101
-
- No execution of Postman pre-request and test scripts
99
+
| Limitation | Description | Workaround |
100
+
|------------|-------------|------------|
101
+
| File Uploads | Limited support for multipart/form-data file uploads | Use simple file uploads with base64-encoded content |
102
+
| WebSocket Requests | No support for WebSocket requests | Use separate WebSocket testing tools |
103
+
| Pre-request Scripts | No execution of Postman pre-request scripts | Manually implement required functionality in your environment |
102
104
103
105
## 📚 Documentation
104
106
105
107
Comprehensive documentation is available in the [Wiki](https://github.com/darmado/postman2burp/wiki):
|[Overview](https://github.com/darmado/postman2burp/wiki/Overview)| High-level understanding of Postman2Burp |
112
+
|[Installation](https://github.com/darmado/postman2burp/wiki/Installation)| How to install and set up the tool |
113
+
|[Usage](https://github.com/darmado/postman2burp/wiki/Usage)| Basic operations and commands |
114
+
|[Use Cases](https://github.com/darmado/postman2burp/wiki/Use-Cases)| Detailed examples for specific scenarios |
115
+
|[Additional Features](https://github.com/darmado/postman2burp/wiki/Features)| Extended features and techniques |
116
+
|[Configuration](https://github.com/darmado/postman2burp/wiki/Configuration)| Configuration options and settings |
117
+
|[Troubleshooting](https://github.com/darmado/postman2burp/wiki/Troubleshooting)| Solutions for common issues |
112
118
113
119
## 📜 License
114
120
@@ -124,25 +130,8 @@ Contributions are welcome! Here's how you can contribute:
124
130
4. Push to the branch (`git push origin feature/amazing-feature`)
125
131
5. Open a Pull Request
126
132
127
-
### Code Style
128
-
129
-
- Follow PEP 8 guidelines for Python code
130
-
- Use descriptive variable names
131
-
- Add comments for complex logic
132
-
- Write tests for new features
133
-
134
-
### Bug Reports
135
-
136
-
If you find a bug, please open an issue with:
137
-
- Clear description of the bug
138
-
- Steps to reproduce
139
-
- Expected behavior
140
-
- Screenshots (if applicable)
141
-
- Environment details
142
-
143
-
### Feature Requests
144
-
145
-
Have an idea for a new feature? Open an issue describing:
146
-
- The problem your feature would solve
147
-
- How your solution would work
148
-
- Any alternatives you've considered
133
+
| Contribution Area | Guidelines |
134
+
|-------------------|------------|
135
+
|**Code Style**| • Follow PEP 8 guidelines for Python code<br>• Use descriptive variable names<br>• Add comments for complex logic<br>• Write tests for new features |
136
+
|**Bug Reports**| • Clear description of the bug<br>• Steps to reproduce<br>• Expected behavior<br>• Screenshots (if applicable)<br>• Environment details |
137
+
|**Feature Requests**| • The problem your feature would solve<br>• How your solution would work<br>• Any alternatives you've considered |
0 commit comments