Tekil Mesaj gösterimi
Alt 01 Ekim 2010, 20:07   #10
Çevrimiçi
toXic
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Proxy Giriş Yapanları #proxy Kanalına Almak !




Aslında tüm bu saldırıları çözmenin yolu çok basit. IRCd yi mIRC Scripting gibi sadece text özelliği olan scriptlerden kurtarmak.

Alıntı:
on *:snotice:*Client conn*: {
var %dx = $gettok($right($left($10,-1),-1),2,64)
var %re = $iif($regex(%dx,-) != 1,$gettok(%dx,1,46),DONE)
if $istok(81 85 88 80 94 188 78 195,%re,32) == $false {
if !$hget(ok) { hmake ok 100 }
else { hadd -mu5 ok $+(*@,$left($gettok($10,2,64),-1))
if $hget(ok,0).item >= 1 {
var %1 = 1,%2 = $hget(ok,0).item
while %1 <= %2 {
sajoin $9 #proxy
inc %1 } } } }


if $istok(81 85 88 80 94 188 78 195,%re,32) buradakiler benim tespit ettigim tr ip başlangıcları buradakilerin haricindekileri girişte #proxy kanalına sajoinler. ekleyip silme yapabilirsiniz. kod çalışıyor test edilmiştir.


Bölüm script ama amaç aynı. Modulsel olarak deneyin. Sınır yok.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "channel.h" #include <time.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _WIN32 #include <io.h> #endif #include <fcntl.h> #include "h.h" #ifdef _WIN32 #include "version.h" #endif static int m_proxy(aClient *, aChannel *); ModuleHeader MOD_HEADER(m_proxys) = { "m_proxy", "Proxy Korumasi (toXic)", "Proxy Korumasi (toXic)", "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_proxys)(ModuleInfo *modinfo) { HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_proxy); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_proxys)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_proxys)(int module_unload) { return MOD_SUCCESS; } static char *proxylistesi[] = { "95.245", "78.222.222.222", NULL }; static int proxy_listesi(char *nick) { char **plist; for (plist=proxylistesi; *plist; *plist++) { if (strstr(nick, *plist)) return 1; } return 0; } static int m_proxy(aClient *sptr, aChannel *chptr) { char *kanal = "#Proxy"; char *i[3], channels[512]; #define Kontrol "#Botkontrol" #define aciklama1 "Proxy Girisi yaptiginiz tespit edildi.." #define aciklama2 "Bu nedenle proxy kanalina aliniyorsunuz" #define aciklama3 "Ban sorunlari icin, \
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
\2 adresini kullanmalisiniz." if (proxy_listesi(sptr->user->realhost)) { if ((chptr = find_channel(Kontrol, NullChn)) != NullChn) sendto_channel_butone(&me, &me, chptr, ":Proxy PRIVMSG %s : Proxy Girisi tespit edildi. Nick: \2%s\2 Proxy Kanalina Alindi..", Kontrol, sptr->name); sendto_one(sptr, ":Proxy NOTICE %s :%s", sptr->name, aciklama1); sendto_one(sptr, ":Proxy NOTICE %s :%s", sptr->name, aciklama2); sendto_one(sptr, ":Proxy NOTICE %s :%s", sptr->name, aciklama3); return place_host_ban(sptr, BAN_ACT_SHUN, "proxy", 60000); /* Dosyaya yazdirma.. */ time_t irc_time; struct tm tdate; irc_time = time(NULL); tdate = *localtime(&irc_time); FILE * pFile; pFile = fopen ("Proxy.txt", "a"); fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d Nick: %s IP: %s \n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, sptr->user->realhost); fclose (pFile); sendto_realops("PROXY: %s Proxy Girisi yapti.", sptr->name); strlcpy(channels, kanal, sizeof(channels)); i[0] = sptr->name; i[1] = channels; i[2] = NULL; do_cmd(sptr, sptr, "JOIN", 2, i); } else { sendto_one(sptr, ":Proxy NOTICE %s Guvenli giris yapiyorsunuz", sptr->name); sendto_one(sptr, ":Proxy NOTICE %s Direk Kanallara aktarilacaksiniz.", sptr->name); char *ibo = "#toXic,#Sohbet,#Muhabbet"; char *a[3], channels[512]; strlcpy(channels, ibo, sizeof(channels)); a[0] = sptr->name; a[1] = channels; a[2] = NULL; do_cmd(sptr, sptr, "JOIN", 2, a); } return 0; }

Sırf araklanmasın diye yazdiğim modulu getirebildiğim en basit hale getirerek dağitiyorum, aslında proxylere auth doğrulamasi yapmak için yazmiştim modulu.

IP leri;


Kod:
static char *proxylistesi[] = { "95.245", "78.222.222.222", NULL};
buradan belirtmelisiniz.

alt alta;

static char *proxylistesi[] = {
"95.245",
"78.222.222.222",
"555.322.121.343",
"123.456.789",
NULL
};


gibi. IP ler regex olarak algilanir, yani eğer "78", diye eklerseniz 78 ile baslayan tüm iplere proxy muamelesi yapar. Proxy Olanlar shunlanir ve #proxy kanalina sokulur. Proxy olmayanlar ise direk kanallara aktarilir. unrealircd.conf unuzdan auto-join kısmını silmelisiniz yoksa proxyleride kanallara alir.
Proxy olmayanlarin gireceği kanallari ayarlamak icim;
char *ibo = "#toXic,#Sohbet,#Muhabbet";
Bu kısmı düzeltmelisiniz. Burada proxy olmayan kullanicilarin direk gireceği kanallar belirlidir.
Proxy kullanicilari ise zaten direk #proxy kanalina girecek ve;
[KBSC] 11::42 -Proxy- Proxy Girisi yaptiginiz tespit edildi..
-ø-
[KBSC] 11::42 -Proxy- Bu nedenle proxy kanalina aliniyorsunuz
-ø-
[KBSC] 11::42 -Proxy- Ban sorunlari icin,
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
adresini kullanmalisiniz.
uyarisini alacaklardir.
Ayrica operlere haber verilip, #botkontrol kanalinda uyarilacaktir.
Tüm bunlar Proxy.txt dosyasinda loglanacaktir.

 

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet