• 03-01-2017, 08:53:40
    #10
    NEFRIT adlı üyeden alıntı: mesajı görüntüle
    Gerçekten bu kadar basit birşeyden kaynaklanıyorsa orada setfrom'a $email_from i girerken bir mail kontrolü yapmak mantıklı olacaktır:

    preg_match("/[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+/i", $aaa, $bbb);
    Hatta aklıma geldi de, bu daha iyi olur:

    	preg_match("/[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+/i", mysql_real_escape_string($aaa), $bbb);
    Kodun çalıştığı test edilmiştir.
    Dediğiniz gibi en doğru olan class yapısına bırakmadan kendi kontrollerinizi yapmak.

    regex ile uğraşmak istemeyenler için filter_var fonksiyonu ile de kontrol yapılabilir.

    Örn :

    if(filter_var($_POST['mailadresi'], FILTER_VALIDATE_EMAIL))
    true
    false
  • 03-01-2017, 21:14:32
    #11
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    Dediğiniz gibi en doğru olan class yapısına bırakmadan kendi kontrollerinizi yapmak.

    regex ile uğraşmak istemeyenler için filter_var fonksiyonu ile de kontrol yapılabilir.

    Örn :

    if(filter_var($_POST['mailadresi'], FILTER_VALIDATE_EMAIL))
    true
    false


    Bende az önce kontrol ettim ve phpmailer scriptinde bir mail doğrulama fonksiyonu olduğunu gördüm, bizim girdiğimiz mail adresini kontrol ediyor, ama mailin yanına yazılan NAME yani isim kısmında bir kontrol söz konusu değil scripti kullananlar burada html kod temizleme, yine mysql_real_escape_string fonksiyonu ile illegal kod temizleme işlemi yapabilirler ve uzun kod girişini engellemek için karakter sınırıda getirebilirler, örneğin bir isim yada isim + soy isim maksimum 30-35 karakter olsa buna göre bir kodlama yazarlarsa kendilerini daha güvene almış olurlar,

    Bu giriş kontrolleri aynı şekilde CC, BCC gibi alanlar içinde uygulanırsa güvenlik dahada artırılabilir, yada dediğiniz gibi yeni versiyona geçmekde iyi bir çözüm olacaktır.

    Ama en önemlisi tüm sayfalara bir define ataması yapıp, phpmailer scriptine ait php dosyaları içinde bu define yi kontrol ettirip kısaca dosyaya dışarıdan erişimi engellemekde mantıklı olacaktır.

    Yine aklıam gelen önlemlerden biride, genellikle tema dosyalarına erişimin engellenmesi için konan .htaccess dosyasını phpmailer dosdyasını içine ekleyip, dışarıdan bu phpmailer klasörüne girişi engelleyip giriş iznini sadece site dosyalarına vermekde mantıklı olabilir.
  • 04-01-2017, 00:59:59
    #12
    Kimlik doğrulama veya yönetimden onay bekliyor.
    NEFRIT adlı üyeden alıntı: mesajı görüntüle
    Bende az önce kontrol ettim ve phpmailer scriptinde bir mail doğrulama fonksiyonu olduğunu gördüm, bizim girdiğimiz mail adresini kontrol ediyor, ama mailin yanına yazılan NAME yani isim kısmında bir kontrol söz konusu değil scripti kullananlar burada html kod temizleme, yine mysql_real_escape_string fonksiyonu ile illegal kod temizleme işlemi yapabilirler ve uzun kod girişini engellemek için karakter sınırıda getirebilirler, örneğin bir isim yada isim + soy isim maksimum 30-35 karakter olsa buna göre bir kodlama yazarlarsa kendilerini daha güvene almış olurlar,

    Bu giriş kontrolleri aynı şekilde CC, BCC gibi alanlar içinde uygulanırsa güvenlik dahada artırılabilir, yada dediğiniz gibi yeni versiyona geçmekde iyi bir çözüm olacaktır.

    Ama en önemlisi tüm sayfalara bir define ataması yapıp, phpmailer scriptine ait php dosyaları içinde bu define yi kontrol ettirip kısaca dosyaya dışarıdan erişimi engellemekde mantıklı olacaktır.

    Yine aklıam gelen önlemlerden biride, genellikle tema dosyalarına erişimin engellenmesi için konan .htaccess dosyasını phpmailer dosdyasını içine ekleyip, dışarıdan bu phpmailer klasörüne girişi engelleyip giriş iznini sadece site dosyalarına vermekde mantıklı olabilir.
    adam shelli attıktan sonra neyler senin htaccess dosyan. ayrıca, herkes apache kullanmıyor? atıyorum, noktasız e-posta adresleri oluyor. o kısımlarda patlayabiliyor. burda anlatılan o değil yani. siz olaya çorba script yazan yazılımcı gözüyle bakıyosunuz.
  • 04-01-2017, 01:13:10
    #13
    Arkadaslar laravel swiftmailer kullaniyor ve bu acigi kapatmak icin composer update veya Bu dosyayi degismeniz yeterli olucaktir.
  • 04-01-2017, 01:27:32
    #14
    WHM/Cpanel kullanıcıları bir şey yapmalı mı? Cevap evet ise ne nasıl güncelleriz?
  • 04-01-2017, 02:01:58
    #15
    saintx adlı üyeden alıntı: mesajı görüntüle
    adam shelli attıktan sonra neyler senin htaccess dosyan. ayrıca, herkes apache kullanmıyor? atıyorum, noktasız e-posta adresleri oluyor. o kısımlarda patlayabiliyor. burda anlatılan o değil yani. siz olaya çorba script yazan yazılımcı gözüyle bakıyosunuz.

    Peki sana güzel bir soru sorucam; phpmailer scriptinde kod yazarının yeni versiyonda injeksiyonu engellemek için yaptığı değişikliği tam olarak bulup buraya eski versiyondaki ve yeni versiyondaki kod farklılıklarınıu gösterecek şekilde ekleyebilirimisin ? Böylelikle script yazarının nasıl bir önlem aldığını görebiliriz.
  • 04-01-2017, 09:42:28
    #16
    NEFRIT adlı üyeden alıntı: mesajı görüntüle
    Peki sana güzel bir soru sorucam; phpmailer scriptinde kod yazarının yeni versiyonda injeksiyonu engellemek için yaptığı değişikliği tam olarak bulup buraya eski versiyondaki ve yeni versiyondaki kod farklılıklarınıu gösterecek şekilde ekleyebilirimisin ? Böylelikle script yazarının nasıl bir önlem aldığını görebiliriz.


    Burada değişen kısım mevcut. Koyu yeşil olan kısımda Mail doğrulama kontrolüde ekleniyor. Kırmızı kısımlarda bulunan 1501. satırda başlayan kısım açığın olduğu kısım.
  • 05-01-2017, 01:10:33
    #17
    commit 1: https://github.com/PHPMailer/PHPMail...1149afb9485eae
    commit 2: https://github.com/PHPMailer/PHPMail...7e97af1fbc1ba0

    daha sonra bunu gören swiftmailer (symfony) ekibi

    commit 1: https://github.com/swiftmailer/swift...ecdc702019b5be
    commit 2: https://github.com/swiftmailer/swift...215eed25ae9e86

    bunun ardında versiyonları tagları release edildi.

    @NEFRIT; zaten composer kullanıyor ve güncellemeleri cronjoba bağladıysan sıkıntı yaşamazsın.
  • 10-01-2017, 18:27:31
    #18
    https://github.com/PHPMailer/PHPMailer adresinden indirdim v5.2.22 dün çıkmış. Sanırım açıkta güncellemeyle kapanmıştır.