chi*_*hip 1 php variables exec
我已经尝试过搜索,但是如果在某个地方得到回答的话,我没有多少运气道歉.
我正在玩一些零碎的东西,我试图将一个URL变量传递给EXEC.这是我正在尝试的... sc.exe是一个我必须传递URL的程序 - $ GET_ID变量必须来自URL
$GET_ID =$_GET= ['myid'];
exec('sc.exe --url=http://localhost/DS1/test.php?ID='.$GET_ID.'&TEST=1');
echo $GET_ID;
Run Code Online (Sandbox Code Playgroud)
当我尝试这个代码时 - 似乎没有传递GET变量,程序得到 http://localhost/DS1/test.php?ID =&TEST = 1 '
我做了一些搜索..这似乎是一种限制..所以解决方案/解决方法是什么?
谢谢
您=的代码中有额外的内容.这应该工作:
$GET_ID = $_GET['myid'];
Run Code Online (Sandbox Code Playgroud)
但是,直接将用户数据传递到命令行是非常危险的!它允许攻击者在命令行上执行任意命令.
你必须使用escapeshellarg():
$GET_ID = escapeshellarg($_GET['myid']);
Run Code Online (Sandbox Code Playgroud)