Article View: nl.comp.programmeren
Article #13Re: php header injection
From: Tim Van Wassenhove
Date: Thu, 08 Feb 2007 20:34
Date: Thu, 08 Feb 2007 20:34
65 lines
3305 bytes
3305 bytes
flor schreef:
> Erick T. Barkhuis schreef:
>> flor:
>>> spammers misbruiken mijn php script.
>>
>>> is het mogelijk om de header injection ongedaan te maken?
>>
>> Weiger gewoon alle invoer die tot gevolg heeft dat er control
>> characters zoals \r en \n in de mailheaders terechtkomen.
>>
>> Met PHP iets als
>> if (strstr($afzender,"\n")) {
>> header ("Location: $foutpagina");
>> exit;
>> }
>>
>> ....waarbij $afzender een ingevoerd veld is waarvan de inhoud in een
>> mailheader terechtkomt, en $foutpagina de url bevat van een
>> webdocument waarheen je de booswicht wilt doorverwijzen.
>
> bedankt voor de hulp.
> Ik slaag er echter niet in om het voor elkaar te krijgen.
>
> Mijn code:
>
>> <?php
>> $email = $_POST['email_addr'] ;
>>
>> if (strstr($email,"\n")) {
>> header ("Location: $spamurl");
>> exit;
>> }
>>
>> $add_subscriber = "insert into subscribers values (/de ingevulde
>> waarden/);
>> mysql_query($add_subscriber,$conn) or die(mysql_error());
>>
>> header( "Location: $thankyouurl" );
>> exit ;
>> ?>
>
> als ik nu een "\n" in het emailadres zet, krijg ik toch nog de
> $thankyouurl en wordt alles mooi in de database gezet
> wat doe ik mis?
>
http://www.php.net/strstr
string strstr ( string haystack, string needle )
Geeft alles van haystack van het eerste voorkomen van needle tot het einde.
Als needle niet gevonden wordt, retourneert deze functie FALSE.
Als needle geen string is, wordt deze geconverteerd naar een integer en
toegepast als de ordinale waarde van dat karakter.
Dus in dit geval, wil je dat strstr FALSE retourneert.
if (strstr($email, "\n") !== FALSE) {
header('Location: http://example.com');
exit;
}
--
Tim Van Wassenhove <url:http://www.timvw.be/>
Technical Details
Message-ID:
<q_OdnaaHRsXvFFbYRVnytQA@scarlet.biz>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.scarlet.biz!news.scarlet.biz.POSTED!not-for-mailReferences:
<_dYxh.329365$zB3.6533177@phobos.telenet-ops.be> <MPG.20326fc52ebe7c7a98a4ff@news.individual.net> <NYmyh.331494$Mn7.6448246@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,d41daf92e1d7a0a0 X-Google-Thread: 114bee,d41daf92e1d7a0a0 X-Google-Attributes: gid107324,gid114bee,public X-Google-Language: DUTCH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.scarlet.biz!news.scarlet.biz.POSTED!not-for-mail NNTP-Posting-Date: Thu, 08 Feb 2007 14:34:58 -0600 Date: Thu, 08 Feb 2007 21:34:57 +0100 From: Tim Van Wassenhove <timvw@users.sourceforge.net> User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 Newsgroups: nl.comp.programmeren,be.comp.internet.design Subject: Re: php header injection References: <_dYxh.329365$zB3.6533177@phobos.telenet-ops.be> <MPG.20326fc52ebe7c7a98a4ff@news.individual.net> <NYmyh.331494$Mn7.6448246@phobos.telenet-ops.be> In-Reply-To: <NYmyh.331494$Mn7.6448246@phobos.telenet-ops.be> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <q_OdnaaHRsXvFFbYRVnytQA@scarlet.biz> Lines: 65 NNTP-Posting-Host: 62.235.212.163 X-Trace: sv3-8ZDrcQzNBFImISJyXRkk35fru+V/0q8AH3+/8ZnlL4N/cDTzdocPxqqMc5EBb9MrskfPsDxRiRJpILP!WxvoJepGIN/3jVWWWFeFEz7QNhF97WwxFhao6QoZdSJ8u0uGrbDvzdwTNnIlRf785M3w2jIkqZXt!xQ== X-Complaints-To: abuse@scarlet.be X-DMCA-Complaints-To: abuse@scarlet.biz X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32