通过"set api ssh"命令可以将PHPoC启动为SSH server。 下面是SSH server设定例。
$port = 22; // port number
$pid = pid_open("/mmap/tcp0"); // open TCP 0
pid_ioctl($pid, "set api ssh"); // set api to SSH
pid_bind($pid, "", $port); // binding
pid_listen($pid); // listen TCP connection
while(1)
{
$state = pid_ioctl($pid, "get state");
if($state == SSH_AUTH)
{
$username = pid_ioctl($pid, "get ssh username");
$password = pid_ioctl($pid, "get ssh password");
echo "$username / $password\r\n";
pid_ioctl($pid, "set ssh auth accept");
}
if($state == SSH_CONNECTED)
{
pid_send($pid, "Welcome to PHPoC SSH server\r\n");
echo "Connection has been established!\r\n";
pid_close($pid);
break;
}
}
在上面例子中PHPoC在通过22号端口等待连接,当与SSH客户端连接,输出用户名称与密码允许认证。 之后发送欢迎信息后终止连接。
※ 为了测试此例子在PC上实行SSH client程序后再连接。
※ SSH的用户账户及账号确认过程需要在PHPoC脚本处理。