Gf-Patterns
GF Paterns For (ssrf,RCE,Lfi,sqli,ssti,idor,url redirection,debug_logic, interesting Subs) parameters grep
Top Related Projects
SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.
Community curated list of templates for the nuclei engine to find security vulnerabilities.
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List
This is a webshell open source project
Quick Overview
Gf-Patterns is a GitHub repository containing a collection of custom patterns for use with the Gf (GetFinder) tool. These patterns are designed to help security researchers and penetration testers identify potential vulnerabilities and sensitive information in web applications and APIs.
Pros
- Extensive collection of patterns covering various security issues
- Regularly updated with new patterns from community contributions
- Easy to integrate with existing Gf workflows
- Helps automate the process of identifying potential vulnerabilities
Cons
- Requires familiarity with Gf tool for effective use
- May produce false positives, requiring manual verification
- Limited documentation on pattern creation and customization
- Effectiveness depends on the quality and specificity of patterns
Getting Started
- Install Gf tool:
go get -u github.com/tomnomnom/gf
- Clone the Gf-Patterns repository:
git clone https://github.com/1ndianl33t/Gf-Patterns.git
- Copy patterns to Gf directory:
cp Gf-Patterns/*.json ~/.gf/
- Use patterns with Gf:
cat urls.txt | gf xss
Competitor Comparisons
SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.
Pros of SecLists
- Comprehensive collection of multiple types of lists used in security assessments
- Regularly updated with contributions from the security community
- Well-organized directory structure for easy navigation
Cons of SecLists
- Large repository size may be overwhelming for specific use cases
- Requires manual searching and filtering for targeted patterns
- Not optimized for use with specific tools like Gf
Code Comparison
SecLists (Discovery/Web-Content/common.txt):
.htaccess
.htpasswd
.meta
.web
access-log
Gf-Patterns (ssrf.json):
{
"flags" : "-HanrE",
"patterns" : [
"=.*(http|https|ftp)\\:\\/\\/",
"=.*(file|doc|folder|root|path|pg|style|pdf|template|php|asp|aspx)\\:\\/\\/"
]
}
SecLists provides raw wordlists, while Gf-Patterns offers JSON-formatted regex patterns for specific vulnerabilities. SecLists is more versatile but requires additional processing, whereas Gf-Patterns is ready for use with the Gf tool for targeted scanning.
Community curated list of templates for the nuclei engine to find security vulnerabilities.
Pros of nuclei-templates
- Extensive collection of templates for various security checks and vulnerabilities
- Regularly updated with new templates and improvements
- Supports a wide range of protocols and technologies
Cons of nuclei-templates
- Requires the Nuclei engine to run, adding complexity
- May generate more false positives due to its comprehensive nature
- Steeper learning curve for creating custom templates
Code Comparison
Gf-Patterns (regex-based pattern):
(?:\$|=|%3D)([1-9][0-9]*|0)(?:--|\+\+|[^&]*(?:\+|-|\*|\/)[^=&]*)
nuclei-templates (YAML-based template):
id: arithmetic-operators-injection
info:
name: Arithmetic Operators Injection
severity: medium
requests:
- method: GET
path:
- "{{BaseURL}}/?id=1-1"
- "{{BaseURL}}/?id=1+1"
The Gf-Patterns repository focuses on regex patterns for grep-like tools, while nuclei-templates uses YAML-based templates for the Nuclei scanner. Gf-Patterns is simpler and more flexible for quick searches, whereas nuclei-templates provides structured, comprehensive vulnerability checks but requires the Nuclei engine.
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
Pros of PayloadsAllTheThings
- More comprehensive coverage of various security topics and attack vectors
- Better organized with clear categorization and subdirectories
- Regularly updated with contributions from a larger community
Cons of PayloadsAllTheThings
- Can be overwhelming for beginners due to the sheer volume of information
- Less focused on specific pattern matching compared to Gf-Patterns
Code Comparison
Gf-Patterns (JSON format):
{
"flags": "-HnriE",
"pattern": "(?:\"|'|`)?(?:[:=]|(?:\s+(?:is|as)\s+))\s*(?:\"|'|`)?(?:adm|admin|administrator|root)"
}
PayloadsAllTheThings (Markdown format):
# Admin Bypass
- admin' --
- admin' #
- admin'/*
- ' or 1=1--
- ' or 1=1#
Both repositories provide valuable resources for security testing, but with different approaches. Gf-Patterns focuses on regex patterns for specific vulnerabilities, while PayloadsAllTheThings offers a broader range of payloads and techniques across various security topics. The choice between them depends on the user's specific needs and level of expertise.
Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
Pros of fuzzdb
- More comprehensive collection of fuzzing patterns and payloads
- Regularly updated with new attack vectors and techniques
- Well-organized directory structure for easy navigation
Cons of fuzzdb
- Larger repository size, potentially overwhelming for beginners
- May include outdated or less relevant patterns
- Requires more manual filtering to find specific patterns
Code Comparison
Gf-Patterns example (JSON format):
{
"flags": "-HnriE",
"pattern": "(?:\"|'|`)?(?:(?:admin|root|su(?:do)?).{0,5})?(?:pass(?:word)?|passwd|pwd)(?:(?:"|'|`)?\\s*[=:].{0,5})?(?:\"|'|`)?",
"type": "password"
}
fuzzdb example (plain text format):
' or '1'='1
' or ''='
' or 1=1--
' or 1=1#
' or 1=1/*
Both repositories provide valuable resources for security testing and fuzzing. Gf-Patterns focuses on grep-friendly patterns in JSON format, making it easier to integrate with automated tools. fuzzdb offers a wider range of payloads and attack vectors in various formats, suitable for different testing scenarios. The choice between them depends on specific testing needs and preferred workflow.
🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List
Pros of xss-payload-list
- Extensive collection of XSS payloads for various scenarios
- Well-organized into categories for easy reference
- Includes both basic and advanced payloads
Cons of xss-payload-list
- Focused solely on XSS, lacking coverage of other vulnerability types
- May require manual testing of each payload
- Less suitable for automated scanning compared to regex-based patterns
Code Comparison
xss-payload-list:
<script>alert('XSS')</script>
<img src=x onerror=alert('XSS')>
<svg onload=alert('XSS')>
Gf-Patterns:
(?i)(<script[^>]*>[\s\S]*?<\/script>|<[^>]+on\w+=[^>]*>)
Summary
xss-payload-list provides a comprehensive collection of XSS payloads, making it valuable for manual testing and learning about different XSS techniques. It's well-organized but limited to XSS vulnerabilities.
Gf-Patterns offers a broader range of vulnerability patterns using regular expressions, which is more suitable for automated scanning across various vulnerability types. However, it may require more expertise to use effectively and doesn't provide ready-to-use payloads like xss-payload-list.
Choose xss-payload-list for in-depth XSS testing and learning, or Gf-Patterns for broader, regex-based vulnerability scanning in automated tools.
This is a webshell open source project
Pros of Webshell
- Webshell provides a wide range of web shells for various programming languages, including PHP, ASP, JSP, and more.
- The repository includes both client-side and server-side web shells, catering to different use cases.
- Webshell offers a comprehensive collection of web shells, making it a valuable resource for security professionals and penetration testers.
Cons of Webshell
- Webshell may contain potentially malicious code, and users should exercise caution when using the provided web shells.
- The repository does not provide detailed documentation or usage instructions, which may make it challenging for some users to navigate.
- Webshell may not be as actively maintained as Gf-Patterns, potentially leading to outdated or unsupported web shells.
Code Comparison
Gf-Patterns:
import re
patterns = {
"base64": r"(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?",
"md5": r"\b[a-fA-F0-9]{32}\b",
"sha1": r"\b[a-fA-F0-9]{40}\b",
"sha256": r"\b[a-fA-F0-9]{64}\b",
"email": r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b"
}
Webshell:
<?php
$cmd = $_GET['cmd'];
system($cmd);
?>
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Gf-Patterns V 1.9
GF By
A wrapper around grep, to help you grep for things
installation
If you've got Go installed and configured you can install waybackurls & Gf
with:
ⶠgo get -u github.com/tomnomnom/waybackurls
ⶠgo get -u github.com/tomnomnom/gf
If you've installed using go get
, you can enable auto-completion to your .bashrc
like this:
ⶠecho 'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash' >> ~/.bashrc
Note that you'll have to restart your terminal, or run source ~/.bashrc
for the changes to
take effect.
To get started quickly, you can copy the example pattern files to ~/.gf
like this:
ⶠmkdir .gf
ⶠcp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf
MY Gf Patterns installation
ⶠgit clone https://github.com/1ndianl33t/Gf-Patterns
To get started quickly, you can copy the example pattern files to ~/.gf
like this:
ⶠmkdir .gf
ⶠmv ~/Gf-Patterns/*.json ~/.gf
Use example
ⶠcat subdomains.txt | waybackurls | sort -u >> waybackdata | gf ssrf | tee -a ssfrparams.txt
ⶠcat waybackdata | gf redirect | tee -a redirect.txt
Pattern Files
The pattern definitions are stored in ~/.gf
as little JSON files that can be kept under version control:
gf ssrf
ⶠcat ~/.gf/ssrf.json
{
"flags": "-iE",
"patterns": [
"access",
"admin",
"dbg",
"debug",
"edit",
"grant",
"test",
"alter",
"clone",
"create",
"delete",
"disable",
"enable",
"exec",
"execute",
"load",
"make",
"modify",
"rename",
"reset",
"shell",
"toggle",
"adm",
"root",
"cfg",
"dest",
"redirect",
"uri",
"path",
"continue",
"url",
"window",
"next",
"data",
"reference",
"site",
"html",
"val",
"validate",
"domain",
"callback",
"return",
"page",
"feed",
"host",
"port",
"to",
"out",
"view",
"dir",
"show",
"navigation",
"open"
]
}
gf redirect
ⶠcat ~/.gf/redirect
{
"flags": "-iE",
"patterns": [
"forward=",
"dest=",
"redirect=",
"uri=",
"path=",
"continue=",
"url=",
"window=",
"to=",
"out=",
"view=",
"dir=",
"show=",
"navigation=",
"Open=",
"file=",
"val=",
"validate=",
"domain=",
"callback=",
"return=",
"page=",
"feed=",
"host=",
"port=",
"next=",
"data=",
"reference=",
"site=",
"html="
]
}
gf rce
ⶠcat ~/.gf/rce.json
{
"flags": "-iE",
"patterns": [
"daemon",
"upload",
"dir",
"execute",
"download",
"log",
"ip",
"cli",
"cmd"
]
}
Gf idor
ⶠcat ~/.gf/idor.json
{
"flags": "-iE",
"patterns": [
"id",
"user",
"account",
"number",
"order",
"no",
"doc",
"key",
"email",
"group",
"profile",
"edit",
"report"
]
}
Gf Sqli
ⶠcat ~/.gf/sqli.json
{
"flags": "-iE",
"patterns": [
"id",
"select",
"report",
"role",
"update",
"query",
"user",
"name",
"sort",
"where",
"search",
"params",
"process",
"row",
"view",
"table",
"from",
"sel",
"results",
"sleep",
"fetch",
"order",
"keyword",
"column",
"field",
"delete",
"string",
"number",
"filter"
]
}
Gf LFI
ⶠcat ~/.gf/lfi.json
{
"flags": "-iE",
"patterns": [
"file",
"document",
"folder",
"root",
"path",
"pg",
"style",
"pdf",
"template",
"php_path",
"doc"
]
}
Gf ssti
ⶠcat ~/.gf/ssti.json
{
"flags": "-iE",
"patterns": [
"template",
"preview",
"id",
"view",
"activity",
"name",
"content",
"redirect"
]
}
Gf debug_logic
ⶠcat ~/.gf/debug_logic.json
{
"flags": "-iE",
"patterns": [
"access",
"admin",
"dbg",
"debug",
"edit",
"grant",
"test",
"alter",
"clone",
"create",
"delete",
"disable",
"enable",
"exec",
"execute",
"load",
"make",
"modify",
"rename",
"reset",
"shell",
"toggle",
"adm",
"root",
"cfg",
"config"
]
}
Donations
You can encourage me to contribute more to the open source with donations.
-
Paypal - https://www.paypal.me/1ndianl33t
-
GooglePay,Paytm -
8085778875
Credit
Contributers
@victoni added more redirect parameters
@s0meguy1 redirect & ssrf pattern Added additional filters
Contact
Top Related Projects
SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.
Community curated list of templates for the nuclei engine to find security vulnerabilities.
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List
This is a webshell open source project
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot