Article View: nl.comp.programmeren
Article #16Re: php header injection
From: flor
Date: Sat, 10 Feb 2007 09:07
Date: Sat, 10 Feb 2007 09:07
87 lines
4000 bytes
4000 bytes
flor schreef:
> 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!
oeps, te vroeg victorie gekraaid...
nu geeft hij ook bij geldige emailadressen dat het op een spambericht
gaat...
--
Flor
Wat is het duurste internetland?
http://www.nationmaster.com/graph/int_int_cha-internet-charges
Technical Details
Message-ID:
<DXfzh.1632$Gg.68676@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!newsfeed.freenet.de!feeder.news-service.com!feeder.news-service.com!news.astraweb.com!newsrouter-eu.astraweb.com!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> <0Sfzh.1624$xg.59451@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!newsfeed.freenet.de!feeder.news-service.com!feeder.news-service.com!news.astraweb.com!newsrouter-eu.astraweb.com!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> <0Sfzh.1624$xg.59451@phobos.telenet-ops.be> In-Reply-To: <0Sfzh.1624$xg.59451@phobos.telenet-ops.be> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 87 Message-ID: <DXfzh.1632$Gg.68676@phobos.telenet-ops.be> Date: Sat, 10 Feb 2007 09:07:47 GMT NNTP-Posting-Host: 84.194.42.128 X-Complaints-To: abuse@telenet.be X-Trace: phobos.telenet-ops.be 1171098467 84.194.42.128 (Sat, 10 Feb 2007 10:07:47 MET) NNTP-Posting-Date: Sat, 10 Feb 2007 10:07:47 MET Organization: Telenet Internet