0
我有一个项目使用phpseclib connect cisco和H3C Swtich设备。我如何测试登录密码
这些设备的passowrd并没有不同,所以我必须尝试测试这些密码,当我第一次登录这些设备时。
我写了一些代码来找到密码列表中的正确密码,但正确的密码只有当它第一次用于登录时才有效。
function loginssh_keybo(){
$user = user::find()->all();
$ssh = new SSH2($this->ip);
if (@$ssh->login($user[$this->i]->username, $user[$this->i]->password)) {
return $ssh;
}else{
return false;
}
}
function loginssh_pass(){
$user = user::find()->all();
$ssh = new SSH2($this->ip);
if (@$ssh->login($user[$this->i]->username, $user[$this->i]->password, $user[$this->i]->password)) {
return $ssh;
}else{
return false;
}
}
function loginssh()
{
$user = user::find()->all();
$max = 3;
$this->i = 0;
do {
if (@$ssh=$this->loginssh_keybo()) {
$this->islogin = True;
break;
} elseif (@$ssh=$this->loginssh_pass()) {
$this->islogin = True;
break;
} elseif
($this->i > $max) {
return false;
}
$this->i += 1;
} while (!$this->islogin);
$this->user = $user[$this->i]->username;
$this->password = $user[$this->i]->password;
return $ssh;
}
貌似这已经交叉张贴了这个在https://github.com/phpseclib/phpseclib/issues/1144。 – neubert