appfinger

package module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2023 License: MIT Imports: 18 Imported by: 0

README

AppFinger - Web Application Fingerprint Scanner

AppFinger is an open-source web application fingerprint scanner designed to identify and analyze web applications based on their unique characteristics.

Usage

Flags:
APPFINGER:
-l, -url-file string     File containing urls to scan
-u, -url string[]        target url to scan (-u INPUT1 -u INPUT2)
-t, -threads int         Number of concurrent threads (default 10) (default 10)
-timeout int             Timeout in seconds (default 10) (default 10)
-x, -proxy string        HTTP proxy to use for requests (e.g. http://127.0.0.1:7890)
-s, -stdin               Read urls from stdin
-d, -finger-home string  finger yaml directory home default is built-in

HELP:
-debug  debug

OUTPUT:
-o, -output string  file to write output to

Example

appfinger -u https://example.com

How it Works

AppFinger scans web applications by analyzing their unique fingerprints, providing valuable insights into the technologies used.

Contributing

Feel free to contribute to AppFinger by opening issues or submitting pull requests on GitHub.

License

AppFinger is licensed under the MIT License. See the LICENSE file for details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadDirectoryRule

func LoadDirectoryRule(dir string) []string

func ResponseDecoding

func ResponseDecoding(body []byte, charset string) string

Types

type AppFinger

type AppFinger struct {
	Rules []*Rule

	Proxy string
	// contains filtered or unexported fields
}

func New

func New(options *Options) *AppFinger

func (*AppFinger) AddFinger

func (f *AppFinger) AddFinger(content string)

func (*AppFinger) LoadAppFinger

func (f *AppFinger) LoadAppFinger(directory string)

func (*AppFinger) Match

func (f *AppFinger) Match(banner *Banner) map[string]map[string]string

func (*AppFinger) MatchURI

func (f *AppFinger) MatchURI(uri string) (*Banner, map[string]map[string]string)
type Banner struct {
	Body       string
	Header     string
	Headers    map[string]string
	Title      string
	Icon       string
	StatusCode int
	Response   string
	SSL        bool
}

func Request

func Request(uri string, timeout time.Duration, proxy string) ([]*Banner, error)

type Options

type Options struct {
	Timeout time.Duration
	Home    string
	Proxy   string
}

type Rule

type Rule struct {
	Name              string              `json:"name,omitempty"`
	MatchersCondition string              `yaml:"matchers-condition" json:"matchers_condition,omitempty"`
	Matchers          []*matchers.Matcher `json:"matchers,omitempty"`
}

func (*Rule) Match

func (r *Rule) Match(banner *Banner) (bool, map[string]string)

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL