Реверснуть CGI

Тема в разделе "WASM.RESEARCH", создана пользователем DotNET, 4 апр 2005.

  1. DotNET

    DotNET New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2005
    Сообщения:
    7
    Добрый день !

    Подскажите способы и с помошью чего можно реверснуть CGI скрипт.

    Опишу ситуацию:

    есть сервер apache на нем поднят сайт, который использует CGI скрипт - который видимо проверяет дату и при наступлении определенной даты перестает работать выдавая сообщение что время работы истекло...

    Сам файл видимо откомпилирован чем-то... т.к. представляет из себя не текстовый файл, а бинарный..

    Время на сервере перевести невозможно...

    ХЕЛП
     
  2. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    DotNET

    IDA, если есть доступ к cgi(можешь скачать бинарник)
     
  3. DotNET

    DotNET New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2005
    Сообщения:
    7
    Да я его скачал...

    посмотрел тектовым редактором

    в нем как кракозябры так и нормальный текст (читаемый - на русском !)...

    открыл идой...

    она его распознала, но не весь...

    может нужны какие-то спецовые сигнатуры ?



    файлик этот под юниксом крутится...

    может есть какие особености?



    Получится у меня из него рабочий потом сделать в виндах?
     
  4. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    DotNET

    Нужно чтобы посмотрел спец. Часто цги пишут на сях.
     
  5. DotNET

    DotNET New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2005
    Сообщения:
    7
    спецы глянте пожалуйста, а то эта хрень с 1-го апреля не работает....



    [​IMG] _2122771713__web_file.zip
     
  6. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    web.cgi: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9.1, dynamically linked (uses shared libs), stripped



    Я такими делами пока не занимаюсь, пусть кто-нить другой ковырнет.
     
  7. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    интересно, сколько найдется желающих бесплатно это ковырять?:)
     
  8. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    написал бы хоть какими словами ругается )
     
  9. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    надо понимать такими: Время действия лицензии на пользование данным экземпляром програмного продукта истекает 31 марта 2005 года. Обратитесь к разработчику.
     
  10. intuit

    intuit New Member

    Публикаций:
    0
    Регистрация:
    1 июн 2003
    Сообщения:
    28
    основная функция:



    804d03c: 55 push %ebp

    804d03d: 89 e5 mov %esp,%ebp

    804d03f: 83 ec 08 sub $0x8,%esp

    804d042: 83 c4 fc add $0xfffffffc,%esp

    804d045: 68 bc e9 06 08 push $0x806e9bc

    804d04a: 68 bc d9 06 08 push $0x806d9bc

    804d04f: 68 a0 3f 06 08 push $0x8063fa0 // сохраняем адрес нашей формы с ошибкой("Время действия лицензии на пользование данным экземпляром програмного продукта

    истекает 31 марта 2005 года. Обратитесь к разработчику.")

    804d054: e8 0b d1 ff ff call 0x804a164

    804d059: 83 c4 10 add $0x10,%esp

    804d05c: e8 13 00 00 00 call 0x804d074

    804d061: 83 c4 f4 add $0xfffffff4,%esp

    804d064: 68 8d 41 06 08 push $0x806418d

    804d069: e8 f6 d0 ff ff call 0x804a164

    804d06e: 83 c4 10 add $0x10,%esp

    804d071: c9 leave

    804d072: c3 ret



    откуда зовется эта функция(0x804d03c):



    804ab39: 8d 76 00 lea 0x0(%esi),%esi

    804ab3c: 83 c4 f8 add $0xfffffff8,%esp

    804ab3f: 68 84 b8 05 08 push $0x805b884

    804ab44: 68 e0 d4 06 08 push $0x806d4e0

    804ab49: e8 96 f8 ff ff call 0x804a3e4

    804ab4e: 83 c4 10 add $0x10,%esp

    804ab51: 89 c0 mov %eax,%eax

    804ab53: 85 c0 test %eax,%eax

    804ab55: 75 0d jne 0x804ab64 // интересный jump ;) меняем его например на "eb 0d"

    804ab57: e8 e0 24 00 00 call 0x804d03c // вызываем функцию

    804ab5c: e9 3b 02 00 00 jmp 0x804ad9c





    Если не помогает, лезем выше по коду и смотрим откуда вызывается функция, находящаяся по адресу 0x804ab39. Анализируем..



    ps:

    Проверить самому не было возможности, ибо моя машина под linux'ом, фряхи нет под рукой.

    Физическое смещение джампа в файле - 0x2B55