Forum Moderators: phranque
The other scenario I've seen is an obvious bot "feeling out" the script. That is, on the first hit it throws some data at it and gets an invalid data error (missing required field, for example.) It hits again, populating that field. Through trial and error, it figures out what fields are email addresses, and worst of all, what fields will get injected directly into a mail header. The "subject" line is an Achilles heel in this respect - if they can inject into any of the mail headers, it can add it's own BCC field and email a few thousand addresses at a clip, and you'll never know - you only get one. To clarify, "we don't have a BCC field in our mail program" won't help you. They attempt to inject a newline and their own BCC, or even a multipart mail header.
By reviewing the log file for this "transaction," the entire process composes of 10 to 20 hits in under a minute, an obvious bot.
You can see this kind of stuff by logging all raw input from your forms. Not server or mail logs, these (to me) are often cryptic and tell only part of the story. You add a routine to your processor to write all input data to a file in a safe location and put a time stamp on each entry. Review it often, you'll be surprised at what you find.