Старый 19.07.2012, 01:13   #1
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию Определение языка сайта

давайте соберём всю информацию, по которой можно определить, на каком языке сделан сайт.
сразу отвечая на вопрос "зачем?" - расширения скриптов (типа index.php) могут быть подделаны через AddHandler или названия скриптов вообще скрыты целиком с помощью mod_rewrite.


PHP:

- в названии кук может фигурировать "PHPSESSID"

- при подстановке строк
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
к адресу сайта можно получить некоторую информацию (easter eggs):

http://vkontakte.ru/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
http://ru.wikipedia.org/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
http://www.liveinternet.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

- заголовки сервера:
X-Powered-By: PHP*

Ruby On Rails:

- на сайте может быть картинка /images/rails.png

- в исходном коде страниц могут быть таймстампы у тегов link и script, типа:
Код:
<link href="/styles/main.css?1342126740" rel="stylesheet" type="text/css" />
- в исходном коде страниц может присутствовать "csrf_token" (также см. Python)

- в исходном коде страницы 404 ошибки может быть текст "<!-- This file lives in public/404.html -->"

- сайт выдаёт ошибку 500 при подстановке в url кода
Код:
?a=a&a[]=a
https://moriz.de/?a=a&a[]=a

- в названии кук может фигурировать _name_session(иногда _name_sess), где name - имя rails проекта

- заголовки сервера:
X-Powered-By: Phusion Passenger (mod_rails/mod_rack)
X-Runtime: *
X-Rack-Cache: *

Python & Django

- в исходном коде страниц может присутствовать "csrf_token" и "csrfmiddlewaretoken"

- заголовки сервера:
не палится.

ASP.NET:

- в названии кук может фигурировать "ASP"

- в исходном страницы могут быть конструкции ViewState типа:
Код:
<input type="hidden" name="__VIEWSTATE" value="sadfasdfasdfasdfsadfsadfsadfasdf">
- шутка юмора:
Цитата:
If the HTML is a mess then you have 90% chance it's been developed in .NET
- заголовки сервера:
X-Powered-By: ASP*
Server: Microsoft-IIS*
X-AspNet-Version: *

Java:

- в названии кук может фигурировать "JSESSIONID"

- заголовки сервера:
X-Powered-By: Servlet*
X-Powered-By: JSP*

--------------------------

всё вышеуказанное может не соответствовать действительности - эти признаки могут быть лишь косвенными, т.к. легко изменяемы или отключаемы.

Последний раз редактировалось 12309; 20.07.2012 в 10:37..
12309 вне форума   Ответить с цитированием
Старый 19.07.2012, 08:21   #2
c0ncat
 
Регистрация: 29.05.2012
Сообщений: 9
Репутация: -1
По умолчанию

А по расширению файлов определить нельзя что ли?
c0ncat вне форума   Ответить с цитированием
Старый 19.07.2012, 09:37   #3
Spyder
 
Аватар для Spyder
 
Регистрация: 01.07.2010
Сообщений: 95
Репутация: 41
По умолчанию

Java:
JSESSIONID в куках
__________________
wut?
Spyder вне форума   Ответить с цитированием
Старый 19.07.2012, 09:49   #4
Beched
 
Регистрация: 06.07.2010
Сообщений: 395
Репутация: 118
По умолчанию

В случае PHP пасхальные яйца смысла не имеют, ибо они работают лишь при expose_php = 1, а при этой настройке в заголовке пишется полная версия PHP в X-Powered-By.

Кроме того, для ASP.NET тоже пишется в заголовок X-Powered-By + пишется версия в заголовок X-AspNet-Version. Зависимостей не знаю.

Собственно, у себя я ещё юзаю фингерпринт RoR от BlackFan'а. Выходит так:

Код:
        if (search( '(\.php[^\w])', self.args[ 'url' ].lower() ) != None) or (self.hdrs[ 'X-Powered-By' ] != None and 'PHP' in self.hdrs[ 'X-Powered-By' ]) or (self.hdrs[ 'Set-Cookie' ] != None and 'PHP' in self.hdrs[ 'Set-Cookie' ]):
            self.phptest()
        elif (search( '(\.aspx?[^\w])', self.args[ 'url' ].lower() ) != None or (self.hdrs[ 'X-Powered-By' ] != None and 'ASP.NET' in self.hdrs[ 'X-Powered-By' ]) ):
            self.aspnettest()
        elif self.makereq( self.args[ 'url' ] + '?a=a&a[]=a' )[ 1 ] == 500: print( '==========\nRuby on Rails framework possibly detected' )
А топик полезный, буду расширять коллекцию сигнатур.

Кстати здоровые сканеры кажется ещё не дожили до того, чтобы оптимизировать сканирование под конкретную технологию автоматически.
Т.е., допустим, найдётся папка /forum/, отвечающая сигнатурам PHP -- ищет php-баги, а найдётся каталог с ASP.NET (он может быть вынесен на другой серв) -- оптимизируем под дотнет скан в этом каталоге.

P.S. В DJango ещё csrfmiddlewaretoken есть.

Последний раз редактировалось Beched; 19.07.2012 в 12:17..
Beched вне форума   Ответить с цитированием
Старый 19.07.2012, 11:08   #5
rieux
 
Регистрация: 06.07.2012
Сообщений: 2
Репутация: 0
По умолчанию

Web Technology Notifier
Displays the Web technology of the current page.
https://chrome.google.com/webstore/d...klealdhnogmlko
rieux вне форума   Ответить с цитированием
Старый 19.07.2012, 11:16   #6
RoD
 
Аватар для RoD
 
Регистрация: 25.10.2010
Сообщений: 19
Репутация: 5
По умолчанию

Для этой цели использую расширение Wappalyzer для Firefox и Chrome. Очень доволен
RoD вне форума   Ответить с цитированием
Старый 19.07.2012, 14:14   #7
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

спасибо, обновил первый пост
12309 вне форума   Ответить с цитированием
Старый 19.07.2012, 14:19   #8
Beched
 
Регистрация: 06.07.2010
Сообщений: 395
Репутация: 118
По умолчанию

Во, ещё с RoR бывает в X-Powered-By или Server заголовках инфа о наличии Phusion Passenger (mod_rails/mod_rack).
Beched вне форума   Ответить с цитированием
Старый 19.07.2012, 14:59   #9
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

добавил заголовки сервера.
приз за самый палевный язык получает ruby on rails!
12309 вне форума   Ответить с цитированием
Старый 19.07.2012, 18:58   #10
overxor
 
Регистрация: 14.10.2011
Сообщений: 73
Репутация: 90
По умолчанию

RoR еще по умолчанию создает куку _name_session(иногда _name_sess). Где name - имя rails проекта.
__________________
[IO]
overxor вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot