» »

Inurl php pagina какой заработок. Что такое PHP и как с его помощью можно заработать? Забираемся в облака

19.12.2023

От автора: привет, друзья! В данной статье мы с вами поговорим о языке программирования PHP. Узнаем, для чего он применяется, что с его помощью можно делать, и какое место он занимает в этапах разработки сайтов. Также в данной статье мы рассмотрим множество способов, как заработать, умея программировать на PHP.

Что такое PHP, и для чего он нужен?

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

PHP - это серверный язык программирования. Все скрипты, написанные на этом языке, выполняются на сервере с сайтом. Для изучения PHP, разработки и отладки сайтов и скриптов реальный сервер в интернете, конечно, можно не покупать. Для этих целей используются эмуляторы сервера, которые в виде программ просто устанавливаются на рабочий компьютер. А на сервере в интернете (хостинге) размещают уже готовые сайты и страницы с PHP скриптами. Кстати, почти все современные хостинги поддерживают язык PHP.

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

автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределенные массивы;

взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

автоматизированная отправка HTTP-заголовков;

работа с cookies и сессиями;

работа с локальными и удаленными файлами, сокетами;

обработка файлов, загружаемых на сервер;

работа с XForms.

Давайте рассмотрим пример, где же на странице работает скрипт PHP. Возьмем, к примеру, форму подписки, в которую вы вписываете свое имя и email на многих сайтах. За внешний вид формы - цвета полей ввода и кнопки, изменение цвета кнопки по наведению и нажатию на нее и так далее - отвечает HTML и CSS. С помощью HTML5 можно сделать проверку правильности данных, введенных в форму - например, правильно ли заполнены поля email или телефона.

А после того как вы нажали кнопку «Подписаться», вызывается PHP скрипт, который получает введенные вами в форму данные. Скрипт записывает их в базу данных, генерирует и высылает вам на почту, указанную в форме, ссылку для подтверждения подписки, проверяет подтверждение подписки и присылает вам последующие письма. Все эти операции выполняются на сервере, и делается это с использованием языка программирования PHP.

Применение PHP в разработке сайтов

Чтобы создать сайт, нужно последовательно пройти несколько этапов:

Планирование. На этом этапе мы планируем будущий сайт: для кого и для чего мы его делаем, кто будет посещать сайт, чем его наполнять, что должно быть на сайте и так далее.

Дизайн. На этапе дизайна мы создаем в графическом редакторе внешний вид страниц сайта.

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

Программирование. На этапе программирования автоматизируем процессы работы с сайтом. Программируем администраторскую часть сайта (админку), чтобы можно было добавлять, удалять, редактировать существующие страницы даже человеку, совершенно не знакомому с сайтостроением. Программируем, чтобы работал поиск и все формы подписки (если они есть) на сайте. Делаем так, чтобы вновь добавленная страница отображалась на сайте, и в меню автоматически появлялась ссылка на созданную страницу. Если на сайте используются голосование или опрос, то это тоже все программируется на PHP, на этапе программирования.

Если рассмотреть этап программирования более масштабного сайта, например, интернет-магазина - то здесь все еще шире и интереснее. В таком случае мы добавляем не только страницы, но еще и товары - основной контент интернет-магазина. Причем в админке нужно предусмотреть разбивку добавляемых товаров по различным категориям. Также должна быть возможность редактировать товар, менять его описание, цену, картинку и т.д.

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

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

Популярность PHP

О популярности PHP говорит тот факт, что он используется на 83,1% среди всех сайтов, на которых удалось определить язык программирования серверной части.

Все самые популярные CMS, которые занимают первые места в рейтингах популярности (как платные, так и бесплатные: WordPress, Joomla, Drupal, Modx, Bitrix. Magento и др.) - написаны на языке программирования PHP.

Также о популярности языка программирования PHP свидетельствует множество созданных PHP-фреймворков, таких как Laravel, Yii, CakePHP, Slim, Zend Framework 2, PHPixie, CodeIgniter, Symfony 2 и другие. Существует огромное количество форумов и крупных сообществ - в целом по PHP, по каждому фреймворку и по каждой CMS в отдельности.
Еще добавлю, что самые крупные мировые сайты, например, Facebook, Wikipedia - также написаны на PHP.

Как, имея знания по PHP, можно заработать?

Учитывая популярность PHP, есть постоянный высокий спрос на PHP-программистов. Имея знания по PHP и умея программировать на этом языке, вы откроете новые возможности для заработка. Давайте рассмотрим основные из них, с помощью которых сегодня действительно можно зарабатывать:

Заработок на разработке скриптов. Все сайты постоянно развиваются, и для них периодически требуется написание новых скриптов, либо разработка дополнительного функционала, модулей и пр. За подобными разработками владельцы сайтов обращаются к PHP-разработчикам. Причем в данном случае можно зарабатывать двумя способами:

отслеживать заказы о поиске разработчика на фрилансе;

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

Доработка готовых скриптов «на заказ». Здесь все просто - беретесь за доработку либо исправление какого-либо скрипта. Но в данном случае есть нюанс - изначально скрипт может быть сделан не очень качественно, и на его доработку может уйти времени больше, чем на написание скрипта «с нуля». Поэтому, если будете использовать подобный способ заработка, смотрите изначально очень внимательно на то, что вы будете дорабатывать и доделывать.

Разработка плагинов для CMS. В этом способе все то же самое, как и при заработке на скриптах. Часто для сайтов, созданных на готовых CMS, требуется написание какого-либо плагина, дополнения или расширения. И зарабатывать тут тоже можно двумя способами:

отслеживать заказы по разработке плагинов, дополнений и расширений на фрилансе;

разработать и продавать массовый плагин, который точно будет востребован на большинстве сайтов;

Свои и совместные проекты. Если у вас есть идея для проекта в интернете (стартапа), например, идея полезного сервиса или приложения, которое бы решало определенную проблему, то вы можете ее начать реализовывать. На начальном этапе это может быть просто даже как хобби, в дополнение к основной работе. Потом, когда будет видно, что хобби вырастает в большой проект, можно будет уделять ему больше времени.

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

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

Думаю, многих из вас посетила мысль о том, что все перечисленные выше методы заработка можно комбинировать. И это правильно! Вы можете создать сайт для себя и пассивно зарабатывать на продаже рекламы с него, плюс к этому создать скрипт или плагин и продавать его на специализированных площадках, зарабатывая на автопилоте с каждой продажи, и при этом еще можете работать в веб-студии. Почему нет? Конечно можно!

Сколько PHP-разработчик может зарабатывать?

С заработком PHP-программистов все индивидуально. Тут многое зависит от того, где работать, как работать, какой уровень знаний, какой опыт, квалификация, какими смежными дополнительными знаниями обладает разработчик и так далее. Поэтому никакой точной цифры тут в принципе быть не может. Но мы можем посмотреть, какую зарплату предлагают при поиске PHP-программистов в веб-студии, и сколько готовы платить за проект на биржах фриланса.

На изображении ниже показана предлагаемая оплата труда для PHP-программистов в веб-студии. Причем это оплаты труда PHP-программистам без опыта работы:

Если есть опыт работы, то зарабатывать можно гораздо больше. Ниже указаны зарплаты, предлагаемые PHP-программистам с опытом работы.

И на фрилансе сегодня тоже можно прилично зарабатывать:

Вывод

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

17.02.07 5.4K

Хочу разместить в помощь начинающим php программистам небольшую памятку. Что и как нужно делать чтобы изучить php и начать зарабатывать на своем ремесле. Если читающие хотят дать свой совет — прошу в камменты.

* Начнем с одного полезного тезиса — изучить php можно не тратя абсолютно никаких денег. Все необходимые материалы по php можно найти в сети, все ответы на вопросы можно найти на форумах… не нужно ходить на курсы, не нужно покупать книги (вообще книги стоит покупать если, лень искать материал в интернете) , не нужно тратить никаких денег.
* Изобретайте велосипеды. Всегда пишите код самостоятельно — это поможет вам в дальнейшем. Если вам нужна гостевая книга — напишите ее, не используйте готовые варианты, даже если вы просмотрите и поймете ее код, это не заменит самого программирования, поиска багов, отладки, решения проблем, связанных с написанием. В последствии, когда вы станете профессионалом, можно и даже нужно будет использовать сторонний код, но на этапе изучения это окажет вам плохую услугу. Можно пользоваться примерами и использовать чужой код как способ решить задачу или найти правильный алгоритм.
* Создавайте “домашние странички”. Это хорошая тренировка. Создание и развитие своей “домашней страницы” заставит вас постоянно совершенствовать свои умения, искать пути для улучшения сайта, соревноваться с другими обладателями “домашних страниц”.
* Объединяйтесь в группы. Попробуйте создать какой-нибудь проект не один, а объединившись с другими программистами. Уменее работать в команде, понимать чужой код и правильно общаться с коллективом поможет вам найти хорошую работу. Многие фирмы ставят одним из главных требований при трудоустройстве — уменее работать в команде.
* Не бросайте проект на пол пути. Старайтесь всегда доводить начатый проект до конца. Даже если надобность в нем отпала. Чем больше у вас законченных проектов, тем больший список работ вы можете написать в своем резюме. А ведь именно на готовые и законченные вещи работодатель смотрит в первую очередь.
* Беритесь за “копеечную” работу. Если ваш послужной список не богат, не стоит отказываться от малооплачиваемой работы. Приведу пример из жизни, когда я только начинал программировать за деньги я вышел на работу в он-лайн игре. Предлагали в общем копейки — 2 000 в месяц. Но я взялся и по мере того как работал все больше изучал особенности веб программирования. Через семь месяцев моя зарплата была 10 000 рублей. А сколько опыта я приобрел — просто не счесть.
* Создавайте большие проекты. Наличие в вашем послужном списке больших проектов — огромный вам плюс.
* Не задерживайтесь на работе, если вам стало не интересно. Если ваша работа превратилась в рутину и не приносит ничего нового, никаких знаний — бросайте ее. Это путь в никуда. Всегда цепляйтесь только за интересные проекты.
* Повышайте свои “общие” знания. Не стоит зацикливаться только на php, сейчас работодатель требует от программиста не только создания кода, но и уменее верстать страницы, настраивать сервер, составлять документацию, работать с javascript и многое другое. По большому счету сейчас никому не нужны просто веб программисты, а нужны веб мастера.
* Изучайте новые технологии. Новые технологии, такие как Ajax, всегда будут вашим козырем. Они производят на работодателя магическое действие.

Пожалуй на сегодня хватит. Есть еще много советов, но я дам их в других постах, если будет спрос 🙂

Хорошо Плохо

Похожие статьи

Добрый день уважаемые господа! В данной статье я хотел бы затронуть очень важную тему, а именно шаблоны в PHP. В этой статье я приведу простой, но работающий пример “шаблонов”, также мы рассмотрим все за и против использования шаблонов.

Запустите скаченный файл двойным кликом (нужно иметь виртуальную машину ).

3. Анонимность при проверке сайта на SQL-инъекции

Настройка Tor и Privoxy в Kali Linux

[Раздел в разработке]

Настройка Tor и Privoxy в Windows

[Раздел в разработке]

Настройки работы через прокси в jSQL Injection

[Раздел в разработке]

4. Проверка сайта на SQL-инъекции с jSQL Injection

Работа с программой крайне проста. Достаточно ввести адрес сайта и нажать ENTER.

На следующем скриншоте видно, что сайт уязвим сразу к трём видам SQL-инъекций (информация о них указана в правом нижнем углу). Кликая на названия инъекций можно переключить используемый метод:

Также нам уже выведены имеющиеся базы данных.

Можно посмотреть содержимое каждой таблицы:

Обычно, самым интересным в таблицах являются учётные данные администратора.

Если вам повезло и вы нашли данные администратора — то радоваться рано. Нужно ещё найти админку, куда эти данные вводить.

5. Поиск админок с jSQL Injection

Для этого переходите на следующую вкладку. Здесь нас встречает список возможных адресов. Можете выбрать одну или несколько страниц для проверки:

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

К сожалению, нерадивых программистов, которые хранят пароли в открытом виде, не очень много. Довольно часто в строке пароля мы видим что-нибудь вроде

8743b52063cd84097a65d1633f5c74f5

Это хеш. Расшифровать его можно брутфорсом. И… jSQL Injection имеет встроенный брутфорсер.

6. Брутфорсинг хешей с помощью jSQL Injection

Несомненным удобство является то, что не нужно искать другие программы. Здесь имеется поддержка множества самых популярных хешей.

Это не самый оптимальный вариант. Для того, чтобы стать гуру в расшифровке хешей, рекомендуется Книга « » на русском языке.

Но, конечно, когда под рукой нет другой программы или нет времени на изучение, jSQL Injection со встроенной функцией брут-форса придётся очень кстати.

Присутствуют настройки: можно задать какие символы входят в пароль, диапазон длины пароля.

7. Операции с файлами после обнаружения SQL-инъекций

Кроме операций с базами данных — их чтение и модификация, в случае обнаружения SQL-инъекций возможно выполнение следующих файловых операций:

  • чтение файлов на сервере
  • выгрузка новых файлов на сервер
  • выгрузка шеллов на сервер

И всё это реализовано в jSQL Injection!

Есть ограничения — у SQL-сервера должны быть файловые привилегии. У разумных системных администраторов они отключены и доступа к файловой системе получить не удастся.

Наличие файловых привилегий достаточно просто проверить. Перейдите в одну из вкладок (чтение файлов, создание шелла, закачка нового файла) и попытайтесь выполнить одну из указанных операций.

Ещё очень важное замечание — нам нужно знать точный абсолютный путь до файла с которым мы будем работать — иначе ничего не получится.

Посмотрите на следующий скриншот:

На любую попытку операции с файлом нам отвечают: No FILE privilege (нет файловых привелегий). И ничего здесь поделать нельзя.

Если вместо этого у вас другая ошибка:

Problem writing into [название_каталога]

Это означает, что вы неправильно указали абсолютный путь, в который нужно записывать файл.

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

Такая запись (строка Win64 ) даёт основание нам предположить, что мы имеем дело с ОС Windows:

Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Connection: Keep-Alive Method: HTTP/1.1 200 OK Content-Length: 353 Date: Fri, 11 Dec 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; charset=UTF-8

Здесь у нас какой-то из Unix (*BSD, Linux):

Transfer-Encoding: chunked Date: Fri, 11 Dec 2015 11:57:02 GMT Method: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X-Powered-By: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

А здесь у нас CentOS:

Method: HTTP/1.1 200 OK Expires: Thu, 19 Nov 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Connection: keep-alive X-Cache-Lookup: MISS from t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS from t1.hoster.ru Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Date: Fri, 11 Dec 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

В Windows типичной папкой для сайтов является C:\Server\data\htdocs\ . Но, на самом деле, если кто-то «додумался» делать сервер на Windows, то, весьма вероятно, этот человек ничего не слышал о привилегиях. Поэтому начинать попытки стоит прямо с каталога C:/Windows/:

Как видим, всё прошло прекрасно с первого раза.

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

8. Массовая проверка сайтов на SQL-инъекции

И даже эта функция есть у jSQL Injection. Всё предельно просто — загружаете список сайтов (можно импортировать из файла), выбираете те, которые хотите проверить и нажимаете соответствующую кнопку для начала операции.

Вывод по jSQL Injection

jSQL Injection хороший, мощный инструмент для поиска и последующего использования найденных на сайтах SQL-инъекций. Его несомненные плюсы: простота использования, встроенные сопутствующие функции. jSQL Injection может стать лучшим другом новичка при анализе веб-сайтов.

Из недостатков я бы отметил невозможность редактирования баз данных (по крайней мере я этого функционала не нашёл). Как и у всех инструментов с графическим интерфейсом, к недостаткам этой программы можно приписать невозможность использования в скриптах. Тем не менее некоторая автоматизация возможна и в этой программе — благодаря встроенной функции массовой проверки сайтов.

Установленного образца и сертификат . По специальная скидка на любые факультеты и курсы!

Курс: «Заработок на собственном сервисе по e-mail рассылкам» . Слив закрытой складчины за 33 тысячи рублей. На складчике отзывы разные. Исходя из отзывов, курс подойдет для не для всех, а только лишь для тех, кто уже сталкивался с подобными курсами или рассылками. Материал прислал анонимный пользователь с комментарием: «Сливаю этот курс так как меня забанили на складчике просто так. По курсу скажу одно, что для мелких рассылок подойдет. Новички ничего не поймут, но посмотреть для ознакомления могут. Отзывы разные, от комментирования удержался. Если вы хотите научиться рассылать массово письма — идите к Шелесту, он вам поможет. Я учился у него, а курс этот покупал только для общего развития. Надеюсь кому-нибудь будет полезно. » Материал может быть удален по запросу правообладателя! Оцениваем

Описание курса:

Уникальный авторский курс видео уроков Технология быстрого старта в email рассылках — Как рассылать email-письма в больших объемах «потенциальным» клиентам. С появлением тенденции развивать бизнес посредством интернета и постоянного увеличения числа активных интернет-пользователей,стали появляться различные обучающие курсы,как для новичков,так и для продвинутых пользователей. Этот курс предназначен для всех,кто интересуется,как эффективно получить трафик и продажи,не затрачивая на это огромные суммы.Самым эффективным и удобным инструментом для интернет-продаж является – продвижение услуг и товаров с помощью электронной почты (e-mail маркетинг).

Чтобы организовать профессиональный e-mail маркетинг,а не просто массовую почтовую рассылку,необходимо выработать системный подход,собрать базу подписчиков,автоматизировать этот процесс для увеличения стабильной прибыли,сформировать статистику и прочие задачи,которые трудно выполнить без профессиональной помощи. В этом курсе в качестве технология быстрого старта в email рассылках предлагается рассылать письма посредством VDS серверов.Зачем платить большие деньги за рассылку сервисам,если можно настроить ее самостоятельно? И получить возможность рассылать кому угодно,что угодно в больших объёмах письма своим клиентам. Этот курс поможет настроить VDS сервер для автоматической рассылки писем и создания профессионального e-mail маркетинга,при этом любой пользователь сможет выполнить настройку,просто повторяя пошаговую инструкцию из видеокурса автора. Крутые инструменты передовой опыт! Прелесть SET заключается в том,что он написан на Python и при этом не требует никаких сторонних питоновских модулей,которые бы пришлось устанавливать дополнительно.Работа ведется через интерактивное меню,где лишь необходимо выбирать желаемые пункты работы приложения.На каждом шаге меню сопровождается хорошим описанием предлагаемых подпунктов,так что справится даже ребенок (тут становится немного страшно) Но сам toolkit оттюнинговать в некоторых ситуациях просто необходимо,и для этого придется обратиться к файлу настроек.

Что Вы узнаете из курса:

  • Настройка vds для email рассылок
  • Как обходить спам фильтры.Причины,по которым письма попадают в спам
  • Как легко и быстро уникализировать письма
  • Как собирать 100% рабочие и живые e-mail адреса,и не просто адреса,а e-mail
  • адреса вашей целевой аудитории
  • Как работать с SMTP и как поднимать SMTP сервера
  • Получите весь нужный софт
  • Как заработать рассылая письма,с какими партнерками работать
  • Генерация шаблона с последующей его заливкой на ВДС сервер(а)
  • Извлечение email,сканирование inurl (readme.txt)
  • Создание баз — чистка,разбивка,удаление дублей email

Получение частных данных не всегда означает взлом - иногда они опубликованы в общем доступе. Знание настроек Google и немного смекалки позволят найти массу интересного - от номеров кредиток до документов ФБР.

WARNING

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

К интернету сегодня подключают всё подряд, мало заботясь об ограничении доступа. Поэтому многие приватные данные становятся добычей поисковиков. Роботы-«пауки» уже не ограничиваются веб-страницами, а индексируют весь доступный в Сети контент и постоянно добавляют в свои базы не предназначенную для разглашения информацию. Узнать эти секреты просто - нужно лишь знать, как именно спросить о них.

Ищем файлы

В умелых руках Google быстро найдет все, что плохо лежит в Сети, - например, личную информацию и файлы для служебного использования. Их частенько прячут, как ключ под половиком: настоящих ограничений доступа нет, данные просто лежат на задворках сайта, куда не ведут ссылки. Стандартный веб-интерфейс Google предоставляет лишь базовые настройки расширенного поиска, но даже их будет достаточно.

Ограничить поиск по файлам определенного вида в Google можно с помощью двух операторов: filetype и ext . Первый задает формат, который поисковик определил по заголовку файла, второй - расширение файла, независимо от его внутреннего содержимого. При поиске в обоих случаях нужно указывать лишь расширение. Изначально оператор ext было удобно использовать в тех случаях, когда специфические признаки формата у файла отсутствовали (например, для поиска конфигурационных файлов ini и cfg, внутри которых может быть все что угодно). Сейчас алгоритмы Google изменились, и видимой разницы между операторами нет - результаты в большинстве случаев выходят одинаковые.


Фильтруем выдачу

По умолчанию слова и вообще любые введенные символы Google ищет по всем файлам на проиндексированных страницах. Ограничить область поиска можно по домену верхнего уровня, конкретному сайту или по месту расположения искомой последовательности в самих файлах. Для первых двух вариантов используется оператор site, после которого вводится имя домена или выбранного сайта. В третьем случае целый набор операторов позволяет искать информацию в служебных полях и метаданных. Например, allinurl отыщет заданное в теле самих ссылок, allinanchor - в тексте, снабженном тегом , allintitle - в заголовках страниц, allintext - в теле страниц.

Для каждого оператора есть облегченная версия с более коротким названием (без приставки all). Разница в том, что allinurl отыщет ссылки со всеми словами, а inurl - только с первым из них. Второе и последующие слова из запроса могут встречаться на веб-страницах где угодно. Оператор inurl тоже имеет отличия от другого схожего по смыслу - site . Первый также позволяет находить любую последовательность символов в ссылке на искомый документ (например, /cgi-bin/), что широко используется для поиска компонентов с известными уязвимостями.

Попробуем на практике. Берем фильтр allintext и делаем так, чтобы запрос выдал список номеров и проверочных кодов кредиток, срок действия которых истечет только через два года (или когда их владельцам надоест кормить всех подряд).

Allintext: card number expiration date /2017 cvv

Когда читаешь в новостях, что юный хакер «взломал серверы» Пентагона или NASA, украв секретные сведения, то в большинстве случаев речь идет именно о такой элементарной технике использования Google. Предположим, нас интересует список сотрудников NASA и их контактные данные. Наверняка такой перечень есть в электронном виде. Для удобства или по недосмотру он может лежать и на самом сайте организации. Логично, что в этом случае на него не будет ссылок, поскольку предназначен он для внутреннего использования. Какие слова могут быть в таком файле? Как минимум - поле «адрес». Проверить все эти предположения проще простого.


Inurl:nasa.gov filetype:xlsx "address"


Пользуемся бюрократией

Подобные находки - приятная мелочь. По-настоящему же солидный улов обеспечивает более детальное знание операторов Google для веб-мастеров, самой Сети и особенностей структуры искомого. Зная детали, можно легко отфильтровать выдачу и уточнить свойства нужных файлов, чтобы в остатке получить действительно ценные данные. Забавно, что здесь на помощь приходит бюрократия. Она плодит типовые формулировки, по которым удобно искать случайно просочившиеся в Сеть секретные сведения.

Например, обязательный в канцелярии министерства обороны США штамп Distribution statement означает стандартизированные ограничения на распространение документа. Литерой A отмечаются публичные релизы, в которых нет ничего секретного; B - предназначенные только для внутреннего использования, C - строго конфиденциальные и так далее до F. Отдельно стоит литера X, которой отмечены особо ценные сведения, представляющие государственную тайну высшего уровня. Пускай такие документы ищут те, кому это положено делать по долгу службы, а мы ограничимся файлами с литерой С. Согласно директиве DoDI 5230.24, такая маркировка присваивается документам, содержащим описание критически важных технологий, попадающих под экспортный контроль. Обнаружить столь тщательно охраняемые сведения можно на сайтах в домене верхнего уровня.mil, выделенного для армии США.

"DISTRIBUTION STATEMENT C" inurl:navy.mil

Очень удобно, что в домене.mil собраны только сайты из ведомства МО США и его контрактных организаций. Поисковая выдача с ограничением по домену получается исключительно чистой, а заголовки - говорящими сами за себя. Искать подобным образом российские секреты практически бесполезно: в доменах.ru и.рф царит хаос, да и названия многих систем вооружения звучат как ботанические (ПП «Кипарис», САУ «Акация») или вовсе сказочные (ТОС «Буратино»).


Внимательно изучив любой документ с сайта в домене.mil, можно увидеть и другие маркеры для уточнения поиска. Например, отсылку к экспортным ограничениям «Sec 2751», по которой также удобно искать интересную техническую информацию. Время от времени ее изымают с официальных сайтов, где она однажды засветилась, поэтому, если в поисковой выдаче не удается перейти по интересной ссылке, воспользуйся кешем Гугла (оператор cache) или сайтом Internet Archive.

Забираемся в облака

Помимо случайно рассекреченных документов правительственных ведомств, в кеше Гугла временами всплывают ссылки на личные файлы из Dropbox и других сервисов хранения данных, которые создают «приватные» ссылки на публично опубликованные данные. С альтернативными и самодельными сервисами еще хуже. Например, следующий запрос находит данные всех клиентов Verizon, у которых на роутере установлен и активно используется FTP-сервер.

Allinurl:ftp:// verizon.net

Таких умников сейчас нашлось больше сорока тысяч, а весной 2015-го их было на порядок больше. Вместо Verizon.net можно подставить имя любого известного провайдера, и чем он будет известнее, тем крупнее может быть улов. Через встроенный FTP-сервер видно файлы на подключенном к маршрутизатору внешнем накопителе. Обычно это NAS для удаленной работы, персональное облако или какая-нибудь пиринговая качалка файлов. Все содержимое таких носителей оказывается проиндексировано Google и другими поисковиками, поэтому получить доступ к хранящимся на внешних дисках файлам можно по прямой ссылке.

Подсматриваем конфиги

До повальной миграции в облака в качестве удаленных хранилищ рулили простые FTP-серверы, в которых тоже хватало уязвимостей. Многие из них актуальны до сих пор. Например, у популярной программы WS_FTP Professional данные о конфигурации, пользовательских аккаунтах и паролях хранятся в файле ws_ftp.ini . Его просто найти и прочитать, поскольку все записи сохраняются в текстовом формате, а пароли шифруются алгоритмом Triple DES после минимальной обфускации. В большинстве версий достаточно просто отбросить первый байт.

Расшифровать такие пароли легко с помощью утилиты WS_FTP Password Decryptor или бесплатного веб-сервиса .

Говоря о взломе произвольного сайта, обычно подразумевают получение пароля из логов и бэкапов конфигурационных файлов CMS или приложений для электронной коммерции. Если знаешь их типовую структуру, то легко сможешь указать ключевые слова. Строки, подобные встречающимся в ws_ftp.ini , крайне распространены. Например, в Drupal и PrestaShop обязательно есть идентификатор пользователя (UID) и соответствующий ему пароль (pwd), а хранится вся информация в файлах с расширением.inc. Искать их можно следующим образом:

"pwd=" "UID=" ext:inc

Раскрываем пароли от СУБД

В конфигурационных файлах SQL-серверов имена и адреса электронной почты пользователей хранятся в открытом виде, а вместо паролей записаны их хеши MD5. Расшифровать их, строго говоря, невозможно, однако можно найти соответствие среди известных пар хеш - пароль.

До сих пор встречаются СУБД, в которых не используется даже хеширование паролей. Конфигурационные файлы любой из них можно просто посмотреть в браузере.

Intext:DB_PASSWORD filetype:env

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

Filetype:reg HKEY_CURRENT_USER "Password"=

Не забываем про очевидное

Иногда добраться до закрытой информации удается с помощью случайно открытых и попавших в поле зрения Google данных. Идеальный вариант - найти список паролей в каком-нибудь распространенном формате. Хранить сведения аккаунтов в текстовом файле, документе Word или электронной таблице Excel могут только отчаянные люди, но как раз их всегда хватает.

Filetype:xls inurl:password

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

Список каталогов и файлов на любом сайте предваряется стандартной надписью index of. Поскольку для служебных целей она должна встречаться в заголовке, то имеет смысл ограничить ее поиск оператором intitle . Интересные вещи находятся в каталогах /admin/, /personal/, /etc/ и даже /secret/.

Следим за обновлениями

Актуальность тут крайне важна: старые уязвимости закрывают очень медленно, но Google и его поисковая выдача меняются постоянно. Есть разница даже между фильтром «за последнюю секунду» (&tbs=qdr:s в конце урла запроса) и «в реальном времени» (&tbs=qdr:1).

Временной интервал даты последнего обновления файла у Google тоже указывается неявно. Через графический веб-интерфейс можно выбрать один из типовых периодов (час, день, неделя и так далее) либо задать диапазон дат, но такой способ не годится для автоматизации.

По виду адресной строки можно догадаться только о способе ограничить вывод результатов с помощью конструкции &tbs=qdr: . Буква y после нее задает лимит в один год (&tbs=qdr:y), m показывает результаты за последний месяц, w - за неделю, d - за прошедший день, h - за последний час, n - за минуту, а s - за секунду. Самые свежие результаты, только что ставшие известными Google, находится при помощи фильтра &tbs=qdr:1 .

Если требуется написать хитрый скрипт, то будет полезно знать, что диапазон дат задается в Google в юлианском формате через оператор daterange . Например, вот так можно найти список документов PDF со словом confidential, загруженных c 1 января по 1 июля 2015 года.

Confidential filetype:pdf daterange:2457024-2457205

Диапазон указывается в формате юлианских дат без учета дробной части. Переводить их вручную с григорианского календаря неудобно. Проще воспользоваться конвертером дат .

Таргетируемся и снова фильтруем

Помимо указания дополнительных операторов в поисковом запросе их можно отправлять прямо в теле ссылки. Например, уточнению filetype:pdf соответствует конструкция as_filetype=pdf . Таким образом удобно задавать любые уточнения. Допустим, выдача результатов только из Республики Гондурас задается добавлением в поисковый URL конструкции cr=countryHN , а только из города Бобруйск - gcs=Bobruisk . В разделе для разработчиков можно найти полный список .

Средства автоматизации Google призваны облегчить жизнь, но часто добавляют проблем. Например, по IP пользователя через WHOIS определяется его город. На основании этой информации в Google не только балансируется нагрузка между серверами, но и меняются результаты поисковой выдачи. В зависимости от региона при одном и том же запросе на первую страницу попадут разные результаты, а часть из них может вовсе оказаться скрытой. Почувствовать себя космополитом и искать информацию из любой страны поможет ее двухбуквенный код после директивы gl=country . Например, код Нидерландов - NL, а Ватикану и Северной Корее в Google свой код не положен.

Часто поисковая выдача оказывается замусоренной даже после использования нескольких продвинутых фильтров. В таком случае легко уточнить запрос, добавив к нему несколько слов-исключений (перед каждым из них ставится знак минус). Например, со словом Personal часто употребляются banking , names и tutorial . Поэтому более чистые поисковые результаты покажет не хрестоматийный пример запроса, а уточненный:

Intitle:"Index of /Personal/" -names -tutorial -banking

Пример напоследок

Искушенный хакер отличается тем, что обеспечивает себя всем необходимым самостоятельно. Например, VPN - штука удобная, но либо дорогая, либо временная и с ограничениями. Оформлять подписку для себя одного слишком накладно. Хорошо, что есть групповые подписки, а с помощью Google легко стать частью какой-нибудь группы. Для этого достаточно найти файл конфигурации Cisco VPN, у которого довольно нестандартное расширение PCF и узнаваемый путь: Program Files\Cisco Systems\VPN Client\Profiles . Один запрос, и ты вливаешься, к примеру, в дружный коллектив Боннского университета.

Filetype:pcf vpn OR Group

INFO

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

Пароли хранятся в зашифрованном виде, но Морис Массар уже написал программу для их расшифровки и предоставляет ее бесплатно через thecampusgeeks.com .

При помощи Google выполняются сотни разных типов атак и тестов на проникновение. Есть множество вариантов, затрагивающих популярные программы, основные форматы баз данных, многочисленные уязвимости PHP, облаков и так далее. Если точно представлять то, что ищешь, это сильно упростит получение нужной информации (особенно той, которую не планировали делать всеобщим достоянием). Не Shodan единый питает интересными идеями, но всякая база проиндексированных сетевых ресурсов!