fscan/Plugins/services/oracle/exploiter.go
ZacharyZcR 3de7b21fe0 feat: Oracle数据库插件迁移到新架构完成
- 实现Oracle TNS协议连接器,支持多种服务名
- 支持高危用户(SYS/SYSTEM)检测和SYSDBA权限
- 实现服务识别和弱密码检测功能
- 集成国际化消息系统
- 测试通过:服务识别和高危用户认证功能
2025-08-09 13:02:11 +08:00

42 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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