文章目录
来自先知社区-红日安全-代码审计小组的PHP代码审计的项目本阶段的内容题目均来自 PHP SECURITY CALENDAR 2017
Day5 - escapeshellarg与escapeshellcmd使用不当
前言
mail()
bool mail (
string $to ,
string $subject ,
string $message [,
string $additional_headers [,
string $additional_parameters ]]
)
php内置函数
- to,指定邮件接收者,即接收人
- subject,邮件的标题
- message,邮件的正文内容
- additional_headers,指定邮件发送时其他的额外头部,如发送者From,抄送CC,隐藏抄送BCC
- additional_parameters,指定传递给发送程序sendmail的额外参数。
eg:
使用了-X
指定了日志文件,导致木马文件的写入
FILTER_VALIDATE_EMAIL
filter_var()
函数的选项,确保是否是有效的电子邮箱地址
escapeshellcmd()
escapeshellcmd — shell 元字符转义
**功能:**对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。
escapeshellarg()
escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数
**功能:**将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号