package neo4j import ( "context" "fmt" "github.com/shadow1ng/fscan/common" "github.com/shadow1ng/fscan/plugins/base" ) // Neo4jExploiter Neo4j利用器实现 type Neo4jExploiter struct{} // NewNeo4jExploiter 创建Neo4j利用器 func NewNeo4jExploiter() *Neo4jExploiter { return &Neo4jExploiter{} } // Exploit 执行Neo4j利用 func (e *Neo4jExploiter) Exploit(ctx context.Context, info *common.HostInfo, creds *base.Credential) (*base.ExploitResult, error) { // Neo4j插件主要用于服务识别和认证测试,不进行进一步利用 return &base.ExploitResult{ Success: false, Error: fmt.Errorf("Neo4j插件不支持进一步利用"), }, nil } // GetExploitMethods 获取支持的利用方法 func (e *Neo4jExploiter) GetExploitMethods() []base.ExploitMethod { return []base.ExploitMethod{ { Name: "信息收集", Type: base.ExploitDataExtraction, Description: "收集Neo4j图数据库信息", }, } } // IsExploitSupported 检查是否支持指定的利用类型 func (e *Neo4jExploiter) IsExploitSupported(method base.ExploitType) bool { return method == base.ExploitDataExtraction }