mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-09-14 05:56:46 +08:00

优化目标: - 解决单文件过大问题(970行 -> 4个模块文件) - 提升代码可维护性和可读性 - 保持包的一致性和向后兼容性 拆分方案: - Config.go (48行): 主配置文件,包含版本信息和基础配置 - ConfigServiceDict.go (65行): 服务认证字典和默认密码管理 - ConfigPortMapping.go (850行): 端口与探测器映射关系 - ConfigScanOptions.go (260行): 扫描相关的各种配置选项 技术优势: - 模块化组织,职责分明 - 同包结构避免导入复杂性 - 完全向后兼容,现有代码无需修改 - 便于后续功能扩展和维护 为v2.0.2版本架构优化奠定基础
73 lines
3.0 KiB
Go
73 lines
3.0 KiB
Go
package Common
|
|
|
|
// ConfigServiceDict.go - 服务认证字典和默认密码配置
|
|
|
|
// Userdict 定义各种服务的默认用户名字典
|
|
var Userdict = map[string][]string{
|
|
"ftp": {"ftp", "admin", "www", "web", "root", "db", "wwwroot", "data"},
|
|
"mysql": {"root", "mysql"},
|
|
"mssql": {"sa", "sql"},
|
|
"smb": {"administrator", "admin", "guest"},
|
|
"rdp": {"administrator", "admin", "guest"},
|
|
"postgresql": {"postgres", "admin"},
|
|
"ssh": {"root", "admin"},
|
|
"mongodb": {"root", "admin"},
|
|
"oracle": {"sys", "system", "admin", "test", "web", "orcl"},
|
|
"telnet": {"root", "admin", "test"},
|
|
"elastic": {"elastic", "admin", "kibana"},
|
|
"rabbitmq": {"guest", "admin", "administrator", "rabbit", "rabbitmq", "root"},
|
|
"kafka": {"admin", "kafka", "root", "test"},
|
|
"activemq": {"admin", "root", "activemq", "system", "user"},
|
|
"ldap": {"admin", "administrator", "root", "cn=admin", "cn=administrator", "cn=manager"},
|
|
"smtp": {"admin", "root", "postmaster", "mail", "smtp", "administrator"},
|
|
"imap": {"admin", "mail", "postmaster", "root", "user", "test"},
|
|
"pop3": {"admin", "root", "mail", "user", "test", "postmaster"},
|
|
"zabbix": {"Admin", "admin", "guest", "user"},
|
|
"rsync": {"rsync", "root", "admin", "backup"},
|
|
"cassandra": {"cassandra", "admin", "root", "system"},
|
|
"neo4j": {"neo4j", "admin", "root", "test"},
|
|
}
|
|
|
|
// Passwords 定义默认密码字典
|
|
var Passwords = []string{
|
|
"123456", "admin", "admin123", "root", "", "pass123", "pass@123",
|
|
"password", "Password", "P@ssword123", "123123", "654321", "111111",
|
|
"123", "1", "admin@123", "Admin@123", "admin123!@#", "{user}",
|
|
"{user}1", "{user}111", "{user}123", "{user}@123", "{user}_123",
|
|
"{user}#123", "{user}@111", "{user}@2019", "{user}@123#4",
|
|
"P@ssw0rd!", "P@ssw0rd", "Passw0rd", "qwe123", "12345678", "test",
|
|
"test123", "123qwe", "123qwe!@#", "123456789", "123321", "666666",
|
|
"a123456.", "123456~a", "123456!a", "000000", "1234567890", "8888888",
|
|
"!QAZ2wsx", "1qaz2wsx", "abc123", "abc123456", "1qaz@WSX", "a11111",
|
|
"a12345", "Aa1234", "Aa1234.", "Aa12345", "a123456", "a123123",
|
|
"Aa123123", "Aa123456", "Aa12345.", "sysadmin", "system", "1qaz!QAZ",
|
|
"2wsx@WSX", "qwe123!@#", "Aa123456!", "A123456s!", "sa123456",
|
|
"1q2w3e", "Charge123", "Aa123456789", "elastic123",
|
|
}
|
|
|
|
// GetUserDict 获取指定服务的用户字典
|
|
func GetUserDict(service string) []string {
|
|
if users, exists := Userdict[service]; exists {
|
|
return users
|
|
}
|
|
return []string{"admin", "root"} // 默认用户名
|
|
}
|
|
|
|
// GetPasswordDict 获取密码字典
|
|
func GetPasswordDict() []string {
|
|
return Passwords
|
|
}
|
|
|
|
// AddCustomUsers 添加自定义用户名到指定服务
|
|
func AddCustomUsers(service string, users []string) {
|
|
if existing, exists := Userdict[service]; exists {
|
|
Userdict[service] = append(existing, users...)
|
|
} else {
|
|
Userdict[service] = users
|
|
}
|
|
}
|
|
|
|
// AddCustomPasswords 添加自定义密码到密码字典
|
|
func AddCustomPasswords(passwords []string) {
|
|
Passwords = append(Passwords, passwords...)
|
|
} |