From aa421a2d56c5bdfb467eddaba478e5aef04bbce4 Mon Sep 17 00:00:00 2001 From: William Heimbigner Date: Tue, 26 Apr 2011 17:42:42 +0000 Subject: Lots of added stuff. Don't know whatall. --- config-default/channels.xml | 295 +++++++++++++++++++++++++++++++++----------- config-default/commands.xml | 19 ++- config-default/dnsbl.xml | 6 +- config-default/users.xml | 18 ++- modules/classes.pl | 6 +- modules/command.pl | 3 +- modules/event.pl | 4 +- modules/inspect.pl | 1 + modules/mysql.pl | 2 +- modules/services.pl | 10 +- 10 files changed, 271 insertions(+), 93 deletions(-) diff --git a/config-default/channels.xml b/config-default/channels.xml index 4a76a33..7752fa8 100644 --- a/config-default/channels.xml +++ b/config-default/channels.xml @@ -3,6 +3,7 @@ PeterSymonds + @@ -11,13 +12,19 @@ - tomaw + + + + + + + ST47 @@ -27,6 +34,7 @@ Fieldy tomaw WildPikachu + Gary PhilKC vorian DLange @@ -36,10 +44,10 @@ DLange linagee rob + stew ##linux-ops - WildPikachu @@ -54,27 +62,45 @@ ##linux-ops + + + + + + + + + + + thehelpfulone ##thehelpfulone + tho|away ##asb-nexus + + + + jpalmer + KB1JWQ ST47 Thehelpfulone + werdan7 njan numist quux @@ -83,14 +109,19 @@ njan JonathanD Cpudan80 - AndrewB pinpoint - theacolyte tomaw - theacolyte + + + jpalmer + + + + + @@ -100,7 +131,10 @@ - + + + + @@ -108,6 +142,15 @@ + + + tomaw + + + + + + tomaw @@ -115,38 +158,51 @@ Martinp23 SeJo pctony + KB1JWQ + theacolyte- + nhandler + mquin njan - AndrewB denny Gary JonathanD ZoFreX DLange - vorian PriceChild + werdan7 ompaul - PhilKC + mrmist - - #freenode-adb - - - - - - - Thehelpfulone - + + NeddySeagoon + a3li + marienz + marienz tomaw + + + + + + + + + + + + + + + Thehelpfulone @@ -156,17 +212,37 @@ + + + flyingparchment - WaRpAtH + roberthl seanw - ST47 + vvv #wikimedia-ops + + + tomaw + + + + + + + + + + + + + + Randomuser @@ -180,20 +256,44 @@ + nhandler ST47 PriceChild tomaw + + + + + + + + + + + tomaw + + + + + + + + + + - Mbimmler Martinp23 - Warpath Rjd0060 AfterDeath theoneandonly + PeterSymonds + vvv + Barras + AfterDeath Majorly Fabexplosive @@ -205,6 +305,10 @@ Rjd0060 theoneandonly + killiondude + PeterSymonds + Abigor + Kanonkas #wikimedia-ops @@ -214,6 +318,13 @@ Cbrown1023 Thehelpfulone + Not_the_NSA + Rjd0060 + Kanonkas + PeterSymonds + Barras + AfterDeath + slakr #wikimedia-ops @@ -224,10 +335,19 @@ Thehelpfulone + + + PeterSymonds + + + #wikimedia-ops + + theoneandonly Thehelpfulone + Rjd0060 #wikimedia-ops @@ -236,6 +356,7 @@ theoneandonly + Rjd0060 #wikimedia-ops @@ -243,9 +364,7 @@ - cbrown1023 Golbez - Mbimmler Prodego Rjd0060 Snowolf @@ -253,27 +372,36 @@ werdan7 wimt theoneandonly + Jake_Wartenberg + shimgray + kibble + PeterSymonds + Jamesofur + killiondude + SpitfireWP + jeremyb + Maximillion + stwalkerster + Barras bumm13_ Cyrius DanielB - Dmcdevit Fabexplosive FastLizard4 James_F JohnReaves - Krimpet Lucifer_Cat Luna-San Uberpenguin Mike42 Mike_H nixeagle - quanticle Ceiling_Cat seanw skenmy ST47 tawker + kibble #wikimedia-ops @@ -289,38 +417,38 @@ - animum - Kmccoy - Prodego Rjd0060 - Snowolf Werdan7 wimt Thehelpfulone PeterSymonds theoneandonly Not_the_NSA + Prodego + Jake_Wartenberg + shimgray + stwalkerster + Jamesofur + SpitfireWP + Barras + jeremyb + Maximillion Rudha-an - agkwiki - bumm13 Cobi Cbrown1023 DanielB - Dmcdevit Golbez - James_F JohnReaves - KFP - Krimpet Luna-Santin Mike42 - nixeagle seanw smoddy Tawker - Ryanpostlethwait NotASpy |X| + agkwiki + KFP + Ryanposs #wikimedia-ops @@ -330,7 +458,6 @@ werdan7 GDonato - Cometstyles Thehelpfulone theoneandonly Mike42 @@ -343,17 +470,28 @@ Deon555 Luna-San FrancoGG - Cremepuff222 - KFP Golbez stwalkerster PeterSymonds Hersfold + killiondude + KFP + chzz #wikimedia-ops + + + Dferg + Rasco + Thehelpfulone + + + dferg + + @@ -362,6 +500,7 @@ + 15:45 @@ -369,50 +508,56 @@ - 5:3 + 5:3 + (?i)w(.?)w\1w\1?.\1?a\1n\1o\1n\1t\1a\1l\1k\1?.\1?c\1o\1m ^requested by ChanServ - blah - ^([A-Za-z]{12} ){15,} - .* - .* - .* - ^DCC (SEND|S?CHAT) |\bDCC (SEND|S?CHAT) "?[A-Za-z0-9]+"? \d+ \d+ \d+ - DCC SEND - DCC SEND - \bDCC SEND - ^... DDOS COUNTDOWN.* - freenode.donations@gmail.com - dnsbl.dronebl.org - rbl.efnetrbl.org - ([^ ]{4,} +)\1{5,} - goatse\.cz - 5:20 - ^startkeylogger$|^stopkeylogger$ - \bstartkeylogger\b|\bstopkeylogger\b - http://\S+\.on\.nimp\.org - contentisuseless - cafe.* lilo.* tell.* RV - i=magical - 4:4 - 150:20 - .* - http:\/\/www\.pennergame\.de\/change_please\/(\d+)\/ - identify.*/msg .* identify <password> - RED ARMY OF LOL - \.com/sms.exe + blah + (?i).*!.=aaaah@.*!hehehe + .* + .* + .* + ^DCC (SEND|S?CHAT) |\bDCC (SEND|S?CHAT) "?[A-Za-z0-9]+"? \d+ \d+ \d+ + DCC SEND + DCC SEND + \bDCC SEND + dnsbl.dronebl.org + rbl.efnetrbl.org + ([^ ]{4,} +)\1{5,} + 5:20 + ^startkeylogger$|^stopkeylogger$ + \bstartkeylogger\b|\bstopkeylogger\b + http://\S+\.on\.nimp\.org + contentisuseless + 4:4 + 60:10 + .* + identify.*/msg .* identify <password> + ^This nickname is registered + dnsbl.proxybl.org + RED ARMY OF LOL + \.com/sms.exe (?i)^sure are a ?lot of .*fags? in here ST47 pctony SeJo - ST47 + KB1JWQ + Rjd0060 + marienz + mrmist dave2 RichiH - troubled Thehelpfulone + mrmist + mrmist ##asb-nexus + + + #freenode + + diff --git a/config-default/commands.xml b/config-default/commands.xml index 3dba162..52f9339 100644 --- a/config-default/commands.xml +++ b/config-default/commands.xml @@ -16,6 +16,7 @@ privmsg($event->{to}->[0], "help is at http://meta.wikimedia.org/wiki/User:WHeimbigner/AntiSpamMeta"); + $conn->privmsg($event->{to}->[0], "You can also get faster help by emailing william dot heimbigner at ttu dot edu - or bug ErrantEgo or tomaw"); ]]> @@ -274,12 +275,18 @@ {to}->[0]; - $tgt = $1 if (defined($1)); - my $msg = $1; - $msg = $2 if defined($2); - my $hilite=ASM::Util->commaAndify(ASM::Util->getAlert($tgt, 'opalert', 'hilights')); - $conn->privmsg($_, "[\x02$tgt\x02] - $event->{nick} wants op attention ($msg) $hilite") foreach ASM::Util->getAlert($tgt, 'opalert', 'msgs'); + if ($::sn{lc $event->{nick}}->{dnsbl} == 0) { + my $tgt = $event->{to}->[0]; + $tgt = $1 if (defined($1)); + my $msg = $1; + $msg = $2 if defined($2); + unless (defined($::ignored{$tgt}) && ($::ignored{$tgt} >= $::RISKS{'opalert'})) { + $::ignored{$tgt} = $::RISKS{'opalert'}; + $conn->schedule(30, sub { delete($::ignored{$tgt})}); + my $hilite=ASM::Util->commaAndify(ASM::Util->getAlert($tgt, 'opalert', 'hilights')); + $conn->privmsg($_, "[\x02$tgt\x02] - $event->{nick} wants op attention ($msg) $hilite") foreach ASM::Util->getAlert($tgt, 'opalert', 'msgs'); + } + } ]]> diff --git a/config-default/dnsbl.xml b/config-default/dnsbl.xml index ba11a0f..c2c380d 100644 --- a/config-default/dnsbl.xml +++ b/config-default/dnsbl.xml @@ -16,9 +16,13 @@ SOCKS proxy HTTP proxy ProxyChain - Brute force attackers + Open Wingate Proxy Compromised router / gateway + Automatically determined botnet IPs (experimental) Unknown + + Open Proxy + diff --git a/config-default/users.xml b/config-default/users.xml index ae66c4c..d3f6fd8 100644 --- a/config-default/users.xml +++ b/config-default/users.xml @@ -1,29 +1,35 @@ - + + - + + + + + + - + + - + + - - diff --git a/modules/classes.pl b/modules/classes.pl index 1897100..74a5b1c 100644 --- a/modules/classes.pl +++ b/modules/classes.pl @@ -75,7 +75,9 @@ sub levenflood sub dnsbl { my ($chk, $id, $event, $chan, $rev) = @_; - return unless index($event->{host}, '/') == -1; +# return unless index($event->{host}, '/') == -1; +# hopefully getting rid of this won't cause shit to assplode +# but I'm getting rid of it so it can detect cgi:irc shit if (defined $rev) { my $iaddr = gethostbyname( "$rev$chk->{content}" ); my @dnsbl = unpack( 'C4', $iaddr ) if defined $iaddr; @@ -89,6 +91,7 @@ sub dnsbl print "chk->content: $chk->{content}\n"; print "strip: $strip\n"; print "result: " . $::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content} . "\n"; + $::sn{lc $event->{nick}}->{dnsbl} = 1; # lol really icky hax return $::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content}; } @@ -250,6 +253,7 @@ sub gecos { sub nuhg { my ( $chk, $id, $event, $chan) = @_; + return 0 unless defined($::sn{lc $event->{nick}}->{gecos}); my $match = $event->{from} . '!' . $::sn{lc $event->{nick}}->{gecos}; return 1 if ($match =~ /$chk->{content}/); return 0; diff --git a/modules/command.pl b/modules/command.pl index 07ef31e..889a3de 100644 --- a/modules/command.pl +++ b/modules/command.pl @@ -2,6 +2,7 @@ package ASM::Commander; use warnings; use strict; use IO::All; +use POSIX qw(strftime); sub new { @@ -41,7 +42,7 @@ sub command } } if ($cmd=~/$command->{cmd}/) { - print "$event->{from} told me: $cmd \n"; + print strftime("%F %T ", gmtime) . "$event->{from} told me: $cmd \n"; eval $command->{content}; warn $@ if $@; last; diff --git a/modules/event.pl b/modules/event.pl index f808317..e25066b 100644 --- a/modules/event.pl +++ b/modules/event.pl @@ -5,6 +5,7 @@ use strict; use Data::Dumper; use Text::LevenshteinXS qw(distance); use IO::All; +use POSIX qw(strftime); sub cs { my ($chan) = @_; @@ -100,6 +101,7 @@ sub on_join { } else { $::sn{$nick} = {}; $::sn{$nick}->{mship} = [ $chan ]; + $::sn{$nick}->{dnsbl} = 0; if (defined($::needgeco{$nick})) { $::needgeco{$nick} = [ @{$::needgeco{$nick}}, $evcopy ]; $::db->logg($event); @@ -363,7 +365,7 @@ sub whois_identified { foreach my $item (@{$::idqueue{$who}}) { my ($cmd, $command, $event) = @{$item}; if ( $cmd =~ /$command->{cmd}/ ){ - print "$event->{from} told me $cmd \n"; + print strftime("%F %T ", gmtime) . "$event->{from} told me $cmd \n"; eval $command->{content}; warn $@ if $@; } diff --git a/modules/inspect.pl b/modules/inspect.pl index 6e992ec..84c20a1 100644 --- a/modules/inspect.pl +++ b/modules/inspect.pl @@ -26,6 +26,7 @@ sub inspect { our $unmode=''; my $nick = lc $event->{nick}; my $xresult; + return if (index($nick, ".") != -1); return if (defined($::eline{$nick}) || defined($::eline{lc $event->{user}}) || defined($::eline{lc $event->{host}})); if ( $event->{host} =~ /gateway\/web\/ajax\// ) { if ( $event->{user} =~ /.=([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])/ ) { diff --git a/modules/mysql.pl b/modules/mysql.pl index f0b7845..e5470bb 100644 --- a/modules/mysql.pl +++ b/modules/mysql.pl @@ -134,7 +134,7 @@ sub query $host =~ s/\*/%/g; $host =~ s/_/\\_/g; $host =~ s/\?/_/g; - my $sth = $dbh->prepare("SELECT * from $self->{TABLE} WHERE channel = $channel and nick like $nick and user like $user and host like $host;"); + my $sth = $dbh->prepare("SELECT * from $self->{TABLE} WHERE channel like $channel and nick like $nick and user like $user and host like $host;"); $sth->execute; my $i = 0; while (my $ref = $sth->fetchrow_arrayref) { diff --git a/modules/services.pl b/modules/services.pl index 3ec9436..0a0c3d5 100644 --- a/modules/services.pl +++ b/modules/services.pl @@ -11,6 +11,7 @@ sub new sub doServices { my ($self, $conn, $event) = @_; + my $i = 5; if ($event->{from} eq 'NickServ!NickServ@services.') { print "NickServ: $event->{args}->[0]\n"; @@ -20,7 +21,10 @@ sub doServices { } elsif ( $event->{args}->[0] =~ /^You are now identified/ ) { - $conn->join($_) foreach ( @{$::settings->{autojoins}} ); + foreach my $x ( @{$::settings->{autojoins}} ) { + $conn->schedule($i, sub { $conn->join($x); }); + $i = $i + 6; + } } elsif ($event->{args}->[0] =~ /has been killed$/ ) { @@ -42,6 +46,10 @@ sub doServices { { $conn->join($1); } + elsif ( $event->{args}->[0] =~ /You are not authorized to perform this operation/ ) + { + $::oq->clean(); + } } } -- cgit v1.2.3