从命令行填充密码的脚本

发布于 2024-12-25 21:30:15 字数 326 浏览 0 评论 0原文

我有一个从 php (exec()) 调用的命令:

openssl pkcs12 -export -in cert.pem -inkey key.pem -out cred.p12

然后我需要插入密码两次

Enter Export Password:
Verifying - Enter Export Password:

,我需要脚本来填充密码输入,因为 exec() 只会执行该命令,但不会插入密码两次。你知道我该怎么做吗?

I have this command that I am calling from php (exec()):

openssl pkcs12 -export -in cert.pem -inkey key.pem -out cred.p12

and then I need to insert password twice

Enter Export Password:
Verifying - Enter Export Password:

I need script that will fill the password inputs, because exec() will only do that command, but not insert password twice. Do you have any idea how should I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年九夏 2025-01-01 21:30:15

在 php 中,真正的双向 shell 并不容易,但在这种情况下,您可以仅使用换行符来模拟 Enter 键。

exec("Command\nPassword\nPassword");

对于真正的双向(读和写)可能性,您需要查看 proc_open()
如果您不需要返回输出,您可以在 w 模式下使用更简单的 popen(),但您需要验证您的命令是否已成功运行,因为您不会得到输出或错误代码。

A true bi-directional shell is not easy in php, but in this case you can just use a newline to simulate an enter press.

exec("Command\nPassword\nPassword");

For a true bi-directional (read & write) possibility you will need to look at proc_open().
If you do not need the return output you can use the far easier popen() in w mode, but you'll need to verify that your command has successfully run because you won't get output or error codes back.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文