Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    script invio mail vulnerabile?

    su un mio sito web è presente uno script di invio mail oggi ho trovato caricato su questo sito un file non mio è la coda messaggi del server si è riempita potrebbe essere questo script la causa?
    codice:
    <?if (isset($_POST['submit']) and $_POST['submit']==TRUE) {
        $receiverMail = "";     //QUI METTERE L' INDIRIZZO EMAIL
        $sito = "Questa mail è stata inviata dal sito ";
        $name=stripslashes(strip_tags($_POST['name']));
        $email=stripslashes(strip_tags($_POST['email']));
        $subject=stripslashes(strip_tags($_POST['subject']));
        $msg=stripslashes(strip_tags($_POST['message']));
        $ip=$_SERVER['REMOTE_ADDR'];
        $msgformat="From: $email\nEmail: $email\n\n$msg";
        if(empty($name) || empty($email) || empty($subject) || empty($msg))
            include("error.php");
        elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
            require("error2.php");
    //    elseif(mail($receiverMail, $subject, $sito, $msgformat, "From: $name <$email>"))errore
        elseif(mail($receiverMail, $subject, $sito, $msgformat ))
            include("error3.php");
        else include("error4.php");
        }
    else { ?>
    <form method="post" action="">
        <div id="form" class="testoform">
        <h2>Modulo di contatto</h2>
        <p>Per contattarci chiama i seguenti....</p></div><br/>
    
    
        <div id="modulo">
        <label for="name">nome: </label>
        <input name="name" type="text" id="name" style="width: 180px"/>
        <br/>
        <label for="email">email: </label>
        <input name="email" type="text" id="email" style="width: 180px"/>
        <br/>
        <label for="subject">oggetto: </label>
        <input name="subject" type="text" id="subject" style="width: 180px"/>
        <br/>
        <label for="message">messaggio: </label>
        <textarea id="message" name="message" rows=8 cols=20></textarea><br/>
        <input type="submit" name="submit" id="submit" value="invia"/>
        </div>
    <br/>
    </form>
    <?  } ?>
    Purtroppo ho eliminato il file intruso senza editarlo prima...

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Lo script non è il massimo della sicurezza. Consente di inviare mail senza alcun controllo. Quindi potrebbe essere motivo per il quale hai tante e-mail nella tua casella. Lo stesso script non effettua upload dei file. Quindi se ti trovi un file sospetto nella tua root hanno trovato altro modo.

    Ovviamente aspetta qualche altro parere che male non fa.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    Lo script non è il massimo della sicurezza. Consente di inviare mail senza alcun controllo. Quindi potrebbe essere motivo per il quale hai tante e-mail nella tua casella. Lo stesso script non effettua upload dei file. Quindi se ti trovi un file sospetto nella tua root hanno trovato altro modo.

    Ovviamente aspetta qualche altro parere che male non fa.
    in effetti manca di captcha è vero il sito non presenta altri moduli se non questo pero' è in php avevo pensato alla password dell'ftp ma mi pare parecchio strano.
    i campi scrivibili del form mi sembra di averli protetti da eventuale possibilità di Injection con

    $name=stripslashes(strip_tags
    Dovrebbe essere sufficiente o sbaglio?

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    mancano tante cose. Se parli delle Injection di Sql non avendo accesso a database sul sito, puoi fare a meno di preoccupartene.
    Ripeto il codice che hai postato non consente di caricare file sul server. Quindi quel file potrebbe essere arrivato in altro modo.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    mancano tante cose. Se parli delle Injection di Sql non avendo accesso a database sul sito, puoi fare a meno di preoccupartene.
    Ripeto il codice che hai postato non consente di caricare file sul server. Quindi quel file potrebbe essere arrivato in altro modo.
    Grazie per la risposta, io invece credevo che da moduli di questo tipo fosse possibile eseguire codice malevolo dai campi input mi era infatti capitato anche su un altro sito totalmente in html e con un modulo di invio mail simile a questo. Pero' documentandomi un po' in rete ho letto che era leggermente piu' complesso "bucare" un sito in html.
    Entrambi i siti di cui parlo non hanno database quindi forse erroneamente ho dato la colpa ai moduli di invio mail.

    A tal proposito hai detto che ai moduli mancano tante cose se non ti reca troppo disturbo e se hai tempo potresti indicarmele cosi magari provvedo a correggerli per quanto possibile?

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    beh diciamo che ti mancano le basi per vederlo.
    così su due piedi direi

    captcha
    verifica validità mail
    controllo di eventuali mail già inviate da un ip

    per finire potresti usare tool quali php mailer o swift
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    beh diciamo che ti mancano le basi per vederlo.
    così su due piedi direi

    captcha
    verifica validità mail
    controllo di eventuali mail già inviate da un ip

    per finire potresti usare tool quali php mailer o swift
    le basi sicuramente pero' provero' a documentarmi meglio seguendo le linee guida che mi hai fornito del resto non si finisce mai di imparare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.