script verstuurd spam
ik zou graag hulp willen met een script van een site die ik onderhou
er is een script en die verstuurd spam op de server krijg ik deze info
vanuit dit script word de spam verstuurd
public_html/assets/classes/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php:46
de ene dag word er 5 mailtjes vestuurd maar de andere dag wel 500
.
ik wil dit graag oplossen voor de klant maar zit met de handen in mijn haren
dus daarom vraag ik jullie hulp even.
kan ik iets aanpassen dat het stopt.
volgens de de info wat ik krijg word het vanuit regel 46 verstuurd ik heb een pijl erbij gezet --->
dit is een kopie van het script.
alvast bedankt
Code (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
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
<?php
/*
Invokes the mail() function in Swift Mailer.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* This is the implementation class for {@link Swift_Transport_MailInvoker}.
*
* @package Swift
* @subpackage Transport
* @author Chris Corbyn
*/
class Swift_Transport_SimpleMailInvoker implements Swift_Transport_MailInvoker
{
/**
* Send mail via the mail() function.
*
* This method takes the same arguments as PHP mail().
*
* @param string $to
* @param string $subject
* @param string $body
* @param string $headers
* @param string $extraParams
*
* @return boolean
*/
---> public function mail($to, $subject, $body, $headers = null, $extraParams = null)
{
if (!ini_get('safe_mode')) {
return @mail($to, $subject, $body, $headers, $extraParams);
} else {
return @mail($to, $subject, $body, $headers);
}
}
}
/*
Invokes the mail() function in Swift Mailer.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* This is the implementation class for {@link Swift_Transport_MailInvoker}.
*
* @package Swift
* @subpackage Transport
* @author Chris Corbyn
*/
class Swift_Transport_SimpleMailInvoker implements Swift_Transport_MailInvoker
{
/**
* Send mail via the mail() function.
*
* This method takes the same arguments as PHP mail().
*
* @param string $to
* @param string $subject
* @param string $body
* @param string $headers
* @param string $extraParams
*
* @return boolean
*/
---> public function mail($to, $subject, $body, $headers = null, $extraParams = null)
{
if (!ini_get('safe_mode')) {
return @mail($to, $subject, $body, $headers, $extraParams);
} else {
return @mail($to, $subject, $body, $headers);
}
}
}
Kan een gebruiker zelf de inhoud van de mail invullen en het TO adres?
Of gaat alle mail eigenlijk naar [email protected], maar hebben spammers een manier gevonden om ook naar aan ander adres te sturen.
In eigen gemaakte scripts wordt nogal eens nagelaten om te controleren of $to precies 1 mailadres bevat en of $subject geen enters bevat.
Maar aangezien je Swift gebruikt, verwacht ik daar wel een controle op.
het zijn alleen spambots van yahoo en google enz.
Trouwens, Yahoo en Google hebben geen spambots. Dat zal niet goed voor zo'n groot miljardenbedrijf zijn ;-)
Gewijzigd op 28/08/2019 12:22:46 door - Ariën -
dit zou naar mijn idee de oplossing zijn .
er zit een standaard smtp mail functie in de site maar allen zonder ssl.
graag advies
Die vullen geautomatiseerd het formulier in, en drukken geautomatiseerd op versturen.
Gewijzigd op 28/08/2019 13:35:15 door - Ariën -
ik heb zelf namelijk ook vroeger heel veel van deze ellende gehad
en eigenlijk best wel simpel dicht te timmeren
dus heb ik een aantal vragen en misschien zit de oplossing hier in
waar wordt die class opgevraagd want dit is alleen het deel die het verstuurd
want
to, $subject, $body, $headers
dat wordt ergens dus, door een bot ingevult en daarna wordt het door die class verstuurd
dus inderdaad zoals Arien zegt zet bij het script deel waarmee de mails verstuurd worden, dus bv bij het form deel een re-Captcha dit scheeld al heel erg veel ellende
zet je chmod zodat alleen personen en server je form kunnen gebruiken dus blokkeer Cross-site scripting (XSS)
dit is automatisch opgelost als je een re-capcha erin zet
misschien zijn er betere manieren maar dit is ff een voorbeeld
Toevoeging op 28/08/2019 13:51:46:
oplossing is eigelijk heel simple
zoals Arien eigelijk al zegt
in je mail form zet daar de re-captha V3 in
deze is automatich en de klant heeft dus geen nummertje of verkeersborden aan te klikken
lees even hier
https://www.google.com/recaptcha/intro/v3.html
want zolang bots bij jouw submit page kunnen zal je het probleem niet wegkrijgen
het word echt via het bovenstaande script verstuurd ik heb gister avond de rechten al aangepast maar daarmee is het probleem niet opgelost.
de site stuurt ook via dit script mail naar de eigenaar van de site als er een bestelling gedaan is ect.
ook zit er een smtp script in maar dit werkt niet meer sinds ze met ssl werken de oplossing zou kunnen zijn een mailserver zonder verificatie .
maar deze zijn er niet .
voor de rest is er niks dat je via de site een mail kan versturen alles verloopt via mail .
dat is gratis en werkt perfect
verder
welk deel van jouw script vraagt deze class aan want dit weten die bots blijkbaar ook
wat je dan kan doen is ervoor zorgen dat alleen dat deel van het script die class mag oproepen
je kan ook nog extra headers maken om het hiermee te verbeteren
en ook zou ik even kijken naar de dns record van het domein waar het om draait
en dan de mail even testen met https://www.mail-tester.com
hier geven ze precies aan of jouw mail wel goed en veilig is
Een buitenstaander spreekt Apache aan, met de vraag om index.php. Apache moet vervolgens het bestand index.php kunnen lezen (in een directory die toegankelijk is voor Apache, en de file moet toegankelijk zijn.)
En een script dat een class bevat, is verder nuttellos als je die via Apache opvraagt. Dat doet niet vanzelf iets.
Kijk eens in de logs van Apache welk script werkelijk aangesproken werd.
Als je DirectAdmin gebruikt als webhostingpanel kan je bij de Mail Usage ook bekijken welk script er mailt.
public_html/assets/classes/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php:46
Ik verwacht een lek mail script ergens in de site.
Is het een custom made site, of is het bijvoorbeeld op Wordpress gebaseerd? Ik heb vaker gezien dat een plugin een vergeten test-scriptje bevatte en dat werd vrolijk misbruikt.
en moet ik dan de map classes naar 444 veranderen
Leon leon op 28/08/2019 16:30:49:
dit staat in het log .
public_html/assets/classes/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php:46
public_html/assets/classes/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php:46
Dat lees ik als "op regel 46 van dat script wordt mail() aangesproken".
Welk ander script daar de opdracht toe geeft, staat er niet bij.
Kijk eens in de logs van Apache, welk script er op betreffende tijdstip een keer of 500 is aangeroepen (als het erbij staat: met POST)
dat was een profesioneel bedrijf in het maken van website zijn begin dit jaar gestopt dusook met support
Toevoeging op 28/08/2019 16:36:47:
je kunt in de log van de hosting zien hoeveel mails er worden gestuurd daar staat ook dit script bij .
in de log van apache staat niks helaas .
ik heb ook het vermoeden dat die bots gewoon het lek weten in het script en makelijk heel veel spam kunnen versturen maar de klant word er gek van
Maar is het spammen in de context van: We stalken andere mensen via dit lek, of sturen ze onzin berichten die enkel bij de klant aankomen?
Gewijzigd op 28/08/2019 16:40:50 door - Ariën -
waarom weet je eigenlijk zeker, dat het niet gaat om het formulier dat op de site staat?
de emails die verstuurd worden is voor viagra en dat soort dingen
Toevoeging op 28/08/2019 16:44:36:
omdat er geen formulier op de site staat
Mailadressen zijn overigens eenvoudig te faken, dus dat is geen sluitend bewijs.
Gewijzigd op 28/08/2019 16:48:17 door - Ariën -