Jump to content


Photo

Email Header Inject Test


  • Please log in to reply
1 reply to this topic

#1 mildlyincoherent

mildlyincoherent
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 29 October 2006 - 04:49 AM

So I'm trying to write a script to check if someone is trying to do a header inject using my web based email form.  The problem is that, regardless of the content, it is being tagged as hijacked.  The following is the relevant part of my code:


$ip=$_POST['ip'];
		$httpref=$_POST['httpref'];
		$httpagent=$_POST['httpagent'];
		$visitor=$_POST['visitor'];
		$visitormail=$_POST['visitormail'];
		$subject=$_POST['subject'];
		$notes=$_POST['notes'];

		$passedTests = "yes";
		$Hijacked = "no";
		$HijackAttempt=$visitormail;

		if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
		{
			echo "<div class=\"centerIt\">";
			echo "The following error(s) were encountered: <br />";
			echo "<font color='red'>Invalid email address. <br /></font>";
			$passedTests = "no";
		}

		if(empty($visitor) || empty($visitormail) || empty($notes )) 
		{
			if($passedTests == "yes")
			{
				echo "<div class=\"centerIt\">";
				echo "The following error(s) were encountered: <br />";
			}
			echo "<font color='red'>Please fill in ALL of the required fields.</font>";
			$passedTests = "no";
		}
		
	    if (!preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i", $HijackAttempt) && ($passedTests == "yes"))
		{
			$passedTests = "no";
			$Hijacked = "yes";
		}

Any help identifying the problem with this code would be much appreciated.

#2 mildlyincoherent

mildlyincoherent
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 29 October 2006 - 05:44 PM

*hopeful bump*




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users