Documentation
¶
Index ¶
- Constants
- Variables
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func DumpSessionOnSig(sess *Session)
- func GetPageStructure(body io.Reader) ([]string, error)
- func GetSimilarity(a, b []string) float64
- func HostAndPortToURL(host string, port int, protocol string) string
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type Header
- type Logger
- func (l *Logger) CloseDebugLog()
- func (l *Logger) Debug(format string, args ...interface{})
- func (l *Logger) Error(format string, args ...interface{})
- func (l *Logger) Fatal(format string, args ...interface{})
- func (l *Logger) Important(format string, args ...interface{})
- func (l *Logger) Info(format string, args ...interface{})
- func (l *Logger) Log(level int, format string, args ...interface{})
- func (l *Logger) SetDebugLog(path string)
- func (l *Logger) SetSilent(s bool)
- func (l *Logger) Warn(format string, args ...interface{})
- type Note
- type Options
- type Page
- type Report
- type Session
- func (s *Session) AddPage(url string) (*Page, error)
- func (s *Session) Asset(name string) ([]byte, error)
- func (s *Session) BaseFilenameFromURL(stru string) string
- func (s *Session) End()
- func (s *Session) GetFilePath(p string) string
- func (s *Session) GetPage(url string) *Page
- func (s *Session) GetPageByUUID(id string) *Page
- func (s *Session) ReadFile(p string) ([]byte, error)
- func (s *Session) SaveToFile(filename string) error
- func (s *Session) Start()
- func (s *Session) ToJSON() string
- type Stats
- func (s *Stats) Duration() time.Duration
- func (s *Stats) IncrementPortClosed()
- func (s *Stats) IncrementPortOpen()
- func (s *Stats) IncrementRequestFailed()
- func (s *Stats) IncrementRequestSuccessful()
- func (s *Stats) IncrementResponseCode2xx()
- func (s *Stats) IncrementResponseCode3xx()
- func (s *Stats) IncrementResponseCode4xx()
- func (s *Stats) IncrementResponseCode5xx()
- func (s *Stats) IncrementScreenshotFailed()
- func (s *Stats) IncrementScreenshotSuccessful()
- type Tag
Constants ¶
const ( Name = "aquatone" Version = "1.9.1-shelld3v" Author = "Pham Sy Minh" Website = "https://github.com/shelld3v/aquatone" )
const ( SessionStart = "session:start" SessionEnd = "session:end" Host = "host" URL = "url" URLResponsive = "url:responsive" TCPPort = "port:tcp" )
const ( FATAL = 5 ERROR = 4 WARN = 3 IMPORTANT = 2 INFO = 1 DEBUG = 0 )
Variables ¶
var ( SmallPortList = []int{80, 443} MediumPortList = []int{80, 443, 8000, 8080, 8443} LargePortList = []int{80, 81, 443, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888} XLargePortList = []int{80, 81, 300, 443, 591, 593, 832, 981, 1010, 1311, 2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9981, 12443, 16080, 18091, 18092, 20720, 28017} )
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/
foo.txt
img/
a.png
b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func DumpSessionOnSig ¶
func DumpSessionOnSig(sess *Session)
func GetSimilarity ¶
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
Types ¶
type Header ¶
type Header struct {
Name string `json:"name"`
Value string `json:"value"`
DecreasesSecurity bool `json:"decreasesSecurity"`
IncreasesSecurity bool `json:"increasesSecurity"`
}
func (*Header) SetSecurityFlags ¶
func (h *Header) SetSecurityFlags()
type Logger ¶
func (*Logger) CloseDebugLog ¶
func (l *Logger) CloseDebugLog()
func (*Logger) SetDebugLog ¶
type Options ¶
type Options struct {
OutDir string
SessionPath string
TemplatePath string
Proxy string
ChromePath string
Ports string
MatchCodes string
FilterCodes string
FilterString string
ThumbnailSize string
InputFile string
Threads int
Timeout int
ScanTimeout int
HTTPTimeout int
ScreenshotTimeout int
ScreenshotDelay int
FollowRedirect bool
FullPage bool
Nmap bool
SaveBody bool
Silent bool
Version bool
Offline bool
Similarity float64
HTTPHeaders []string
}
func ParseOptions ¶
type Page ¶
type Page struct {
sync.Mutex
UUID string `json:"uuid"`
URL string `json:"url"`
Hostname string `json:"hostname"`
Addrs []string `json:"addrs"`
Status string `json:"status"`
PageTitle string `json:"pageTitle"`
PageStructure []string `json:"-"`
HeadersPath string `json:"headersPath"`
BodyPath string `json:"bodyPath"`
ScreenshotPath string `json:"screenshotPath"`
HasScreenshot bool `json:"hasScreenshot"`
Headers []Header `json:"headers"`
Tags []Tag `json:"tags"`
Notes []Note `json:"notes"`
}
func (*Page) BaseFilename ¶
type Session ¶
type Session struct {
sync.RWMutex
Version string `json:"version"`
Options Options `json:"-"`
Out *Logger `json:"-"`
Stats *Stats `json:"stats"`
Pages map[string]*Page `json:"pages"`
PageSimilarityClusters map[string][]string `json:"pageSimilarityClusters"`
Ports []int `json:"-"`
EventBus EventBus.Bus `json:"-"`
WaitGroup sizedwaitgroup.SizedWaitGroup `json:"-"`
}
func NewSession ¶
func (*Session) BaseFilenameFromURL ¶
func (*Session) GetFilePath ¶
func (*Session) GetPageByUUID ¶
func (*Session) SaveToFile ¶
type Stats ¶
type Stats struct {
StartedAt time.Time `json:"startedAt"`
FinishedAt time.Time `json:"finishedAt"`
PortOpen uint32 `json:"portOpen"`
PortClosed uint32 `json:"portClosed"`
RequestSuccessful uint32 `json:"requestSuccessful"`
RequestFailed uint32 `json:"requestFailed"`
ResponseCode2xx uint32 `json:"responseCode2xx"`
ResponseCode3xx uint32 `json:"responseCode3xx"`
ResponseCode4xx uint32 `json:"responseCode4xx"`
ResponseCode5xx uint32 `json:"responseCode5xx"`
ScreenshotSuccessful uint32 `json:"screenshotSuccessful"`
ScreenshotFailed uint32 `json:"screenshotFailed"`
}
func (*Stats) IncrementPortClosed ¶
func (s *Stats) IncrementPortClosed()
func (*Stats) IncrementPortOpen ¶
func (s *Stats) IncrementPortOpen()
func (*Stats) IncrementRequestFailed ¶
func (s *Stats) IncrementRequestFailed()
func (*Stats) IncrementRequestSuccessful ¶
func (s *Stats) IncrementRequestSuccessful()
func (*Stats) IncrementResponseCode2xx ¶
func (s *Stats) IncrementResponseCode2xx()
func (*Stats) IncrementResponseCode3xx ¶
func (s *Stats) IncrementResponseCode3xx()
func (*Stats) IncrementResponseCode4xx ¶
func (s *Stats) IncrementResponseCode4xx()
func (*Stats) IncrementResponseCode5xx ¶
func (s *Stats) IncrementResponseCode5xx()
func (*Stats) IncrementScreenshotFailed ¶
func (s *Stats) IncrementScreenshotFailed()
func (*Stats) IncrementScreenshotSuccessful ¶
func (s *Stats) IncrementScreenshotSuccessful()