[Perl] Mikstura - утилита для работы с LFI, InAttack Release

Discussion in 'PHP' started by Dr.TRO, 2 Jun 2010.

  1. Dr.TRO

    Dr.TRO Member

    Joined:
    29 Jan 2009
    Messages:
    20
    Likes Received:
    7
    Reputations:
    10
    Здравствуй Античат.

    Написал утилиту для работы с инклудами.

    Функционал:
    1. При наличии ошибок автоматически подбирать путь к корневой директории
    2. Проверяет возможность удаленного инклуда, работы с data:, php://input
    3. Если есть возможность data:, php://input -- возможность интерактивной консоли доступа к шеллу
    4. Проверка надобности и какого именно нулбайта ( нуллбайт или слешей кучка )
    5. Если нет вывода ошибок и нет возможности соответственно найти логически путь - подбираем "брутфорсом" (до 15 ../ )
    6. Опознавание ОСи ( при выводе ошибок ) и сервера по хедерам
    7. Работа с HTTP прокси и при наличии установленного LWP::protocol::socks с сокс прокси
    В будущем:
    1. Логический подбор логов и конфигов в зависимости от версии сервера и ОСи
    2. Перепишу на ООП ( Perl просто классы быстрее компилирует да и работа в целом ускориться )
    3. Показ PR и тИЦ
    Ошибки и пожелания прошу писать сюда.

    Исходный код с подсветкой синтаксиса
     
    2 people like this.
  2. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Может я что то пропустил в сурсе из за трудночитаемости, но что собственно скрипт делает нужного кроме третьего пункта?

    >>Ошибки и пожелания прошу писать сюда.
    - забыть про гет запросы в такого рода скриптах
    - забыть про lwp::useragent, использовать Socket или на крайний случай IO::Socket::INET.
    - написать скрипт заново, пока не поздно, с продуманной архитектурой. использовать сабы, а не весь сурс строить на одних if/else, что бы потом, тот, кто решится его прочитать полностью, не лицезрел в конце }}}}}}}}} и не гонял прокрутку экрана туда-сюда что бы разобраться что к чему относится.
     
    2 people like this.
  3. Dr.TRO

    Dr.TRO Member

    Joined:
    29 Jan 2009
    Messages:
    20
    Likes Received:
    7
    Reputations:
    10
    Slip я ж как бэ написал что перепишу его на ООП, так как классы побыстрее сабов будут, так-с ну это не трудно будет сделать 1 фун-ю которая бы делала гет запрос через сокет думаешь стоит сокет?

    окок учту наверное в будущем реально перепишу под сокет...

    что значит забыть о гетах?

    а полезного - ща дает информацию для продолжения ручного инклуда, потом еще хочу реализовать эттак "еврестический" инклуд логов... но то в будущем.
     
    #3 Dr.TRO, 2 Jun 2010
    Last edited: 2 Jun 2010
  4. Iceangel_

    Iceangel_ Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    Как минимум, чтобы скрипт проверял возможность работы через POST и в случае положительного результата осуществлял работу через POST.
     
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    POST /script.php?id=123
     
  6. Dr.TRO

    Dr.TRO Member

    Joined:
    29 Jan 2009
    Messages:
    20
    Likes Received:
    7
    Reputations:
    10
    кэп кэп)

    ок, учту в будущем, спасибо за дельные совет.
     
  7. Dr.TRO

    Dr.TRO Member

    Joined:
    29 Jan 2009
    Messages:
    20
    Likes Received:
    7
    Reputations:
    10
    учел все)) спасибо за интерес, думаю все будет базировать на 1 модуле - IO::Socket::INET;

    ща уже функции гет, пост написал)

    так же будет улучшена работа с кукисами, POST запросами(они вообще появяться как таковы), обещанный логичесикй подбор логов, и многое другое.

    вообщем ждем-сс финальную версию.
     
  8. muse

    muse Elder - Старейшина

    Joined:
    25 Sep 2005
    Messages:
    28
    Likes Received:
    6
    Reputations:
    6
    скрипт берет первый параметр и считает его уязвимым хотя уязвим другой параметр но он этого не понимает
    например при указании
    -u http://site.ru/index.php?temp=trulala&id= <- тут LFI
    скрипт чекает только параметр temp ...