mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-26 21:21:53 +08:00
fix: 修复-user/-pwd凭据参数不生效的问题
问题原因: - Parse()解析凭据后更新globalConfig - 但BuildConfigFromFlags()创建新Config时使用默认字典 - 导致解析的UserPassPairs等凭据信息被丢弃 修复内容: 1. initialize.go: 将Parse解析的凭据结果应用到新Config 2. credential.go: 单用户密码对时创建UserPassPairs 3. rdp.go: 单凭据测试时跳过指纹识别,减少连接次数
This commit is contained in:
@@ -354,6 +354,18 @@ func (cp *CredentialParser) parseUserPassPairs(input *CredentialInput) ([]config
|
||||
var errors []error
|
||||
var warnings []string
|
||||
|
||||
// 如果命令行同时指定了单个用户名和单个密码(不是逗号分隔的多个),
|
||||
// 将其视为精确的用户密码对,而不是做笛卡尔积
|
||||
if input.Username != "" && input.Password != "" &&
|
||||
!strings.Contains(input.Username, ",") && !strings.Contains(input.Password, ",") &&
|
||||
input.UsersFile == "" && input.PasswordsFile == "" && input.UserPassFile == "" {
|
||||
pairs = append(pairs, config.CredentialPair{
|
||||
Username: strings.TrimSpace(input.Username),
|
||||
Password: input.Password, // 密码不trim,可能包含空格
|
||||
})
|
||||
return pairs, errors, warnings
|
||||
}
|
||||
|
||||
if input.UserPassFile == "" {
|
||||
return pairs, errors, warnings
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user