Стоит следующая задача. Отлавливаем снифер.

Discussion in 'PHP' started by Егорыч+++, 29 Jun 2005.

  1. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    894
    Reputations:
    20
    Задача:

    1. Есть Html страничка. Необходимо определить установлен ли снифер на этой страничке.

    Необходима функция которая будет это делать или хотя бы алгоритм. В принципе в данном вопросе главное знание. И учитывая многообразие всевозможных вставок снифера, необходим алгоритм простой в дополнении.

    Вопросы типа "Зачем" не принимаются.


    Ps. В принципе я и сам уже его пишу, но мне интересно ваше мнение.
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    100% нельзя, иначе придется делать интерпретатор джаваскрипта =\
     
  3. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Отрезать все запросы вне домена да и все)))
     
  4. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    894
    Reputations:
    20
    А собственно почему нельзя. Есть конкретные представления снифера в страничке. Вопрос только в количестве вариантов. В конце концов подобная функция может работать по принципу антивируса. А вот сигнатуры уже разрабатывать позже
     
  5. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    стремится к бесконечности :)
     
  6. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    894
    Reputations:
    20
    Я бы не думаю что к бесконечности. Фуркции которые воруют куки ограниченны.
     
  7. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Ты имеешь ввиду, есть ли на страничке XSS ?
    Типа <a href="" style="background:url(javascript:i=new Image(); ну и т д на сниффер?

    На чем нужно это реализовать? На JAVASCRIPT или на серверных языках
     
  8. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    894
    Reputations:
    20
    на php надо...
     
  9. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,159
    Likes Received:
    299
    Reputations:
    156
    Сниферу надо что-то передать (куку, сессию или еще может чего). Хочешь не хочешь, а плюс (+) будет использоватся всегда. Отсюда анализировать надо на + (со всем возможным кодированием)
     
    _________________________
  10. Егорыч+++

    Staff Member

    Joined:
    27 May 2002
    Messages:
    1,373
    Likes Received:
    894
    Reputations:
    20
    Это да.. с плюсом идея неплохая...
     
  11. Майор

    Майор Active Member

    Joined:
    24 Oct 2004
    Messages:
    557
    Likes Received:
    111
    Reputations:
    146
    на мой взгляд достаточно проверять наличие строчки:
    HTML:
    +document.cookie
    во всех кодировках
     
  12. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Ищи на странице перед тем как выдать пользователю текст "document.cookie" и секи все вставки типа <script src=""> т.к. такие вставки должно всегда по пальцам пересчитать, а все лишние - убрать.
     
  13. bul666

    bul666 Banned

    Joined:
    21 Apr 2005
    Messages:
    285
    Likes Received:
    8
    Reputations:
    -1
    new Image()
     
  14. LuTan

    LuTan New Member

    Joined:
    15 Jun 2005
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    The best!

    Это 100% используемые символы!
     
  15. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,159
    Likes Received:
    299
    Reputations:
    156
    Надо именно на плюс "ловить", а не на всю строчку "+document.cookie"
    Так как могут перед этим куку запихнуть в переменную, а потом эту переменную передать сниферу. Если не в переменную, то в какую-нить функцию запихивать (типа eval() ). Так что плюс пока самый универсальный.
     
    _________________________
  16. LuTan

    LuTan New Member

    Joined:
    15 Jun 2005
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Можно и по отдельности document.cookie и + ловить!
    Кстати необязательно такая конструкция!
    Можно ведь редирект сделать!
    Можно windows.open !!!
    !
     
  17. Rebz

    Rebz Super Moderator
    Staff Member

    Joined:
    8 Nov 2004
    Messages:
    4,055
    Likes Received:
    1,532
    Reputations:
    1,128
    а если вы будете фильтровать document.cookie , такая комбинация сработает:
    document.co okie ?
    ну в общем, с проблами и табуляциями..
     
  18. qBiN

    qBiN Вот такой вот я :(

    Joined:
    20 Jan 2005
    Messages:
    834
    Likes Received:
    73
    Reputations:
    33
    Я писал такую функцию...Выглядит довольно примЯтивно...Зато отлавливает как мне кажится все...Если еще надо icq:348000916
     
  19. Майор

    Майор Active Member

    Joined:
    24 Oct 2004
    Messages:
    557
    Likes Received:
    111
    Reputations:
    146
    На yahoo стоит такой фильтр - он раскодирует hex и ASCII 1 раз вырезает все пробелы, табуляции и т д, а потом ищит там ключивает слова...
     
  20. qBiN

    qBiN Вот такой вот я :(

    Joined:
    20 Jan 2005
    Messages:
    834
    Likes Received:
    73
    Reputations:
    33
    Еще не забывай переделывать строку в нижний(верхний) регистр.
    А то всякие JaVaScRipTы замучают =)