微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

黑客练习/如何将新的终端命令传递给现有的终端命令?

如何解决黑客练习/如何将新的终端命令传递给现有的终端命令?

如果我们得到这个命令行:

python file.py --gsgds dsgsdg --dg dgdg --dg 'gdgd'

现在,假设我们想中断这个命令并在它运行时运行另一个命令,就像这样:

python file.py --gsgds dsgsdg --dg dgdg --dg '`sleep 10`'

当我尝试在两个引号之间添加 sleep 10 时,它不起作用。请记住,我必须打破两个引号之间的命令。 ('[在此处注入]')

有什么想法吗?

解决方法

让我们举个例子,我们有 bash shell 在终端中运行。在 bash shell 中有几个具有特殊含义的字符。您可以在 bash 手册中阅读更多内容。

让我们以 ; 中的 bash 为例。 您可以使用 sleep 10 在 Python 命令后轻松运行 ;。这是一种方法:

python file.py --gsgds dsgsdg --dg dgdg --dg ''; sleep 1; echo 'Done'

在第三个参数中传递 '; sleep 1; echo 'Done 的地方。

某些 shell 对可以/不能使用的字符添加了限制,因此您可以自行尝试使用哪些字符。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。