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

Terminal 黑客练习/如何将新的终端命令传递给现有的终端命令?,terminal,code-injection,payload,Terminal,Code Injection,Payload,如果我们得到这个命令行: python file.py --gsgds dsgsdg --dg dgdg --dg 'gdgd' 现在,假设我们想中断这个命令,并在它运行时运行另一个命令,类似这样: python file.py --gsgds dsgsdg --dg dgdg --dg '`sleep 10`' 当我尝试在两个引号之间添加一个sleep 10时,它不起作用。请记住,我必须在两个引号之间打断命令。(“[此处插入]”) 有什么想法吗?举个例子,我们在终端中运行了bashshel

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

python file.py --gsgds dsgsdg --dg dgdg --dg 'gdgd'
现在,假设我们想中断这个命令,并在它运行时运行另一个命令,类似这样:

python file.py --gsgds dsgsdg --dg dgdg --dg '`sleep 10`'
当我尝试在两个引号之间添加一个
sleep 10
时,它不起作用。请记住,我必须在两个引号之间打断命令。(“[此处插入]”)


有什么想法吗?

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

让我们举个例子,
bash
中。 在使用
执行python命令后,您可以轻松地运行
sleep 10
。这里有一个方法:

python file.py --gsgds dsgsdg --dg dgdg --dg ''; sleep 1; echo 'Done'
你经过的地方,
;睡眠1;第三个参数中的echo'完成


有些shell对哪些字符可以/不能使用增加了限制,因此由您来尝试使用哪些字符。

我不确定您所说的“中断”命令是什么意思。您实际上是在向程序传递命令行参数?您是想将另一个命令的输出传递给
python
,还是想同时运行另一个程序?你能纠正这个问题,说明你想要什么吗?最好添加一个样本输出或更多细节。抱歉不清楚。英语不是我的母语,所以请试着理解我:假设一些网站在他们的终端中运行这个命令行:python file.py--arg1 blablabla--arg2 blabla--arg3'blabla'。我们可以更改其中一个参数(在本例中为arg3)。我想在命令运行之前运行命令sleep 10,所以它应该是这样的:python file.py--arg1 blabla--arg2 blabla--arg3'
sleep 10
'。这里的问题是,它们使用单引号,因此我无法将新命令注入到它们现有的命令中。我希望我说得很清楚。好吧,那么你希望输出是
python file.py--arg1 blabla--arg2 blabla--arg3'sleep 10'
还是除了运行python命令之外还要执行类似于run
sleep 10
的操作?我希望最终在现有命令的基础上运行命令'sleep 10'。知道我该怎么做吗?我不能只运行命令本身,我只有更改参数arg3的权限。如何使用arg3运行“睡眠10”?还有其他方法吗?看起来服务器知道如何处理这个问题。当我尝试您的建议时,服务器中会出现这种情况:--arg3'bla'\'''';睡眠1;echo'\''Done'-arg3 blabla您可以用错误更新问题,还是在此处共享?我确实看到里面有多余的“我想你没有正确地理解我。”。我正在做一个测试,有一个网站运行一个随机的python终端命令。他们现有命令的一个参数是可变的。我基本上需要通过这个参数注入另一个命令,让它休眠60秒。有些人可能称之为“命令注入”。有人能帮帮我吗?另外一件重要的事情是,当我用
尝试你们的建议时,这个特定的网站有一些辩护;睡眠1;echo'Done
,服务器返回
--arg3'bla'\'';睡眠1;回显'\''完成'--arg3 blabla