Article View: nl.comp.programmeren
Article #15Re: php header injection
From: flor
Date: Sat, 10 Feb 2007 09:01
Date: Sat, 10 Feb 2007 09:01
82 lines
3739 bytes
3739 bytes
flor schreef:
> Tim Van Wassenhove schreef:
>> 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;
>> }
>>
>
> hallo,
>
> bedankt voor het antwoord, maar dit schijnt hetzelfde resultaat te geven
>
ah! blijkbaar werkt het wel als ik de ! weglaat:
>> if (strstr($email, "\n") == FALSE)
bedankt!
--
Flor
Wat is het duurste internetland?
http://www.nationmaster.com/graph/int_int_cha-internet-charges
Technical Details
Message-ID:
<0Sfzh.1624$xg.59451@phobos.telenet-ops.be>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!feeder.news-service.com!feed.xsnews.nl!border-1.ams.xsnews.nl!68.142.88.75.MISMATCH!hwmnpeer01.ams!news.highwinds-media.com!kramikske.telenet-ops.be!nntp.telenet.be!kwabbernoot.telenet-ops.be!phobos.telenet-ops.be.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> <q_OdnaaHRsXvFFbYRVnytQA@scarlet.biz> <0Pfzh.1619$Ja1.141448@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!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!feeder.news-service.com!feed.xsnews.nl!border-1.ams.xsnews.nl!68.142.88.75.MISMATCH!hwmnpeer01.ams!news.highwinds-media.com!kramikske.telenet-ops.be!nntp.telenet.be!kwabbernoot.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail From: flor <flor@no.spam> 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> <q_OdnaaHRsXvFFbYRVnytQA@scarlet.biz> <0Pfzh.1619$Ja1.141448@phobos.telenet-ops.be> In-Reply-To: <0Pfzh.1619$Ja1.141448@phobos.telenet-ops.be> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 82 Message-ID: <0Sfzh.1624$xg.59451@phobos.telenet-ops.be> Date: Sat, 10 Feb 2007 09:01:48 GMT NNTP-Posting-Host: 84.194.42.128 X-Complaints-To: abuse@telenet.be X-Trace: phobos.telenet-ops.be 1171098108 84.194.42.128 (Sat, 10 Feb 2007 10:01:48 MET) NNTP-Posting-Date: Sat, 10 Feb 2007 10:01:48 MET Organization: Telenet Internet