CruellaDeVille Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Jeg har et stort problem. Domenet mitt er brukt til å sende ut millioner av spam-epost lørdag formiddag med det resultat av domenet er sagt opp hos leverandør. Leverandør sier at det er mitt ansvar å sikre skriptene mine og det har jeg tenkt å gjøre. Min første tanke er at bad guy har brukt epostskriptet på siden, og mitt spørsmål blir da hvordan jeg kan sikre at spam fra mitt domene ikke skjer igjen. Jeg forsøkte å lese litt om header-injection i wikipedia, men de kunne likegjerne skrevet på gresk. Er det noen som kan forklare (på godt norsk) slik at en blondine (as my self) kan forstå? Og når jeg skal behandle input fra bruker... skal jeg escape de med htmlspecialchars eller htmlentities eller stip_tags? Finnes det andre veier inn til phps mailfunksjon enn gjennom epostskriptet? Lenke til kommentar
alp_renx Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Hei, jeg kjører alle skjemafelter gjennom en spamsjekk før de går ut som mail. En forkortet versjon: function spamsjekk($streng) { $forbudt = "/(%0A|%0D|\\n+|\\r+)(content-type:|mime-version:|cc:|bcc:)/i"; if(preg_match($forbudt, $streng)) { // debug ?? // exit(); ?? return false; } else { return true; } } if(spamsjekk($tittel) && spamsjekk($melding)) { // ok } else { // fy og fy } Om du ikke validererer epost adresser etc. så må også disse feltene spamsjekkes. Lenke til kommentar
Peter Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 http://www.securephpwiki.com/index.php/Email_Injection Vet ikke om du har lest denne. Spørsmålet er egentlig hvilke felter du har åpnet for brukeren til å bestemme og bruken. Både "to:"- og "subject:"-feltene er potensielle risikomomenter. "to:"-feltet kan oftest sikres ved å sjekke at det kun er én mailadresse i feltet, og "subject:"-feltet kan som regel sikres ved å sjekke at det _ikke_ inneholder en mailadresse. Siden jeg ikke vet mer om hva du bruker dette til er det vanskelig å si nøyaktig hva du skal gjøre, men dersom formen kun skal sende mail til én og én person, og du ikke trenger å kunne oppgi mailadresser i emnefeltet, så burde dette kunne hjelpe deg en del. Lenke til kommentar
Martin A. Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Så en gang en film om hvordan man gjorde nettopp det du vil sikre deg mot, og jeg har ikke lyst til å legge ut adressa til den her, da det er mange som kan finne ut at de vil prøve dette. Om du er interesert, kan jeg sende deg en PM med adressa, så gjør du bare det i motsatt rekkefølge. Lenke til kommentar
CruellaDeVille Skrevet 29. mai 2006 Forfatter Del Skrevet 29. mai 2006 $forbudt = "/(%0A|%0D|\\n+|\\r+)(content-type:|mime-version:|cc:|bcc:)/i"; Hva er det du sier her? Jeg skjønner \r\n,, og at det ikke skal stå noe content-type, mime-version, cc eller bcc noe sted, men %0A og %0D.... hva er det? Jeg skal prøve å legge om til mer ekstensiv sjekking. Men er det muligheter for at det er andre "hull" enn epostskript? Eks et innloggingsskjema? Lenke til kommentar
CruellaDeVille Skrevet 29. mai 2006 Forfatter Del Skrevet 29. mai 2006 Finnes det noen som kan teste ut epostskriptet mitt? Jeg har lagt til hva jeg tror er en anti-spam-funksjon, har testet med epostadresser separert med %0A osv. Jeg får alltid nice try, men det kan være fordi jeg ikke vet hvordan jeg skal trigge skriptet Finnes her, feel free, men be gentle. Jeg er allede kastet ut fra et domene, vil nødig miste nibbler også. http://nibbler.no/blog/?page_id=2 Forsøk helst bare å sende til multippel mottakere, var det som var problem sist. mvh og på forhånd takk, Lenke til kommentar
MC2 Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 (endret) Hva med å legge til en flood limit, sånn at en person ikke kan sende to mailer rett etter hverandre, men må vente i 30 sec. Ellers så kan du generere et random tall som blir tatt med i formen (hidden) og skrive samme tallet i session og sjekke det mot hverandre, sånn at en person ikke kan sende mail fra en annen form. Eller sjekke referer. edit: i mitt mail script har jeg sånn at personen som sender får opp en side med "you sure you wanna send?". Det besytter mot de fleste bots også. Endret 29. mai 2006 av MC2 Lenke til kommentar
Martin A. Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Det spammerne gjør, er å endre POST-koden som sendes til mailformen, og kjører dette gjennom en lokal proxy, og evnt en lokal SMTP. Men jeg sendte linken til CruellaDeVille, så får vi se om det hjalp noe Lenke til kommentar
alp_renx Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 $forbudt = "/(%0A|%0D|\\n+|\\r+)(content-type:|mime-version:|cc:|bcc:)/i"; Hva er det du sier her? Jeg skjønner \r\n,, og at det ikke skal stå noe content-type, mime-version, cc eller bcc noe sted, men %0A og %0D.... hva er det? 6201534[/snapback] URL encode, %0a betyr : %0d betyr = Hele tabellen er her ---> http://www.w3schools.com/tags/ref_urlencode.asp Lenke til kommentar
ZoRaC Skrevet 29. mai 2006 Del Skrevet 29. mai 2006 Hva med å legge til en flood limit, sånn at en person ikke kan sende to mailer rett etter hverandre, men må vente i 30 sec.Ellers så kan du generere et random tall som blir tatt med i formen (hidden) og skrive samme tallet i session og sjekke det mot hverandre, sånn at en person ikke kan sende mail fra en annen form. Eller sjekke referer. edit: i mitt mail script har jeg sånn at personen som sender får opp en side med "you sure you wanna send?". Det besytter mot de fleste bots også. 6201942[/snapback] Problemet er ikke at de kaller scriptet 100 ganger, men at de greier å putte inn 100 adresser i ett kall. Altså at de ved å skrive inn noe i f.eks "Fra-adresse" i et mail-skjema greier de å få puttet inn "BCC: 100-adresser-her" i headeren før mailen sendes. Lenke til kommentar
CruellaDeVille Skrevet 29. mai 2006 Forfatter Del Skrevet 29. mai 2006 Hva med å legge til en flood limit, sånn at en person ikke kan sende to mailer rett etter hverandre, men må vente i 30 sec.Ellers så kan du generere et random tall som blir tatt med i formen (hidden) og skrive samme tallet i session og sjekke det mot hverandre, sånn at en person ikke kan sende mail fra en annen form. Eller sjekke referer. edit: i mitt mail script har jeg sånn at personen som sender får opp en side med "you sure you wanna send?". Det besytter mot de fleste bots også. 6201942[/snapback] Problemet er ikke at de kaller scriptet 100 ganger, men at de greier å putte inn 100 adresser i ett kall. Altså at de ved å skrive inn noe i f.eks "Fra-adresse" i et mail-skjema greier de å få puttet inn "BCC: 100-adresser-her" i headeren før mailen sendes. 6204305[/snapback] Jeg fikk nettopp en epost fra en semi-tom, med r og n i format \\r og \\n. Er det okay? Fikk semi-tom også epost? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå