Burp Suite Decoder Tool
Comprehensive guide to using Burp Suite's Decoder tool for encoding, decoding, and transforming data
The Decoder tool is a utility within Burp Suite that allows you to encode, decode, hash, and transform data in various formats. It's available in both Community and Professional editions with identical functionality.
Overview
Purpose and Functionality
Decoder serves as Burp Suite's data transformation utility:
- Encode data in various formats - URL, HTML, Base64, etc.
- Decode encoded content for analysis
- Hash data using common algorithms
- Convert between text and binary formats
- Apply custom transformations
It's an essential tool for security testing, helping you understand how applications process encoded data and prepare payloads for testing.
Common Use Cases
Decoder is useful in many testing scenarios:
-
Payload preparation
- Encode attack payloads to bypass filters
- Apply multiple encoding layers
- Create precisely formatted data
-
Response analysis
- Decode encoded values in responses
- Reveal hidden or obfuscated content
- Understand application data formats
-
Authentication testing
- Decode JWT tokens
- Analyze Base64-encoded credentials
- Examine cookie values
-
Obfuscation analysis
- Decode JavaScript obfuscation
- Reveal hidden functionality
- Understand data protection mechanisms
-
Hash verification
- Generate hashes for comparison
- Verify integrity of data
- Test hash-based functionality
Interface Overview
Key Interface Elements
Understanding the Decoder interface:
-
Input panel
- Upper text area
- Where you paste or type data to transform
- Can be set to text or hex mode
-
Output panel
- Lower text area
- Displays the result of transformations
- Can be set to text or hex mode
-
Transformation buttons
- Encode: Apply various encoding methods
- Decode: Reverse various encoding methods
- Hash: Generate cryptographic hashes
- Smart decode: Automatically detect and decode
-
Text/Hex toggle
- Switch between text and hexadecimal views
- Useful for binary data or non-printable characters
The interface is designed for quick transformations and allows you to apply multiple operations in sequence.
Basic Operations
Encoding Methods
Decoder offers various encoding options:
-
URL encoding
- Converts characters to %XX format
- Standard encoding - spaces as +
- Full encoding - all non-alphanumeric
-
HTML encoding
- Entity encoding - < for <
- Decimal and hex formats
- All characters or minimal set
-
Base64
- Standard Base64 encoding
- URL-safe variant
-
ASCII Hex
- Converts each character to hex value
-
Hex encoding
- Represents binary data as hexadecimal
-
Octal encoding
- Represents data in base-8 format
-
Binary encoding
- Converts to binary - base-2 representation
-
GZIP encoding
- Compresses data using GZIP algorithm
Each encoding method has specific use cases in web application testing.
Encoding Workflow
Steps for encoding data:
-
Input data
- Type or paste data into the input panel
- Or right-click elsewhere in Burp and select "Send to Decoder"
-
Select encoding method
- Click the "Encode as..." button
- Choose the desired encoding method
-
Review result
- The encoded output appears in the output panel
-
Chain encodings - optional
- Click "Copy as input" to use the result for further encoding
- Apply additional encoding methods as needed
-
Copy result
- Right-click and select "Copy" to use the encoded data elsewhere
This workflow allows you to create precisely encoded payloads for security testing.
Decoding Methods
Decoder can reverse various encoding methods:
-
URL decoding
- Converts %XX format back to characters
-
HTML decoding
- Converts HTML entities back to characters
-
Base64 decoding
- Standard and URL-safe variants
-
ASCII Hex decoding
- Converts hex values back to characters
-
Hex decoding
- Converts hexadecimal to binary data
-
Octal decoding
- Converts octal values to characters
-
Binary decoding
- Converts binary to characters
-
GZIP decoding
- Decompresses GZIP data
These decoding options help you analyze encoded data found in applications.
Smart Decode Feature
Automatically detect and decode content:
-
Functionality
- Analyzes input to detect encoding type
- Applies appropriate decoding method
- Handles multiple layers of encoding
-
Usage
- Paste encoded content
- Click "Smart decode"
- Review the decoded result
-
Limitations
- May not detect all encoding types
- Can be confused by certain patterns
- Best for common web encodings
-
Best practices
- Try smart decode first for unknown encodings
- Fall back to manual methods if needed
- Verify results make sense
Smart decode is particularly useful when dealing with multiple or unknown encoding layers.
Hash Algorithms
Generate cryptographic hashes:
-
MD5
- 128-bit hash
- Fast but cryptographically broken
- Still used for non-security checksums
-
SHA-1
- 160-bit hash
- Deprecated for security purposes
- Still common in legacy systems
-
SHA-224/256/384/512
- Secure hash algorithm family
- Different output lengths for different security levels
- Current standard for many applications
-
RIPEMD-160
- 160-bit hash
- Alternative to SHA-1
-
Custom hash functions
- Available through extensions
Hashing is useful for verifying data integrity, analyzing hash-based authentication, and testing hash comparison functionality.
Hashing Workflow
Steps for generating hashes:
-
Input data
- Type or paste data into the input panel
-
Select hash algorithm
- Click the "Hash" button
- Choose the desired algorithm
-
Review hash
- The hash appears in the output panel
- Displayed in hexadecimal format
-
Copy result
- Right-click and select "Copy" to use the hash elsewhere
Hashing is a one-way operation - you cannot "decode" a hash back to its original input.
Advanced Features
Text and Binary Modes
Switch between different data representations:
-
Text mode
- Displays data as text characters
- Good for human-readable content
- May show unexpected characters for binary data
-
Hex mode
- Displays data as hexadecimal bytes
- Essential for binary data
- Shows non-printable characters
- Reveals hidden bytes
-
Switching modes
- Click "Text" or "Hex" buttons
- Can have different modes for input and output
-
Use cases
- Text mode: Working with readable strings, URLs, HTML
- Hex mode: Binary files, encrypted data, examining byte patterns
The ability to switch between text and hex views is crucial when working with different data types and formats.
Custom Transformation Rules
Create specialized transformations:
-
Find and replace
- Replace specific patterns or strings
- Use literal text or regex patterns
- Case-sensitive or insensitive options
-
Character substitution
- Replace individual characters
- Create custom encoding schemes
-
Chaining transformations
- Apply multiple rules in sequence
- Create complex transformations
-
Use cases
- Custom obfuscation techniques
- Application-specific encoding
- Targeted payload modifications
Custom transformations allow you to handle specialized encoding schemes or create precisely formatted payloads.
Practical Applications
Filter Bypass Techniques
Using Decoder to craft payloads that bypass security controls:
-
XSS payload encoding
- HTML encode to bypass basic filters
- Double encoding to bypass WAFs
- Mixed encoding techniques
- Example:
<script>
->%3Cscript%3E
->%253Cscript%253E
-
SQL injection encoding
- URL encode special characters
- Hex encoding for string literals
- Comment variations
- Example:
' OR 1=1--
->%27%20OR%201%3D1--%20
-
Command injection obfuscation
- Encode spaces and special characters
- Use alternative command separators
- Example:
; ls -la
->%3B%20ls%20-la
-
Path traversal variations
- Double encoding of slashes and dots
- Alternative path representations
- Example:
../../../etc/passwd
->%2E%2E%2F%2E%2E%2F%2E%2E%2Fetc%2Fpasswd
Understanding how applications decode and process input is key to crafting effective bypass payloads.
Response Analysis
Analyzing Authentication Tokens
Using Decoder to examine authentication mechanisms:
-
JWT token analysis
- Base64 decode each part of the JWT
- Examine header and payload claims
- Identify algorithm and signature method
-
Session cookie inspection
- Decode Base64 or URL-encoded cookies
- Look for patterns and identifiable information
- Identify potential weaknesses
-
OAuth token examination
- Decode access and refresh tokens
- Analyze token structure and claims
- Identify scope and permissions
-
Custom token formats
- Try different decoding methods
- Look for patterns in decoded output
- Identify encoding layers
Analyzing tokens helps understand authentication mechanisms and identify potential security weaknesses.
Revealing Hidden Data
Uncovering obfuscated information:
-
JavaScript obfuscation
- Decode eval'd Base64 strings
- Decode escaped Unicode characters
- Reveal hidden functionality
-
Hidden form fields
- Decode encoded values
- Understand validation mechanisms
- Identify client-side controls
-
Embedded data
- Extract and decode data from responses
- Reveal API endpoints or credentials
- Uncover internal information
-
Steganography
- Extract hidden data from images or files
- Decode using appropriate methods
Revealing hidden data can expose sensitive information or undocumented functionality.
Integration with Other Tools
Decoder in the Burp Workflow
How Decoder integrates with other Burp tools:
-
Proxy to Decoder
- Right-click on a request or response
- Select "Send to Decoder"
- Analyze or modify encoded content
-
Repeater to Decoder
- Select content in a request
- Right-click and send to Decoder
- Encode for testing, then copy back
-
Intruder to Decoder
- Prepare payloads in Decoder
- Copy encoded content to Intruder payloads
- Use for payload processing
-
Scanner integration
- Analyze encoded content in Scanner findings
- Understand how vulnerabilities work
-
Extensions integration
- Custom extensions can use Decoder functionality
- Process data through Decoder programmatically
This integration creates a seamless workflow for handling encoded data throughout the testing process.
Context Menu Integration
Quick access to Decoder functionality:
-
Send to Decoder option
- Available in context menus throughout Burp
- Select text in any tool
- Right-click and choose "Send to Decoder"
-
Apply transformations directly
- Right-click selected text
- Choose "Convert selection"
- Select encoding/decoding method
-
Copy as transformed
- Right-click selected text
- Choose "Copy as"
- Select desired format
-
Use cases
- Quick encoding of payloads
- Decoding values without switching tools
- Streamlining the testing workflow
Context menu integration makes Decoder functionality available throughout Burp Suite without switching tabs.
Best Practices
Efficient Workflow Tips
Maximize your productivity with Decoder:
-
Use keyboard shortcuts
- Ctrl+B: Send to Decoder
- Ctrl+C/Ctrl+V: Copy/paste
- Tab: Switch between panels
-
Save common transformations
- Keep notes of useful encoding chains
- Document application-specific encodings
-
Test multiple encoding variations
- Try different encoding combinations
- Test both minimal and full encoding
-
Compare encoded outputs
- Send to Comparer to analyze differences
- Identify subtle variations
-
Maintain encoding context
- Note which encodings were applied
- Document the order of operations
An efficient workflow helps you quickly analyze and prepare data for security testing.
Recognizing Common Encoding Patterns
Learn to identify encoding types by sight:
-
URL encoding
- Contains % followed by two hex digits
- Example:
%20
for space,%3D
for =
-
Base64
- Contains only A-Z, a-z, 0-9, +, /, and = - used for padding
- Often ends with = or ==
- Example:
SGVsbG8gV29ybGQ=
-
HTML encoding
- Entity references like
<
or&#60;
- Named or numeric entities
- Entity references like
-
Hex encoding
- Pairs of hex digits - 0-9, A-F
- Often space or delimiter separated
- Example:
48 65 6C 6C 6F
-
JWT tokens
- Three Base64 sections separated by dots
- Example:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
Recognizing patterns helps you quickly identify the appropriate decoding method.
Troubleshooting
Common Issues and Solutions
Solutions to frequently encountered problems:
-
Garbled output after decoding
- Try different encoding methods
- Check for multiple encoding layers
- Switch between text and hex views
- Verify the input is correctly formatted
-
Base64 decoding errors
- Check for proper padding - = characters
- Verify it's standard Base64 - not URL-safe
- Remove line breaks or whitespace
-
Incomplete decoding
- Look for nested or layered encoding
- Try smart decode for multiple layers
- Decode iteratively, one layer at a time
-
Binary data handling
- Switch to hex view for binary data
- Use appropriate encoding for binary content
- Be cautious with character encoding conversions
-
Large data performance
- Split large data into smaller chunks
- Be patient with complex transformations
- Consider using external tools for very large data
Extensions and Customization
Extending Decoder Functionality
Add capabilities with extensions:
-
Hackvertor
- Advanced encoding/decoding extension
- Tag-based transformation system
- Supports numerous additional encodings
- Custom transformation chains
-
Custom Encoder
- Create and save custom encoding rules
- Define transformation sequences
- Reuse common operations
-
Additional hash algorithms
- Extensions for specialized hash functions
- Support for HMAC and other variants
-
Cryptographic extensions
- Encryption/decryption capabilities
- Key generation and management
- Common crypto algorithms
Extensions from the BApp Store can significantly enhance Decoder's capabilities for specialized testing scenarios.
Callout:
The Decoder tool is identical in both Community and Professional editions, making it fully accessible to all Burp Suite users without limitations.