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()