変数をエスケープせずに PHP でメール本文を生成しているため、少しぎこちなく感じています。HTML では、htmlspecialchars() または同様の関数をコマンドラインの escapeshellarg() に使用していますが、メールには? たとえば、次のようなものです。
<?php
$usercontent = $_GET['usercontent'];
mail("dummy@nowhere.tld", "My Subject", "My body with $usercontent included");
?>
攻撃者は上記のようなスクリプトを使用して何ができるでしょうか?また、そのような攻撃からどのように保護すればよいでしょうか? または、PHP mail() は保存され、その理由は何ですか?
アップデート
例を参照してください。
- ボディのみが影響を受けます (ヘッダーはありません!)
- Content-Type は text/plain です
- 答えに対するいくつかの証拠はいいでしょう
- MTA は、「/usr/sbin/sendmail -t -i」を使用した後置 sendmail です。