一个PHP代码注入漏洞

PHP escapeshellarg() 与escapeshellcmd()

最近在对某产品的漏洞进行复现与发散绕过,遇到了一个将escapeshellarg()与escapeshellcmd()一起使用导致命令执行的漏洞,因此就记录一下漏洞成因以及绕过手法。

首先补充一下背景知识,在unix系统中,被单引号包裹的部分如果存在变量,则这个变量不会被解析,但是被双引号包裹的部分在执行时,bash会先将变量名解析为变量的值再使用。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×