Представляю вашему вниманию четвертую часть перевода OWASP Testing Guide. В данной статье речь пойдет о метафайлах веб-сервера.

Предыдущие статьи:

  1. Тестирование: введение и задачи
  2. Сбор информации с помощью поисковых систем
  3. Определение веб-сервера

Поиск информации в метафайлах веб-сервера
Резюме

В данном разделе описывается как с помощью файла robots.txt получить перечень директорий и файлов веб-приложения.

Задачи

Получить перечень директорий и файлов, которые не индексируются поисковыми системами.

Как тестировать
robots.txt

Различные поисковые роботы получая веб-страницу рекурсивно извлекают из нее ссылки, которые затем будут использованы. Их поведение регулируется файлом robots.txt, расположенном в корне веб-приложения.

Ниже приведено содержимое файла robots.txt сайта google.com, датируемый 11 августа 2013 года:


User-agent: *
Disallow: /search
Disallow: /sdch
Disallow: /groups
Disallow: /images
Disallow: /catalogs
...

Директива User-Agent относится к определенному роботу. Например, User-Agent: Googlebot относится к роботу от Google, в то время как User-Agent: bingbot относится к роботу от Microsoft/Yahoo. В рассмотренном нами примере директива User-Agent: * относится ко всем роботам.

Директива Disallow указывает ресурсы, запрещенные к индексированию роботами.

Роботы могут намеренно игнорировать директивы Disallow, указанные в файле robots.txt, таким могут заниматься роботы социальных сетей, проверяя доступность ссылок. Потому не стоит рассматривать robots.txt в качестве механизма ограничения доступа к какой-либо информации.

Получения robots.txt с помощью wget или curl

Файл robots.txt можно получить с помощью wget или curl:


cmlh$ wget http://www.google.com/robots.txt
--2013-08-11 14:40:36-- http://www.google.com/robots.txt
Resolving www.google.com... 74.125.237.17, 74.125.237.18, 74.125.237.19, ...
Connecting to www.google.com|74.125.237.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: ‘robots.txt.1’

[ <=> ] 7,074 —.-K/s in 0s

2013-08-11 14:40:37 (59.7 MB/s) — ‘robots.txt’ saved [7074]

cmlh$ head -n5 robots.txt
User-agent: *
Disallow: /search
Disallow: /sdch
Disallow: /groups
Disallow: /images
cmlh$


cmlh$ curl -O http://www.google.com/robots.txt
% Total  % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
101 7074 0 7074 0 0 9410 0 --:--:-- --:--:-- --:--:-- 27312

cmlh$ head -n5 robots.txt
User-agent: *
Disallow: /search
Disallow: /sdch
Disallow: /groups
Disallow: /images
cmlh$

Получение robots.txt с помощью rockspider

rockspider автоматически создает первоначальный список файлов и директорий веб-приложения для различных роботов, например, можно создать первоначальный список используя директиву Allowed:


cmlh$ ./rockspider.pl -www www.google.com

«Rockspider» Alpha v0.1_2

Copyright 2013 Christian Heinrich
Licensed under the Apache License, Version 2.0

1. Downloading http://www.google.com/robots.txt
2. «robots.txt» saved as «www.google.com-robots.txt»
3. Sending Allow: URIs of www.google.com to web proxy i.e. 127.0.0.1:8080
/catalogs/about sent
/catalogs/p? sent
/news/directory sent

4. Done.

cmlh$

Анализ robots.txt с помощью Google Webmaster Tools

Владельцы веб-приложений могут воспользоваться функцией Анализировать robots.txt, которая входит в состав Google Webmaster Tools (https://www.google.com/webmasters/tools), правда перед тем как использовать данные инструменты нужно подтвердить то, что вы являетесь владельцем тестируемого веб-приложения.

Тег META

META-тег «Robots» позволяет указывать роботам, можно ли индексировать данную страницу и можно ли использовать ссылки, приведенные на странице. Этот тег указывается на каждой конкретной странице, доступ к которой требуется ограничить. В этом простом примере: META NAME=»ROBOTS» CONTENT=»NOINDEX, NOFOLLOW» — робот не должен ни индексировать документ, ни анализировать стоящие на нем ссылки.

Для поиска тегов META на всех страницах стоит воспользоваться OWASP ZAP и дополнить полученными результатами список директорий и файлов, полученный из robots.txt.

Инструменты

  • Браузер
  • curl
  • wget
  • rockspider

Справочные материалы

  1. «The Web Robots Pages» — http://www.robotstxt.org/
  2. «Block and Remove Pages Using a robots.txt File» — https://support.google.com/webmasters/answer/156449
  3. «(ISC)2 Blog: The Attack of the Spiders from the Clouds» — http://blog.isc2.org/isc2_blog/2008/07/the-attack-of-t.html
  4. «Telstra customer database exposed» — http://www.smh.com.au/it-pro/security-it/telstra-customer-database-exposed-20111209-1on60.html