邮件功能的PHP安全性

时间:2018-01-29 12:52:56

标签: php security

PHP zce考试学习指南说

  

您的PHP应用程序使用PHP的mail()函数发送包含用户提供的数据的电子邮件。攻击者如何为该电子邮件注入自定义BCC标头?

A: Adding "\rBcc: email@example.com" to the subject
B: Adding "\nBcc: email@example.com" to the mail body
C: Adding "\r\nBcc: email@example.com" to the sender's address
D: None of the above

正确答案:D:以上都不是

任何人都可以解释为什么" C"答案不对吗?

1 个答案:

答案 0 :(得分:0)

正确答案实际上是D,因为从用户输入提供时不会解释“\ r \ n”字符。

举例说明:给出以下代码:

$headers = "From: from@example.com{$_GET['q']}";
$result = mail('test@example.com', 'subject', 'message', $headers);

提供via get参数:http://example.com?q=“\ r \ nBcc:%20test2 @ example.com”将无效。但这可行:http://example.com?q=%0D%0ABcc:%20test2@example.com