explode
字符串变为数组
与命令执行有关
- 命令执行过滤函数escapeshellcmd
escapeshellcmd ( string $command ) : string
escapeshellcmd() 对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。 此函数保证用户输入的数据在传送到 exec() 或 system() 函数,或者 执行操作符 之前进行转义。
反斜线(\)会在以下字符之前插入: &#;`|*?~<>^()[]{}$, \x0A 和 \xFF。 ’ 和 " 仅在不配对儿的时候被转义。 在 Windows 平台上,所有这些字符以及 % 和 ! 字符都会被空格代替。
值得一提的还有escapeshellarg函数。但是如果两个一起使用,也会有产生漏洞的可能
2. 命令执行函数exec
函数是PHP中的内置函数,用于执行外部程序并返回输出的最后一行。如果没有正确运行命令,它也返回NULL。
string exec( $command, $output, $return_var )
参数:此函数接受上述三个参数,如下所述:
$command:该参数用于保存将要执行的命令。
$output:此参数用于指定将使用命令的每一行输出填充的数组。
$ return_var: $return_var参数与输出参数一起出现,然后它返回已执行命令的状态将写入此变量
与xss有关
- htmlspecialchars
把预定义的字符 “<” (小于)和 “>” (大于)转换为 HTML 实体:
ENT_QUOTES - 编码双引号和单引号。