PHP script verstuurt spam?

Pagina: 1
Acties:
  • 1.294 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kan iemand mij aub uitsluitsel geven dat met dit script géén spam wordt verstuurd?
Ik stuur gegevens vanuit flash, maar daar bouw ik een key in "geheim" zodat je niet kan versturen zonder dat flash die variabele heeft doorgestuurd.

Deze url kreeg ik om het na te kijken, maar zegt me niet veel.
http://support.combell.com/questions/278/

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php

//## instellingen##
//#################

    
    $extra_info = true;
    $yourMail = 'xxx@xxx.com'; //je eigen e-mailadres
    $yourName = 'Naam'; //je naam of de naam van je bedrijf (optioneel: indien niet van toepassing leeg laten)
    $key = 'geheim'; // De geheime code die je in het flashbestand hebt ingestald in de var key

//_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-

//##verwerking##
//##############

if( !empty($_POST) ){ // is er wel iets verzonden?

    // variabelen ophalen en aan een php-variabele toewijzen, php variabelen beginnen altijd met een $ en hier
    // komen ze uit de superglobal $_POST, dit is een soort van ingebouwde array waar al je vars uit flash in
    // worden gestoken
    $sendName = $_POST['name'];
    $sendBedrijf = $_POST['bedrijf'];
    $sendAdres = $_POST['adres'];
    $sendWoonplaats = $_POST['woonplaats'];
    $sendMail = $_POST['mail'];
    $sendTelefoon = $_POST['telefoon'];
    $sendMessage = $_POST['message'];


    $verzenderNaam = ( $yourName == '' ) ? $yourName : $sendName; //kijken of er een naam ingevuld is bij instellingen
    $verzender = 'From: '.$verzenderNaam.' <'.$sendName.'>'; //deze naam krijg jij in je mailbox als "afzender"

    //email checken
    function check_email($tainted_email = null) {
        $email_pattern = '/^[^@\s<&>]+@([-a-z0-9]+\.)+[a-z]{2,}$/i'; // zit er een @ in het adres enz
        if ( preg_match($email_pattern, $tainted_email) && strlen($tainted_email) < 150) { //email niet langer dan 150 karakters
            return true;
        } else {
            return false;
        }
    }

    //de headers
    $mailHeader .= 'Reply-To: '.$sendName.' <'.$sendMail.'>'."\r\n"; // reply-adres
    $mailHeader .= $verzender."\r\n"; // de afzender van de mail
    $mailHeader .= 'X-Mailer: PHP/'. phpversion() . "\r\n";
    $mailHeader .= 'X-Priority: 1'."\r\n"; // 1 voor belangrijk
    $mailHeader .= 'Priority: Urgent'."\r\n";
    $mailHeader .= 'Content-Type: text/html'."\r\n";

    // tijd en datum van verzenden opvragen via de php-functie date()
    $sendDay = date("d.m.Y");//datum
    $sendTime = date("H:i:s");//uur,minuten en seconden

    // indien de optie extra informatie op true staat 
    if ($extra_info == false) { 
    }

    //Wat komt er in het mailtje?
    $mailContent = '
    
<body link="#C0C0C0" vlink="#808080" alink="#C0C0C0">
<table style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px" cellspacing="1" cellpadding="3">
<tr>
<td><b>BERICHT</b></td>
</tr>
<tr></tr>
<tr>
<td width="200" bgcolor="#E7E7E7">Naam:</td>
<td width="250" bgcolor="#E7E7E7">'.$sendName.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Email:</td> 
<td bgcolor="#E7E7E7">'.$sendMail.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Adres:</td>
<td bgcolor="#E7E7E7">'.$sendAdres.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Woonplaats:</td> 
<td bgcolor="#E7E7E7">'.$sendWoonplaats.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Bedrijf:</td> 
<td bgcolor="#E7E7E7">'.$sendBedrijf.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Telefoon:</td>
<td bgcolor="#E7E7E7">'.$sendTelefoon.'</td>
</tr>
<tr>
<td bgcolor="#E7E7E7">Vraag en/of opmerking:</td>
<td bgcolor="#E7E7E7">'.$sendMessage.'</td>
</tr>
<tr>
<td><br></td>
<td> </td>
</tr>
<tr>
<td colspan="2"><br><br></td>
<td></td>
</tr>
</table>

</body>


    '.$sendXtraInfo;

    if (check_email($sendMail) && $_POST['geheim'] == $key ) { // is het e-mailadres wel juist getypt?
    //de uiteindelijke mail sturen
        $versturen = mail($yourMail, $sendName.' heeft een vraag en/of opmerking', $mailContent, $mailHeader); //de mailfunctie in een var steken
    } else {
        $versturen = false; //niet gelukt, slecht emailadres
    }

    $mailResult = ( $versturen ) ? true : false; // mail goed verzonden?
    echo '&mailResult='.$mailResult.'&'; // het antwoord op alle vorige vragen terug naar flash sturen

} //[EINDE] zit er iets in het mailtje?
?>


Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
En jij denkt dat die key niet uit het Flash-bestand te rippen is? Of nog sneller: eventjes het netwerkverkeer sniffen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja, dat weet ik dus niet he, daarvoor vraag ik hier uitsluitsel.

Kan je dat iets gedetailleerder beschrijven aub?

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Die key valt dus heel simpel uit het netwerkverkeer te sniffen. Punt.

Hoe gedetailleerder wil je het hebben? :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het script staat op een grote en sterk beveiligde nationale server, is dat dan zo gemakkelijk te sniffen?
En is dat alles wat je nodig hebt? Daarbij, dan moet er toch ook al zeer kwaad opzet in het spel zijn, nietwaar?

Nogmaals bedankt.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ik neem aan dat het Flash-bestand client-side draait? En het Flash-bestand stuurt toch die key gewoon op als POST-data?

Dus het maakt geen moer uit wáár die server staat. De client start gewoon z'n WireShark op en verstuurt ff-tjes zo'n dingetje via 't Flashje en voila, daar heeft ie z'n key.

Acties:
  • 0 Henk 'm!

  • ymoona
  • Registratie: Januari 2004
  • Laatst online: 06:59
Verwijderd schreef op vrijdag 05 oktober 2007 @ 10:51:
Het script staat op een grote en sterk beveiligde nationale server, is dat dan zo gemakkelijk te sniffen?
En is dat alles wat je nodig hebt? Daarbij, dan moet er toch ook al zeer kwaad opzet in het spel zijn, nietwaar?

Nogmaals bedankt.
de sleutel komt toch ook lokaal langs? kan je gewoon daar sniffen.
Niet iedereen is even vriendelijk op het internet

https://f1nerd.nl


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 11:17

orf

De key is schijnveiligheid. Je checked de $sendName niet waardoor de headers geïnjecteerd kunnen worden. Daar moet een preg_match oid overheen.

Het artikel waarnaar je verwijst is grote onzin. De referrer wordt door de client verstuurd en kan simpel aangepast worden. Een referrercheck in je script opnemen is ook schijnveiligheid en kan zelfs goedwillende gebruikers uitsluiten als ze gebruik maken van een ( bijvoorbeeld Norton) firewall die referrers leeglaat.

Acties:
  • 0 Henk 'm!

  • davhor
  • Registratie: Mei 2003
  • Laatst online: 14-03 10:21

davhor

www.fon.com

Verwijderd schreef op vrijdag 05 oktober 2007 @ 10:51:
Het script staat op een grote en sterk beveiligde nationale server, is dat dan zo gemakkelijk te sniffen?
En is dat alles wat je nodig hebt? Daarbij, dan moet er toch ook al zeer kwaad opzet in het spel zijn, nietwaar?

Nogmaals bedankt.
Spammers hebben toch kwade opzet in het spel! Ik zou kijken voor een andere oplossing.

FON - WiFi for Everyone | Flickr


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Damn, dus zo'n key is overbodig als je toch per sé iets wil mispeuteren.

Is deze informatie dan te gebruiken om bijv. honderden mails te versturen naar personen en een willekeurig iemand als afzender op te geven?

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 11:17

orf

Verwijderd schreef op vrijdag 05 oktober 2007 @ 10:59:
Is deze informatie dan te gebruiken om bijv. honderden mails te versturen naar personen en een willekeurig iemand als afzender op te geven?
Jup, gewoon in een loop requests doen naar je scriptje met foute gegevens.
Als je een makkelijke oplossing wilt, kun je kijken naar bijvoorbeeld phpMailer. Die doet de checks voor je en bouwt de goede headers op.

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 10:14

--MeAngry--

aka Qonstrukt

Het slimste is gewoon te zorgen dat een gebruiker (IP) niet meer dan X mails mag versturen binnen Y tijd. Aan de hand van het IP of hostname lijkt me nog het meest voor de hand liggende, tenzij je echt bang bent dat een heel botnetwerk je script zal gaan misbruiken, dan zul je een algehele check in moeten bouwen die controleert dat er in zijn totaliteit niet meer dan Z mails in Y tijd worden verstuurd.

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
orf schreef op vrijdag 05 oktober 2007 @ 11:01:
[...]

Jup, gewoon in een loop requests doen naar je scriptje met foute gegevens.
Maar aan de andere kant: de "to" van de mail() is wel hardcoded in het PHP-bestand. Dus tenzij je door het toevoegen van wat extra headers het mailtje ook naar andere mensen kunt sturen, hoort het niet te kunnen spammen, right?

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 11:17

orf

Osiris schreef op vrijdag 05 oktober 2007 @ 11:05:
[...]

Maar aan de andere kant: de "to" van de mail() is wel hardcoded in het PHP-bestand. Dus tenzij je door het toevoegen van wat extra headers het mailtje ook naar andere mensen kunt sturen, hoort het niet te kunnen spammen, right?
De 'To' wordt door de functie als header aan de mail toegevoegd. Pas je $_POST['name'] aan met newlines, dan kun je de To in een volgende header overschrijven. Als je dan toch al aan het injecteren bent kun je direct CC en BCC lines toevoegen. en eventueel met boundries ervoor zorgen dat de oorspronkelijke body niet meer getoond wordt om zo je eigen spambericht te laten zien aan de ontvanger.

Acties:
  • 0 Henk 'm!

Verwijderd

regel 1: vertrouw nooit iets wat van buiten (www) komt.
Zoals al is gezegd, die key is eenvoudig te achterhalen (zelfs met een eenvoudige FireFox addon als TamperData ga je em vinden).

Sowieso, als je POST data binnenkrijgt, controleer of die data ook echt is, wat je verwacht dat het is, aangezien je die POST data zonder checks zo in je mail-header gooit.

Ooit in een grijs verleden heb ik ook zoiets gehad (flash-POST-naar-php-script-key-validatie). Hier was het de bedoeling dat de flash-app niet op een ander domein/lokaal af te spelen is. Wat ik toen heb gedaan, was een key meegeven aan de flash-app (.swf?key=...) Die key werd gegeven/ingevuld door de php-pagina waar die flash-app op stond en die key was lokaal uitleesbaar. Vervolgens stuurt de flash-app een query naar een server om te vragen of de key nog geldig is (max. 2 minuten geldig). Niet geldig -> niet starten).
En ja, ook dit is natuurlijk te omzeilen door de responsecode af te vangen etc., maar het maakte het in mijn geval afdoende zodat de vele flash-jat-sites er niet mee aan de haal gingen. Overigens was de communicatie tussen flash en php niet in plain-text, waardoor het voor de simpele scriptkiddies al teveel tijd kost. Ook een evt. spammer zal z'n pijlen er waarschijnlijk niet meer op richten. Tijd/kosten zijn dan niet meer in een gunstige verhouding.

Al met al, wil je het echt secure, gebruik dan geen flash voor dit soort dingen.

Wat je ook nog kan doen; gooi alle mail in een queue en verstuur per x minuten y mail. Groeit de queue harder dan y/x, dan heb je of de hoeveelheid legitiem gebruik ervan niet goed ingeschat, of er is serieus iets mis.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
orf schreef op vrijdag 05 oktober 2007 @ 11:23:
[...]


De 'To' wordt door de functie als header aan de mail toegevoegd. Pas je $_POST['name'] aan met newlines, dan kun je de To in een volgende header overschrijven. Als je dan toch al aan het injecteren bent kun je direct CC en BCC lines toevoegen. en eventueel met boundries ervoor zorgen dat de oorspronkelijke body niet meer getoond wordt om zo je eigen spambericht te laten zien aan de ontvanger.
't Klopt dat je inderdaad headers toe kunt voegen. Maar m'n punt was meer: wat doet de mailserver met die headers? Als ik namelijk een berichtje stuur met meerdere To's, CC's of BCC's, dan verstuurt Thunderbird meerdere "RCPT TO"-SMTP-commando's, gevolgd door het mailtje. Mijn mailserver doet dus verder niets met die headers (vooral de BCC-header komt er niet in voor :P). Dus vandaar dat ik me afvroeg: wat maakt het uit als je To, CC of BCC-headers toe kunt voegen? :)

Tenzij die gare mail()-functie meerdere RCPT TO's maakt als je simpelweg wat headertjes toevoegt.. :X

[ Voor 5% gewijzigd door Osiris op 05-10-2007 11:34 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 09:03
Dat je vatbaar bent voor MIME-injectie moge al wel duidelijk zijn. Post gegevens zijn ook vrij makkelijk in te zien (fiddler, live headers). Nu nog een oplossing...

Wat je kunt doen is gebruik maken van een hash. Zoek een hash-algorithme dat werkt in zowel Flash als PHP (md5 bijvoorbeeld). In flash bereken je de hash van al je input-variabelen plus je sleutel. Aan de serverkant kun je deze hash ook berekenen (omdat je de sleutel daar ook kent), je kunt dan dus controleren of het verzoek van je flash-applicatie komt.

Of dat afdoende is nog maar de vraag natuurlijk. ALs je in je flash-app MIME-injectie kunt doen beveiligd het nog niets. Zorgen dat je mail-script veilig is is dan alsnog een goed plan. Belangrijkste daarbij is het niet toestaan van new-lines in velden die in de headers van de mail terugkomen.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Osiris schreef op vrijdag 05 oktober 2007 @ 11:32:
Dus vandaar dat ik me afvroeg: wat maakt het uit als je To, CC of BCC-headers toe kunt voegen? :)
Dat maakt veel uit en het is genoeg reden om iemand met zulke mailscripts na waarschuwing van je server af te trappen.

{signature}


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-09 09:39

Janoz

Moderator Devschuur®

!litemod

T-MOB schreef op vrijdag 05 oktober 2007 @ 13:25:
Dat je vatbaar bent voor MIME-injectie moge al wel duidelijk zijn. Post gegevens zijn ook vrij makkelijk in te zien (fiddler, live headers). Nu nog een oplossing...

Wat je kunt doen is gebruik maken van een hash. Zoek een hash-algorithme dat werkt in zowel Flash als PHP (md5 bijvoorbeeld). In flash bereken je de hash van al je input-variabelen plus je sleutel. Aan de serverkant kun je deze hash ook berekenen (omdat je de sleutel daar ook kent), je kunt dan dus controleren of het verzoek van je flash-applicatie komt.

Of dat afdoende is nog maar de vraag natuurlijk. ALs je in je flash-app MIME-injectie kunt doen beveiligd het nog niets. Zorgen dat je mail-script veilig is is dan alsnog een goed plan. Belangrijkste daarbij is het niet toestaan van new-lines in velden die in de headers van de mail terugkomen.
Dit gaat ook niet werken. Wat je ook maar implementeerd in de flash, het moet allemaal in een untrusted omgeving draaien. Je kunt nog zo'n mooi hashing algoritme gebruiken, maar iemand kan gewoon je swf downloaden, decompilen en namaken.

De enige oplossing is alleen die gegevens doorsturen die je ook daadwerkelijk wilt gebruiken. Hierop serverside goede checks loslaten en zeker niet 1 op 1 in je mail overnemen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Osiris schreef op vrijdag 05 oktober 2007 @ 11:32:
[...]

't Klopt dat je inderdaad headers toe kunt voegen. Maar m'n punt was meer: wat doet de mailserver met die headers? Als ik namelijk een berichtje stuur met meerdere To's, CC's of BCC's, dan verstuurt Thunderbird meerdere "RCPT TO"-SMTP-commando's, gevolgd door het mailtje. Mijn mailserver doet dus verder niets met die headers (vooral de BCC-header komt er niet in voor :P). Dus vandaar dat ik me afvroeg: wat maakt het uit als je To, CC of BCC-headers toe kunt voegen? :)

Tenzij die gare mail()-functie meerdere RCPT TO's maakt als je simpelweg wat headertjes toevoegt.. :X
Als je een header kunt injecteren of het to adres kunt aanpassen dan komen deze als eerste in de e-mail te staan. Aangezien een e-mail plain text is kun je dus alles wat voor het eigenlijke bericht komt aanpassen. Kleine moeite dan op een "header" te injecteren die bestaat uit headers plus een volledige e-mail. Deze zal als eerste worden verstuurd. De echte mail die als tweede komt zal vaak niet worden verstuurd. Het resultaat is dus dat het mailscript als relay werkt.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Creepy schreef op vrijdag 05 oktober 2007 @ 13:46:
[...]

Als je een header kunt injecteren of het to adres kunt aanpassen dan komen deze als eerste in de e-mail te staan. Aangezien een e-mail plain text is kun je dus alles wat voor het eigenlijke bericht komt aanpassen. Kleine moeite dan op een "header" te injecteren die bestaat uit headers plus een volledige e-mail. Deze zal als eerste worden verstuurd. De echte mail die als tweede komt zal vaak niet worden verstuurd. Het resultaat is dus dat het mailscript als relay werkt.
Want? In het script van de topicstarter wordt toch echt de mail()-functie van PHP aangesproken met een hardcoded envelop-to. Dus ik vroeg me af of PHP toevallig nog funky dingen doet n.a.v. To-headers in het mailtje zelf.

Punt is, als jij meerdere mails wilt sturen, dan zul je toch echt op SMTP-protocol-niveau meerdere "RCPT TO"'s moeten versturen. Dus tenzij PHP dat doet (n.a.v. To-headers uit de mail zelf) lijkt me niets aan 't handje...

Acties:
  • 0 Henk 'm!

  • ? ?
  • Registratie: Mei 2007
  • Niet online

? ?

Ik moet nog het eerste flash programma tegenkomen dat iets wil posten (highscore/...) dat ik niet kan kraken...

Ik heb niet echt de bedoeling gelezen van je script, maar als je dit bedoelt:
De gebruiker geeft een emailadres op en daar stuurt hij een mailtje naar?

Dan kun je een mailconfirm vragen: sla de te zenden email op in een database en stuur de invuller een email. Die klikt op de URL die confirmeert dat zijn emailadres werkte en dan verstuur je de originele email uit de database.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Osiris schreef op vrijdag 05 oktober 2007 @ 18:11:
[...]

Want? In het script van de topicstarter wordt toch echt de mail()-functie van PHP aangesproken met een hardcoded envelop-to. Dus ik vroeg me af of PHP toevallig nog funky dingen doet n.a.v. To-headers in het mailtje zelf.

Punt is, als jij meerdere mails wilt sturen, dan zul je toch echt op SMTP-protocol-niveau meerdere "RCPT TO"'s moeten versturen. Dus tenzij PHP dat doet (n.a.v. To-headers uit de mail zelf) lijkt me niets aan 't handje...
In dit geval is de TO hardcoded ja, Maar header injectie is nog steeds mogelijk zodat je naar dat adres wel een een willekeurige e-mail kunt sturen i.p.v. de content die in het script staat. En een CC of BCC injecteren lijkt me ook mogelijk zodat je toch nog andere adressen kunt invoeren.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Enfer
  • Registratie: Februari 2004
  • Laatst online: 04-09 19:14
offtopic:
Ik dacht dat GoT ondersteuning bied voor 3th party scripts :X :/ :/ :/

offtopic:
Je weet waar je moet zijn voor een policy discussie. Niet hier dus, onze policy roept ook iets over het toch hebben over de policy in een ander topic.. laat een post in een topic dus in de toekomst achterwege aub

[ Voor 64% gewijzigd door Creepy op 06-10-2007 14:16 ]


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Osiris schreef op vrijdag 05 oktober 2007 @ 18:11:
[...]

Want? In het script van de topicstarter wordt toch echt de mail()-functie van PHP aangesproken met een hardcoded envelop-to. Dus ik vroeg me af of PHP toevallig nog funky dingen doet n.a.v. To-headers in het mailtje zelf.

Punt is, als jij meerdere mails wilt sturen, dan zul je toch echt op SMTP-protocol-niveau meerdere "RCPT TO"'s moeten versturen. Dus tenzij PHP dat doet (n.a.v. To-headers uit de mail zelf) lijkt me niets aan 't handje...
php gaat de headers na om te zien of er nog to/cc/bcc regels in staan en voegt deze toe aan de RCPT TO-commands.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Het voor de zekerheid nog even nagekenen: http://www.securephpwiki.com/index.php/Email_Injection. De To:, BCC: en CC: kan je inderdaad op meerdere plekken in de header neerzetten en worden vrolijk gebruikt om te gaan versturen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Waster
  • Registratie: September 2006
  • Laatst online: 14-04 17:49
Ik heb niet zoveel verstand van flash, maar kun je niet met sessies werken. Je kan een password (md5-hash bijv.) aan je flash meegeven. Deze password is uniek aan je sessie. Als je zorgt dat iedere sessie maar een keer een mail mag versturen zou je geen last meer hebben van spam. Mensen die kwaad willen met jouw script gaan denk niet iedere keer nieuwe sessies maken om nieuwe mailtjes te kunnen versturen.

Je kan ook controleren in het phpscript of er handmatig extra headers aan het mailtje worden toegevoegd. Omdat dit bijna altijd duid op spam, kun je zorgen dat mails met extra headers niet worden verstuurd.
Pagina: 1