mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 14:06:44 +08:00

- 实现Oracle TNS协议连接器,支持多种服务名 - 支持高危用户(SYS/SYSTEM)检测和SYSDBA权限 - 实现服务识别和弱密码检测功能 - 集成国际化消息系统 - 测试通过:服务识别和高危用户认证功能
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
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
|
||
} |