Git Product home page Git Product logo

psfuzz's Introduction

PSFuzz

PSFuzz - ProvieSec Fuzz Scanner - Web path discovery

License contributions welcome Twitter

Proviesec logo Buy Me A Coffee

Table of Contents

Introduction

⭐ Star us on GitHub — it motivates a lot! ⭐

Web path discovery

Discover with ProSecFuzz hidden files and directories on a web server.

Disclaimer: DONT BE A JERK!

Needless to mention, please use this tool very very carefully. The authors won't be responsible for any consequences.

Installation & Usage

go get https://github.com/Proviesec/PSFuzz

Wordlists

Summary:

Options

Required

  • -u/-url Example: -u https://www.google.com

Optional

  • -o/-output Example: -o google_output Default: output.txt
  • -d/-dirlist Example: -d list.txt Default is https://raw.githubusercontent.com/Proviesec/directory-payload-list/main/directory-full-list.txt
  • -s/-status Example: -s true Default:false only Status Code 200
  • -c/-concurrency Example: -c 5
  • -fscn/-filterStatusCodeNot Example: -fscn 404 Don't show response status code 404
  • -fsc/-filterStatusCode Example: -fsc 200,301 Show only response status code 200 and 301
  • -fl/-filterLength Example: -fl 122,1234,1235,1236 or -fl 122,1234-1236 Show only the response with this length (or length range)
  • -fln/-filterLengthNot Example: -fln 122,1234,1235,1236 or -fln 122,1234-1236 Show not this response with this length (or length range)
  • -fm/-filterMatchWord Example: -fm admin
  • -rah/-requestAddHeader Example: -rah Host:127.0.0.1
  • -b/-bypass Example: -b true -> bypass status code: 401,402,403
  • -g/-generate_payload Example: -g 100 -> generate a,aa,ab,abc,aaa,abb,bbc
  • -od /-onlydomains Example: -od true Show only domains in the outputfile (no status code)
  • -t /-filterTestLength Example: -t true make a test request and check if any other request has the same length, if yes, then skip the result for this request
  • fws / filterWrongStatus200 Example: -fws true - Don´t show: in title: "Access Gateway", "Not Found", "Error"/"ERROR", "403", "Bad Request" ,"Forbidden", "500", "Internal Server Error" and body length <= 1

Attack Configuration / Patterns

Response Analysis

Example

go run main.go -url https://www.google.com/ -d dir-full.txt -c 2 -o testest -s true -fscn 404,301,302

go run main.go -url https://www.google.com/ -d dir-full.txt -c 2 -o googletest -s true -fl 122,1565-1569 -fln 1566-1568

image

image

Todos

General

  • Multi requests
  • Optional param output
  • check https or http
  • Logo and Version output
  • Tryhackme room
  • help mode (-h)
  • check backslah
  • optional config file
    • load config
    • save config
    • yaml file
    • config for "dont show" in title/body
  • Proxy
  • throttle
  • detect "too many requests"
  • Output
    • TXT
    • CSV
    • Json
    • HTML
  • Progress bar
  • list of sites
  • Parameter
    • random payload generator
    • choice of dirlist from proviesec github repo
    • subdomain list from proviesec github repo
    • Port List
    • Length
    • Length range show and not show
    • Response Status List show
    • Response Status Range show
    • Response Status List not show
    • Response Status Range not show
    • Filter content type
    • Words match list title/page
    • Set Optional Header
    • scan subdirs (list: admin/public/static)
    • exclude subdirs (list: js/img)
    • add default-extensions (yml,php,aspx,jsp,html,js)
    • lowercase
    • uppercase
    • Min response-size
    • Max response-size
    • Set request Timeout
    • Add Cookies
    • quite Mode
    • random user-agent
    • show only the urls
    • add user agent
    • username /password basic Auth

Attack

  • make GET requests
  • make POST requests
  • try PUT/DELETE/PATCH
  • Wordlist txt parameter
  • Wildcard parameter
  • List of URLs
  • depth by dir
  • Word list
    • Automatic Word list for any file html,txt, php..
      • payload generator, include, start or end with specific word and max length
      • file ending as parameter list
    • get list from any url
    • get list from proviesec github account default
    • multiple word lists
  • Crlf scan
  • open redirect scan
  • fuzzing parameter (from a-z)
  • fuzzing http verbs
  • Wordlist formats, upper lower

Response Analysis

  • show response status
  • show possibile parameter
  • dump the response in files
  • Fingerprint Software (Wordpress/Apache/nginx etc.)
  • CORS analyse
  • bypass
    • 403 Bypass, config
    • Status bypass
  • Words match list title/page/header
    • output the match line
  • Show positiv false: status 200, but title 404
  • Show possible block response, after x requests "403 or too many request"
  • Show possible false 200, same length of a random site
  • Intilligence
    • Automatically detect false 200 (really 404)
    • too many rediretcs and then restart again, with the exclusion of
    • Show the most unique target
  • Show titel of Page
  • Show Response Body Length
  • filter possibile 404
  • show content type
  • Fingerprint check
  • fuzz Parameter check (normal Response vs. with paramter)
  • show reflected cookie
  • show reflected params
  • show reflected base64 params
  • compare two scans
    • save scan
    • load scan
  • Redirect handler - 301... -> Can be activated via parameter
    • Show Redirect URL
    • Skip Status filter if redirect true (via parameter)

Example

go run main.go -url https://www.google.com -d list.txt -s true -c 2

psfuzz's People

Contributors

provie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.