Documentation ¶
Index ¶
- Constants
- Variables
- func CheckForHttpxFingerResult(ip string, domain string, port int, resultPortscan *portscan.Result, ...) bool
- func DoFullScreenshot(url, path string) bool
- func SplitChar76(braw []byte) []byte
- type CustomFingerPrint
- type FingerAttrResult
- type FingerprintHub
- type FingerprintHubReult
- type Fingerprintx
- type FingerprintxService
- type HttpxAll
- type HttpxResult
- type IconHash
- type IconHashInfo
- type IconHashInfoResult
- type IconHashResult
- type ScreenShot
- func (s *ScreenShot) Delete(workspaceGUID, domain string) bool
- func (s *ScreenShot) Do()
- func (s *ScreenShot) LoadResult() (result []ScreenshotFileInfo)
- func (s *ScreenShot) LoadScreenshotFile(workspaceGUID, domain string) (r []string)
- func (s *ScreenShot) SaveFile(localSavePath string, result []ScreenshotFileInfo) (count int)
- type ScreenshotFileInfo
- type ScreenshotInfo
- type ScreenshotResult
- type TLS
- type WebFingerPrint
Constants ¶
View Source
const ( MaxWidth = 1280 //1980 MinHeight = 800 //1080 SavedWidth = 1280 //1024 SavedHeight = 800 //768 )
Variables ¶
View Source
var HttpxOutputDirectory string //全局的httpx保存响应的数据,用于自定义指纹匹配
View Source
var IgnorePort = []int{7, 9, 13, 17, 19, 21, 22, 23, 25, 26, 37, 53, 100, 106, 110, 111, 113, 119, 135, 138, 139,
143, 144, 145, 161,
179, 199, 389, 427, 444, 445, 514, 515, 543, 554, 631, 636, 646, 880, 902, 990, 993,
1433, 1521, 3306, 5432, 3389, 5900, 5901, 5902, 49152, 49153, 49154, 49155, 49156, 49157,
49158, 49159, 49160, 49161, 49163, 49165, 49167, 49175, 49176,
13306, 11521, 15432, 11433, 13389, 15900, 15901}
Functions ¶
func DoFullScreenshot ¶
DoFullScreenshot 调用chromedp执行截图
Types ¶
type CustomFingerPrint ¶
type CustomFingerPrint struct { Id int `json:"id"` App string `json:"app"` Rule string `json:"rule"` Company *string `json:"company,omitempty"` RuleId *int `json:"rule_id,omitempty"` }
CustomFingerPrint 自定义指纹结构
type FingerAttrResult ¶
type FingerprintHub ¶
type FingerprintHub struct { ResultPortScan *portscan.Result ResultDomainScan *domainscan.Result DomainTargetPort map[string]map[int]struct{} OptimizationMode bool }
func NewFingerprintHub ¶
func NewFingerprintHub() *FingerprintHub
NewFingerprintHub NNewFingerprintHub 创建FingerprintHub对象
func (*FingerprintHub) RunObserverWard ¶
func (f *FingerprintHub) RunObserverWard(url string) []FingerprintHubReult
RunObserverWard 调用ObserverWard,获取一个目标的指纹
type FingerprintHubReult ¶
type Fingerprintx ¶
func NewFingerprintx ¶
func NewFingerprintx() *Fingerprintx
func (*Fingerprintx) Do ¶
func (f *Fingerprintx) Do()
func (*Fingerprintx) RunFingerprintx ¶
func (f *Fingerprintx) RunFingerprintx(domain string) (result []FingerAttrResult)
type FingerprintxService ¶
type HttpxAll ¶
type HttpxAll struct { IsFingerprintHub bool IsScreenshot bool IsIconHash bool IsCustomFingerprint bool ResultPortScan *portscan.Result ResultDomainScan *domainscan.Result DomainTargetPort map[string]map[int]struct{} ResultScreenShot *ScreenshotResult ResultIconHashInfo *IconHashInfoResult FingerPrintFunc []func(domain string, ip string, port int, url string, result []FingerAttrResult, storedResponsePathFile string) []string IsProxy bool // contains filtered or unexported fields }
func (*HttpxAll) ParseContentResult ¶
ParseContentResult 解析httpx扫描的JSON格式文件结果
func (*HttpxAll) ParseHttpxJson ¶
func (x *HttpxAll) ParseHttpxJson(content []byte) (host string, port int, result []FingerAttrResult, urlResponse, storedResponsePathFile, storedFaviconPathFile, storedScreenshotPathFile string)
ParseHttpxJson 解析一条httpx的JSON记录
type HttpxResult ¶
type HttpxResult struct { A []string `json:"a,omitempty"` CNames []string `json:"cnames,omitempty"` Scheme string `json:"scheme,omitempty"` Url string `json:"url,omitempty"` Host string `json:"host,omitempty"` Port string `json:"port,omitempty"` Title string `json:"title,omitempty"` WebServer string `json:"webserver,omitempty"` ContentType string `json:"content_type,omitempty"` StatusCode int `json:"status_code,omitempty"` TLSData *TLS `json:"tls,omitempty"` Jarm string `json:"jarm,omitempty"` StoredResponsePath string `json:"stored_response_path,omitempty"` IconHash string `json:"favicon,omitempty"` FaviconPath string `json:"favicon_path,omitempty"` ScreenShotPath string `json:"screenshot_path,omitempty"` }
type IconHash ¶
type IconHash struct { ResultPortScan *portscan.Result ResultDomainScan *domainscan.Result IconHashInfoResult *IconHashInfoResult DomainTargetPort map[string]map[int]struct{} OptimizationMode bool }
func NewIconHash ¶
func NewIconHash() *IconHash
func (*IconHash) RunFetchIconHashes ¶
func (i *IconHash) RunFetchIconHashes(url string) (hashResult []IconHashResult)
type IconHashInfo ¶
type IconHashInfoResult ¶
type IconHashInfoResult struct { sync.RWMutex Result []IconHashInfo }
type IconHashResult ¶
type ScreenShot ¶
type ScreenShot struct { ResultPortScan *portscan.Result ResultDomainScan *domainscan.Result ResultScreenShot ScreenshotResult DomainTargetPort map[string]map[int]struct{} OptimizationMode bool }
func (*ScreenShot) Delete ¶
func (s *ScreenShot) Delete(workspaceGUID, domain string) bool
Delete 删除指定domain、IP下保存的screenshot文件
func (*ScreenShot) LoadResult ¶
func (s *ScreenShot) LoadResult() (result []ScreenshotFileInfo)
LoadResult 获取screenshot的结果文件
func (*ScreenShot) LoadScreenshotFile ¶
func (s *ScreenShot) LoadScreenshotFile(workspaceGUID, domain string) (r []string)
LoadScreenshotFile 获取screenshot文件
func (*ScreenShot) SaveFile ¶
func (s *ScreenShot) SaveFile(localSavePath string, result []ScreenshotFileInfo) (count int)
SaveFile 保存screenshot文件到本地
type ScreenshotFileInfo ¶
type ScreenshotInfo ¶
type ScreenshotResult ¶
type ScreenshotResult struct { sync.RWMutex Result map[string][]ScreenshotInfo }
func (*ScreenshotResult) HasDomain ¶
func (r *ScreenshotResult) HasDomain(domain string) bool
func (*ScreenshotResult) SetDomain ¶
func (r *ScreenshotResult) SetDomain(domain string)
func (*ScreenshotResult) SetScreenshotInfo ¶
func (r *ScreenshotResult) SetScreenshotInfo(domain string, si ScreenshotInfo)
type TLS ¶
type TLS struct { SubjectDNSName []string `json:"subject_an,omitempty"` SubjectCommonName string `json:"subject_cn,omitempty"` SubjectDistinguishedName string `json:"subject_dn,omitempty"` SubjectOrganization []string `json:"subject_org,omitempty"` IssuerDistinguishedName string `json:"issuer_dn,omitempty"` IssuerOrganization []string `json:"issuer_org,omitempty"` }
type WebFingerPrint ¶
type WebFingerPrint struct { Name string `json:"name"` Path string `json:"path"` RequestMethod string `json:"request_method"` RequestHeaders map[string]string `json:"request_headers"` RequestData string `json:"request_data"` StatusCode int `json:"status_code"` Headers map[string]string `json:"headers"` Keyword []string `json:"keyword"` FaviconHash []string `json:"favicon_hash"` Priority int `json:"priority"` }
WebFingerPrint 匹配web_fingerprint_v3.json的指纹结构 通过借鉴afrog代码获取fingerprinthub定义的指纹信息
Click to show internal directories.
Click to hide internal directories.