mIRC Script

mIRC Script Güvenliği: Kendinizi ve Bilgisayarınızı Korumak

· Güncelleme: · 5 dk okuma

mIRC Script Güvenliği: Kendinizi ve Bilgisayarınızı Korumak
İçindekiler
  1. Tehdit Nereden Gelir?
  2. Tanımadığınız Scriptler
  3. Tehlikeli Kalıp: Kullanıcı Girdisini Çalıştırmak
  4. Tehlikeli Kalıp: $read ve Değerlendirme
  5. Tehlikeli Kalıp: Dosya Yolunda Kullanıcı Girdisi
  6. Socket ve Dış Veri
  7. DCC Riskleri
  8. Gizlilik Sızıntıları
  9. Güvenlik Kontrol Listesi
  10. Gerçek Bir Senaryo
  11. Sonuç

mIRC scriptleri yalnızca mesaj gönderip almakla sınırlı değildir: Dosya okuyabilir, yazabilir, silebilir, ağ bağlantısı kurabilir, program çalıştırabilir ve bilgisayarınızdaki verilere erişebilir. Bu güç, scripting'i bu kadar kullanışlı kılan şeydir; aynı zamanda ciddi bir güvenlik sorumluluğu getirir. mIRC script güvenliği, hem kendi yazdığınız kodu güvenli tutmayı hem de başkalarının kodundan korunmayı kapsar.

Tehdit Nereden Gelir?

İki ana risk kaynağı vardır:

Tanımadığınız scriptler: İnternetten indirdiğiniz veya biri tarafından gönderilen bir script, bilgisayarınızda istediği her şeyi yapabilir. Dosyalarınızı okuyup dışarıya gönderebilir, parolalarınızı toplayabilir, zararlı yazılım indirebilir.

Kendi scriptinizdeki açıklar: İyi niyetle yazılmış bir script, kullanıcı girdisini güvensiz şekilde işlediğinde başkalarının sizin mIRC'inizde komut çalıştırmasına izin verebilir.

İkinci risk daha sinsidir çünkü farkında olmadan kendi scriptinizle kendinizi tehlikeye atarsınız.

Tanımadığınız Scriptler

Temel kural basittir: Kaynağını ve içeriğini bilmediğiniz bir scripti yüklemeyin.

Özellikle dikkat edilmesi gereken durumlar:

  • Özel mesajla gönderilen scriptler: Tanımadığınız biri size bir script dosyası gönderip "bunu yükle, çok iyi" diyorsa, kabul etmeyin.
  • "Kanalı koruyacak" vaatleri: Kanal korumaya yardım etmeyi teklif eden ve script gönderen kişiler, sık görülen bir dolandırıcılık biçimidir.
  • Derlenmiş dosyalar: Bir script paketi içinde çalıştırılabilir dosya veya DLL varsa, bu dosyaların içeriğini inceleyemezsiniz. Çok daha dikkatli olun. Bkz. mIRC DLL kullanımı.
  • Çok uzun tek satırlar: Kodu okunamaz hâle getirmek için kasıtlı olarak karmaşıklaştırılmış satırlar şüphe uyandırmalıdır.

Bir scripti yüklemeden önce dosyayı bir metin editöründe açıp içeriğine göz atmak, büyük kısmını anlamasanız bile faydalıdır. Dosya işlemleri, socket komutları ve program çalıştırma komutlarını aramak, scriptin ne yapabileceği hakkında fikir verir. Addon güvenliği için mIRC addon güvenliği yazımıza bakın.

Tehlikeli Kalıp: Kullanıcı Girdisini Çalıştırmak

Kendi scriptinizdeki en ciddi açık türü, kullanıcıdan gelen metnin komut olarak çalıştırılmasıdır. Bu, uzaktan komut çalıştırma açığı anlamına gelir: Kanaldaki herhangi biri, sizin mIRC'inizde istediği komutu çalıştırabilir.

Bu açık, beklenmedik yollardan oluşur. Kullanıcı mesajını bir komutun parametresi olarak kullanırken, metin içindeki dolar işaretleri ve parantezler mIRC tarafından yorumlanabilir. Kullanıcı özel olarak hazırlanmış bir mesaj göndererek kendi kodunu çalıştırtabilir.

Korunma yolları:

  • Değerlendirme fonksiyonlarından kaçının: Kullanıcı girdisini değerlendiren fonksiyonlardan geçirmeyin.
  • Girdiyi temizleyin: Beklenen biçime uymayan girdileri reddedin.
  • Sınırlayın: Bir komut bir nick bekliyorsa, girdinin geçerli bir nick olduğunu doğrulayın.
  • Değişkende tutun: Girdiyi önce bir değişkene atayıp sonra kullanmak, bazı yorumlama sorunlarını önler.
  • Beyaz liste yaklaşımı: Neyin yasak olduğunu listelemek yerine, neyin izinli olduğunu tanımlayın.

Tehlikeli Kalıp: $read ve Değerlendirme

$read identifier'ı, okuduğu satırdaki identifier'ları ve değişkenleri değerlendirebilir. Bu, kullanıcı içeriği barındıran bir dosyayı okuduğunuzda ciddi bir açığa dönüşür: Dosyadaki metin kod olarak çalışır.

Senaryo şöyledir: Scriptiniz kanal mesajlarını bir dosyaya kaydediyor; başka bir script bu dosyadan rastgele satır okuyup kanala gönderiyor. Kötü niyetli bir kullanıcı, kanala özel hazırlanmış bir mesaj yazıyor; bu mesaj dosyaya kaydediliyor ve okunduğunda kod olarak çalışıyor.

Korunma: Kullanıcı içeriği barındıran dosyaları okurken değerlendirmeyi kapatan parametreyi mutlaka kullanın. Ayrıntılar mIRC dosya işlemleri yazımızda.

Tehlikeli Kalıp: Dosya Yolunda Kullanıcı Girdisi

Bir kullanıcının yazdığı metni dosya adı veya yolu olarak kullanmak, sistemdeki başka dosyalara erişilmesine yol açabilir. Kullanıcı, üst klasörlere çıkmayı sağlayan karakterler kullanarak scriptinizin erişmemesi gereken dosyalara erişebilir veya üzerine yazabilir.

Korunma: Dosya adlarını kullanıcı girdisinden oluşturmayın. Zorunluysa girdiyi sıkı şekilde doğrulayın: yalnızca harf ve rakam kabul edin, klasör ayırıcılarını ve noktaları reddedin.

Socket ve Dış Veri

Socket ile çektiğiniz veri, tanımadığınız bir sunucudan gelir. Bu veriyi doğrulamadan kullanmak, dosya okumaktan bile risklidir çünkü içeriğini hiç kontrol etmiyorsunuz.

Gelen veriyi asla komut olarak çalıştırmayın, değerlendirme fonksiyonlarından geçirmeyin, dosya yolu olarak kullanmayın ve doğrulamadan kanala göndermeyin. Socket güvenliği için mIRC sockets yazımıza bakın.

DCC Riskleri

DCC, doğrudan bağlantı kurduğu için iki risk taşır: Gerçek IP adresiniz karşı tarafa açılır ve gönderilen dosyalar zararlı olabilir.

Önlemler:

  • Tanımadığınız kişilerden gelen dosya transferlerini kabul etmeyin.
  • mIRC'in DCC ayarlarında otomatik kabul seçeneğini kapatın.
  • Gelen dosyaları açmadan önce kontrol edin.
  • Bazı dosya türlerini tamamen engelleyin; mIRC bu iş için bir ayar sunar.

DCC hakkında ayrıntılar IRC DCC yazımızda.

Gizlilik Sızıntıları

Bazı güvenlik sorunları doğrudan zarar vermez ama bilgi sızdırır:

  • CTCP cevapları: Sürümünüz, saat diliminiz ve diğer bilgiler. Bkz. mIRC CTCP cevapları.
  • Debug çıktısı: Parolalarınızı içerir; paylaşmayın.
  • Log dosyaları: Özel mesajlarınızı ve parolalarınızı içerebilir.
  • Script dosyaları: Parola içeren bir scripti paylaşmak, parolanızı paylaşmaktır.
  • Yedekler: Yedek dosyalarınız da aynı hassas bilgileri taşır.

Güvenlik Kontrol Listesi

Kendi scriptleriniz için:

  1. Kullanıcı girdisinin nereye gittiğini takip edin.
  2. Girdiyi beklenen biçime göre doğrulayın.
  3. Değerlendirme fonksiyonlarından kaçının.
  4. Dosya yollarını kullanıcı girdisinden oluşturmayın.
  5. $read kullanırken değerlendirmeyi kapatın.
  6. Socket verisini doğrulayın.
  7. Parolaları script içine yazmayın.
  8. Yetki gerektiren işlemleri CTCP veya özel mesajla tetiklenebilir yapmayın.

Genel kullanım için:

  1. Tanımadığınız scriptleri yüklemeyin.
  2. mIRC'i güncel tutun.
  3. DCC otomatik kabulü kapatın.
  4. Flood korumalarını açın.
  5. Debug çıktısını ve logları paylaşmadan önce temizleyin.
  6. Yüklü scriptlerinizi ara sıra gözden geçirin, kullanmadıklarınızı kaldırın.

Gerçek Bir Senaryo

Bir kullanıcı, kanalda rastgele söz gösteren bir script yazıyor: Kullanıcılar !ekle komutuyla söz ekliyor, !soz komutuyla rastgele bir söz gösteriliyor. Sözler bir metin dosyasında saklanıyor ve $read ile okunuyor. Bir gün biri özel hazırlanmış bir "söz" ekliyor ve !soz komutu çalıştığında kullanıcının mIRC'i beklenmedik komutlar çalıştırmaya başlıyor. Kullanıcı sorunu fark edip $read çağrısında değerlendirmeyi kapatıyor, ayrıca eklenen sözleri uzunluk ve karakter açısından doğruluyor. Dosyadaki mevcut kayıtları da temizliyor.

Sonuç

Script güvenliği, kullanıcı girdisinin nereye gittiğini bilmekle başlar. Tanımadığınız scriptleri yüklemeyin, kendi kodunuzda girdiyi doğrulayın, değerlendirme fonksiyonlarından kaçının, dosya yollarını güvende tutun, socket verisini kontrol edin ve parolalarınızı script dosyalarından uzak tutun. Scriptinizi başkalarıyla paylaşmaya hazırlamak için sıradaki rehberimiz mIRC script paylaşma.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Bir mIRC scripti bilgisayarıma zarar verebilir mi?

Evet. Scriptler dosya okuyabilir, yazabilir, silebilir ve ağ bağlantısı kurabilir. Tanımadığınız scriptleri yüklemeyin.

Hangi script kalıpları tehlikelidir?

Kullanıcıdan gelen metni komut olarak çalıştıran, değerlendirme fonksiyonlarından geçiren veya dosya yolu olarak kullanan kalıplar.

Scriptimin güvenli olduğunu nasıl anlarım?

Kullanıcı girdisinin nereye gittiğini takip edin. Girdi bir komuta, dosya yoluna veya değerlendirme fonksiyonuna ulaşıyorsa risk vardır.