🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #15

Re: php header injection

#15
From: flor
Date: Sat, 10 Feb 2007 09:01
82 lines
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-mail
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>

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