Инструкция по использованию jSQL Injection — многофункционального инструмента поиска и эксплуатации SQL-инъекций в Kali Linux. О дорках или всем любителям приватных дорок Просмотр списка файлов в директориях

Поисковая система Google (www.google.com) предоставляет множество возможностей для поиска. Все эти возможности – неоценимый инструмент поиска для пользователя впервые попавшего в Интернет и в то же время еще более мощное оружие вторжения и разрушения в руках людей с злыми намерениями, включая не только хакеров, но и некомпьютерных преступников и даже террористов.
(9475 просмотров за 1 неделю)

Денис Батранков
denisNOSPAMixi.ru

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

Введение

Я, например, за 0.14 секунд нашел 1670 страниц!

2. Введем другую строку, например:

inurl:"auth_user_file.txt"

немного меньше, но этого уже достаточно для свободного скачивания и для подбора паролей (при помощи того же John The Ripper). Ниже я приведу еще ряд примеров.

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

Впервые информация о Google Hacking появилась на рассылке Bugtruck еще 3 года назад. В 2001 году эта тема была поднята одним французским студентом. Вот ссылка на это письмо http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html . В нем приведены первые примеры таких запросов:

1) Index of /admin
2) Index of /password
3) Index of /mail
4) Index of / +banques +filetype:xls (for france...)
5) Index of / +passwd
6) Index of / password.txt

Нашумела эта тема в англо-читающей части Интернета совершенно недавно: после статьи Johnny Long вышедшей 7 мая 2004 года. Для более полного изучения Google Hacking советую зайти на сайт этого автора http://johnny.ihackstuff.com . В этой статье я лишь хочу ввести вас в курс дела.

Кем это может быть использовано:
- Журналисты, шпионы и все те люди, кто любит совать нос не в свои дела, могут использовать это для поиска компромата.
- Хакеры, разыскивающие подходящие цели для взлома.

Как работает Google.

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

Поиск при помощи знака +

Google исключает из поиска неважные, по его мнению, слова. Например вопросительные слова, предлоги и артикли в английском языке: например are, of, where. В русском языке Google, похоже, все слова считает важными. Если слово исключается из поиска, то Google пишет об этом. Чтобы Google начал искать страницы с этими словами перед ними нужно добавить знак + без пробела перед словом. Например:

ace +of base

Поиск при помощи знака –

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

рыбалка -водка

Поиск при помощи знака ~

Возможно, что вы захотите найти не только указанное слово, но также и его синонимы. Для этого перед словом укажите символ ~.

Поиск точной фразы при помощи двойных кавычек

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

"подставка для книг"

Чтобы было хоть одно из указанных слов нужно указать логическую операцию явно: OR. Например:

книга безопасность OR защита

Кроме того в строке поиска можно использовать знак * для обозначения любого слова и. для обозначения любого символа.

Поиск слов при помощи дополнительных операторов

Существуют поисковые операторы, которые указываются в строке поиска в формате:

operator:search_term

Пробелы рядом с двоеточием не нужны. Если вы вставите пробел после двоеточия, то увидите сообщение об ошибке, а перед ним, то Google будет использовать их как обычную строку для поиска.
Существуют группы дополнительных операторов поиска: языки - указывают на каком языке вы хотите увидеть результат, дата - ограничивают результаты за прошедшие три, шесть или 12 месяцев, вхождения - указывают в каком месте документа нужно искать строку: везде, в заголовке, в URL, домены - производить поиск по указанному сайту или наоборот исключить его из поиска, безопасный поиск - блокируют сайты содержащие указанный тип информации и удаляют их со страниц результатов поиска.
При этом некоторые операторы не нуждаются в дополнительном параметре, например запрос "cache:www.google.com " может быть вызван, как полноценная строка для поиска, а некоторые ключевые слова, наоборот, требуют наличия слова для поиска, например " site:www.google.com help ". В свете нашей тематики посмотрим на следующие операторы:

Оператор

Описание

Требует дополнительного параметра?

поиск только по указанному в search_term сайту

поиск только в документах с типом search_term

найти страницы, содержащие search_term в заголовке

найти страницы, содержащие все слова search_term в заголовке

найти страницы, содержащие слово search_term в своем адресе

найти страницы, содержащие все слова search_term в своем адресе

Оператор site: ограничивает поиск только по указанному сайту, причем можно указать не только доменное имя, но и IP адрес. Например, введите:

Оператор filetype: ограничивает поиск в файлах определенного типа. Например:

На дату выхода статьи Googlе может искать внутри 13 различных форматов файлов:

  • Adobe Portable Document Format (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus WordPro (lwp)
  • MacWrite (mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (wri)
  • Rich Text Format (rtf)
  • Shockwave Flash (swf)
  • Text (ans, txt)

Оператор link: показывает все страницы, которые указывают на указанную страницу.
Наверно всегда интересно посмотреть, как много мест в Интернете знают о тебе. Пробуем:

Оператор cache: показывает версию сайта в кеше Google, как она выглядела, когда Google последний раз посещал эту страницу. Берем любой, часто меняющийся сайт и смотрим:

Оператор intitle: ищет указанное слово в заголовке страницы. Оператор allintitle: является расширением – он ищет все указанные несколько слов в заголовке страницы. Сравните:

intitle:полет на марс
intitle:полет intitle:на intitle:марс
allintitle:полет на марс

Оператор inurl: заставляет Google показать все страницы содержащие в URL указанную строку. Оператор allinurl: ищет все слова в URL. Например:

allinurl:acid acid_stat_alerts.php

Эта команда особенно полезна для тех, у кого нет SNORT – хоть смогут посмотреть, как он работает на реальной системе.

Методы взлома при помощи Google

Итак, мы выяснили что, используя комбинацию вышеперечисленных операторов и ключевых слов, любой человек может заняться сбором нужной информации и поиском уязвимостей. Эти технические приемы часто называют Google Hacking.

Карта сайта

Можно использовать оператор site: для просмотра всех ссылок, которые Google нашел на сайте. Обычно страницы, которые динамически создаются скриптами, при помощи параметров не индексируются, поэтому некоторые сайты используют ISAPI фильтры, чтобы ссылки были не в виде /article.asp?num=10&dst=5 , а со слешами /article/abc/num/10/dst/5 . Это сделано для того, чтобы сайт вообще индексировался поисковиками.

Попробуем:

site:www.whitehouse.gov whitehouse

Google думает, что каждая страница сайта содержит слово whitehouse. Этим мы и пользуемся, чтобы получить все страницы.
Есть и упрощенный вариант:

site:whitehouse.gov

И что самое приятное - товарищи с whitehouse.gov даже не узнали, что мы посмотрели на структуру их сайта и даже заглянули в кэшированные странички, которые скачал себе Google. Это может быть использовано для изучения структуры сайтов и просмотра содержимого, оставаясь незамеченным до поры до времени.

Просмотр списка файлов в директориях

WEB серверы могут показывать списки директорий сервера вместо обычных HTML страниц. Обычно это делается для того, чтобы пользователи выбирали и скачивали определенные файлы. Однако во многих случаях у администраторов нет цели показать содержимое директории. Это возникает вследствие неправильной конфигурации сервера или отсутствия главной страницы в директории. В результате у хакера появляется шанс найти что-нибудь интересное в директории и воспользоваться этим для своих целей. Чтобы найти все такие страницы, достаточно заметить, что все они содержат в своем заголовке слова: index of. Но поскольку слова index of содержат не только такие страницы, то нужно уточнить запрос и учесть ключевые слова на самой странице, поэтому нам подойдут запросы вида:

intitle:index.of parent directory
intitle:index.of name size

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

Получение версии WEB сервера.

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

Apache1.3.29 - ProXad Server at trf296.free.fr Port 80

Опытный администратор может подменить эту информацию, но, как правило, она соответствует истине. Таким образом, чтобы получить эту информацию достаточно послать запрос:

intitle:index.of server.at

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

intitle:index.of server.at site:ibm.com

Или наоборот ищем сервера работающие на определенной версии сервера:

intitle:index.of Apache/2.0.40 Server at

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

Также можно получить версию сервера, просматривая страницы, которые по умолчанию устанавливаются при установке свежей версии WEB сервера. Например, чтобы увидеть тестовую страницу Apache 1.2.6 достаточно набрать

intitle:Test.Page.for.Apache it.worked!

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

Попробуйте найти страницы IIS 5.0

allintitle:Welcome to Windows 2000 Internet Services

В случае с IIS можно определить не только версию сервера, но и версию Windows и Service Pack.

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

inurl:manual apache directives modules

Использование Google как CGI сканера.

CGI сканер или WEB сканер – утилита для поиска уязвимых скриптов и программ на сервере жертвы. Эти утилиты должны знать что искать, для этого у них есть целый список уязвимых файлов, например:

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

Мы может найти каждый из этих файлов с помощью Google, используя дополнительно с именем файла в строке поиска слова index of или inurl: мы можем найти сайты с уязвимыми скриптами, например:

allinurl:/random_banner/index.cgi

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

Как защитить себя от взлома через Google.

1. Не выкладывайте важные данные на WEB сервер.

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

2. Проверьте свой сайт.

Используйте описанные методы, для исследования своего сайта. Проверяйте периодически свой сайт новыми методами, которые появляются на сайте http://johnny.ihackstuff.com . Помните, что если вы хотите автоматизировать свои действия, то нужно получить специальное разрешение от Google. Если внимательно прочитать http://www.google.com/terms_of_service.html , то вы увидите фразу: You may not send automated queries of any sort to Google"s system without express permission in advance from Google.

3. Возможно, вам не нужно чтобы Google индексировал ваш сайт или его часть.

Google позволяет удалить ссылку на свой сайт или его часть из своей базы, а также удалить страницы из кэша. Кроме того вы можете запретить поиск изображений на вашем сайте, запретить показывать короткие фрагменты страниц в результатах поиска Все возможности по удалению сайта описаны на сранице http://www.google.com/remove.html . Для этого вы должны подтвердить, что вы действительно владелец этого сайта или вставить на страницу теги или

4. Используйте robots.txt

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

User-agent: *
Disallow: /

Что еще бывает

Чтобы жизнь вам медом не казалась, скажу напоследок, что существуют сайты, которые следят за теми людьми, которые, используя вышеизложенные выше методы, разыскивают дыры в скриптах и WEB серверах. Примером такой страницы является

Приложение.

Немного сладкого. Попробуйте сами что-нибудь из следующего списка:

1. #mysql dump filetype:sql - поиск дампов баз данных mySQL
2. Host Vulnerability Summary Report - покажет вам какие уязвимости нашли другие люди
3. phpMyAdmin running on inurl:main.php - это заставит закрыть управление через панель phpmyadmin
4. not for distribution confidential
5. Request Details Control Tree Server Variables
6. Running in Child mode
7. This report was generated by WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs – может кому нужны кофигурационные файлы файрволов? :)
10. intitle:index.of finances.xls – мда....
11. intitle:Index of dbconvert.exe chats – логи icq чата
12. intext:Tobias Oetiker traffic analysis
13. intitle:Usage Statistics for Generated by Webalizer
14. intitle:statistics of advanced web statistics
15. intitle:index.of ws_ftp.ini – конфиг ws ftp
16. inurl:ipsec.secrets holds shared secrets – секретный ключ – хорошая находка
17. inurl:main.php Welcome to phpMyAdmin
18. inurl:server-info Apache Server Information
19. site:edu admin grades
20. ORA-00921: unexpected end of SQL command – получаем пути
21. intitle:index.of trillian.ini
22. intitle:Index of pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25. inurl:passlist.txt
26. intitle:Index of .mysql_history
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Hacking mit Google"
  • Учебный центр "Информзащита" http://www.itsecurity.ru - ведущий специализированный центр в области обучения информационной безопасности (Лицензия Московского Комитета образования № 015470, Государственная аккредитация № 004251). Единственный авторизованный учебный центр компаний Internet Security Systems и Clearswift на территории России и стран СНГ. Авторизованный учебный центр компании Microsoft (специализация Security). Программы обучения согласованы с Гостехкомиссией России, ФСБ (ФАПСИ). Свидетельства об обучении и государственные документы о повышении квалификации.

    Компания SoftKey – это уникальный сервис для покупателей, разработчиков, дилеров и аффилиат–партнеров. Кроме того, это один из лучших Интернет-магазинов ПО в России, Украине, Казахстане, который предлагает покупателям широкий ассортимент, множество способов оплаты, оперативную (часто мгновенную) обработку заказа, отслеживание процесса выполнения заказа в персональном разделе, различные скидки от магазина и производителей ПО.

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

    Inurl:pageid= inurl:games.php?id= inurl:page.php?file= inurl:newsDetail.php?id= inurl:gallery.php?id= inurl:article.php?id= inurl:show.php?id= inurl:staff_id= inurl:newsitem.php?num= inurl:readnews.php?id= inurl:top10.php?cat= inurl:historialeer.php?num= inurl:reagir.php?num= inurl:Stray-Questions-View.php?num= inurl:forum_bds.php?num= inurl:game.php?id= inurl:view_product.php?id= inurl:newsone.php?id= inurl:sw_comment.php?id= inurl:news.php?id= inurl:avd_start.php?avd= inurl:event.php?id= inurl:product-item.php?id= inurl:sql.php?id= inurl:news_view.php?id= inurl:select_biblio.php?id= inurl:humor.php?id= inurl:aboutbook.php?id= inurl:ogl_inet.php?ogl_id= inurl:fiche_spectacle.php?id= inurl:communique_detail.php?id= inurl:sem.php3?id= inurl:kategorie.php4?id= inurl:news.php?id= inurl:index.php?id= inurl:faq2.php?id= inurl:show_an.php?id= inurl:preview.php?id= inurl:loadpsb.php?id= inurl:opinions.php?id= inurl:spr.php?id= inurl:pages.php?id= inurl:announce.php?id= inurl:clanek.php4?id= inurl:participant.php?id= inurl:download.php?id= inurl:main.php?id= inurl:review.php?id= inurl:chappies.php?id= inurl:read.php?id= inurl:prod_detail.php?id= inurl:viewphoto.php?id= inurl:article.php?id= inurl:person.php?id= inurl:productinfo.php?id= inurl:showimg.php?id= inurl:view.php?id= inurl:website.php?id= inurl:hosting_info.php?id= inurl:gallery.php?id= inurl:rub.php?idr= inurl:view_faq.php?id= inurl:artikelinfo.php?id= inurl:detail.php?ID= inurl:index.php?= inurl:profile_view.php?id= inurl:category.php?id= inurl:publications.php?id= inurl:fellows.php?id= inurl:downloads_info.php?id= inurl:prod_info.php?id= inurl:shop.php?do=part&id= inurl:productinfo.php?id= inurl:collectionitem.php?id= inurl:band_info.php?id= inurl:product.php?id= inurl:releases.php?id= inurl:ray.php?id= inurl:produit.php?id= inurl:pop.php?id= inurl:shopping.php?id= inurl:productdetail.php?id= inurl:post.php?id= inurl:viewshowdetail.php?id= inurl:clubpage.php?id= inurl:memberInfo.php?id= inurl:section.php?id= inurl:theme.php?id= inurl:page.php?id= inurl:shredder-categories.php?id= inurl:tradeCategory.php?id= inurl:product_ranges_view.php?ID= inurl:shop_category.php?id= inurl:transcript.php?id= inurl:channel_id= inurl:item_id= inurl:newsid= inurl:trainers.php?id= inurl:news-full.php?id= inurl:news_display.php?getid= inurl:index2.php?option= inurl:readnews.php?id= inurl:top10.php?cat= inurl:newsone.php?id= inurl:event.php?id= inurl:product-item.php?id= inurl:sql.php?id= inurl:aboutbook.php?id= inurl:preview.php?id= inurl:loadpsb.php?id= inurl:pages.php?id= inurl:material.php?id= inurl:clanek.php4?id= inurl:announce.php?id= inurl:chappies.php?id= inurl:read.php?id= inurl:viewapp.php?id= inurl:viewphoto.php?id= inurl:rub.php?idr= inurl:galeri_info.php?l= inurl:review.php?id= inurl:iniziativa.php?in= inurl:curriculum.php?id= inurl:labels.php?id= inurl:story.php?id= inurl:look.php?ID= inurl:newsone.php?id= inurl:aboutbook.php?id= inurl:material.php?id= inurl:opinions.php?id= inurl:announce.php?id= inurl:rub.php?idr= inurl:galeri_info.php?l= inurl:tekst.php?idt= inurl:newscat.php?id= inurl:newsticker_info.php?idn= inurl:rubrika.php?idr= inurl:rubp.php?idr= inurl:offer.php?idf= inurl:art.php?idm= inurl:title.php?id= inurl:".php?id=1" inurl:".php?cat=1" inurl:".php?catid=1" inurl:".php?num=1" inurl:".php?bid=1" inurl:".php?pid=1" inurl:".php?nid=1"

    вот небольшой списочек. Можете использовать свои. И так, мы нашли сайт. Например http://www.vestitambov.ru/
    Далее качаем эту программу

    **Hidden Content: To see this hidden content your post count must be 3 or greater.**

    Жмем ОК. Затем вставляем сайт жертву.
    Жмем старт. Далее ждем результатов.
    И так, программа нашла SQL уязвимость.

    Далее качаем Havij, http://www.vestitambov.ru:80/index.php?module=group_programs&id_gp= вставляем полученную ссылку туда. Объяснять как пользоваться Havij и где качать не буду, найти его не трудно. Все. Вы получили нужные вам данные - пароль администратора, а дальше дело уже вашей фантазии.

    П.С. Это моя первая попытка что-то написать. Извиняюсь если что не так

    Слито

    Привет всем ребят!
    Я сразу хочу сказать я не являюсь специалистом глубокого профиля - есть люди и умнее и с более глубокими знаниями. Для меня лично это хобби. Но есть люди которые знают меньше чем я - в первую очередь материал рассчитан не для совсем дурачков, но и супер про не нужно быть что бы его понять.
    Многие из нас привыкли считать что дорка - это уязвимость, увы вы ошибались - по сути своей дорка - это поисковый запрос отправляемый в поисковик.
    То есть слово index.php?id= дорка
    но и слово Shop - тоже дорка.
    Для того что бы понимать чего вы хотите вы должны быть четко усведомленны какие ваши требования к поисковику. Обычного вида дорка index.php?id= можно поделить на
    index - ключ
    .php? - код с указанием что нужен сайт стоящий на Php
    id= идентификатор чего либо на сайте
    id=2 в нашем случае 2 - это указание с каким параметром нужно спарсить идентификатор.
    Если вы напишите index.php?id=2 то будут сайты только где id=2, в случае несовпадения сайт отсеится. По этой причине писать точное указание идентификатору не имеет смысла - поскольку он может 1,2,3,4,5 и до бесконечности.
    Если же вы решили создать точную дорку, допустим под стим то имеет смысл придать ей такой вид
    inurl:game* +intext:"csgo"
    она будет в урле сайта парсить слово game* (где * произвольное количество символов после слова game - ведь может быть games и тому подобное)
    Так же стоит использовать такой оператор как intitle:
    Если вы увидели хороший игровой сайт или у вас есть список уязвимых игровых сайтов
    есть смысл юзнуть для парсинга оператор related :
    Для related: подойдет значение в виде ссылки на сайт

    related: ***
    - он найдет все сайты с точки зрения поисковика похожи на указанный
    Запомните - дорка это парсинг - это не дырка.
    Дырка, она же уязвимость обнаруживается сканнером на основе спарсенного вами.
    Я лично не советую юзать большое количество префиксов (поисковых операторов) когда вы работаете без проксей.
    Расскажу вам о методе создания приватных дорок под страну
    Для того что бы создать дорку вида index.php?id= нам придется её разобрать
    index - мы заменим на произвольное слово
    .php?id= будет кодом нашей дорки
    Выдумывать новый код нету смысла - ибо много сайтов стоят стабильно на одних и тех же кодах и движках и будут стоять. Список кодов:

    Спойлер: Дорки

    Php?ts=
    .php?topic=
    .php?t=
    .php?ch=
    .php?_nkw=
    .php?id=
    .php?option=
    .php?view=
    .php?lang=
    .php?page=
    .php?p=
    .php?q=
    .php?gdjkgd=
    .php?son=
    .php?search=
    .php?uid=
    .php?title=
    .php?id_q=
    .php?prId=
    .php?tag=
    .php?letter=
    .php?prid=
    .php?catid=
    .php?ID=
    .php?iWine=
    .php?productID=
    .php?products_id=
    .php?topic_id=
    .php?pg=
    .php?clan=
    .php?fid=
    .php?url=
    .php?show=
    .php?inf=
    .php?event_id=
    .php?term=
    .php?TegID=
    .php?cid=
    .php?prjid=
    .php?pageid=
    .php?name=
    .php?id_n=
    .php?th_id=
    .php?category=
    .php?book_id=
    .php?isbn=
    .php?item_id=
    .php?sSearchword=
    .php?CatID=
    .php?art=
    .html?ts=
    .html?topic=
    .html?t=
    .html?ch=
    .html?_nkw=
    .html?id=
    .html?option=
    .html?view=
    .html?lang=
    .html?page=
    .html?p=
    .html?q=
    .html?gdjkgd=
    .html?son=
    .html?search=
    .html?uid=
    .html?title=
    .html?id_q=
    .html?prId=
    .html?tag=
    .html?letter=
    .html?prid=
    .html?catid=
    .html?ID=
    .html?iWine=
    .html?productID=
    .html?products_id=
    .html?topic_id=
    .html?pg=
    .html?clan=
    .html?fid=
    .html?url=
    .html?show=
    .html?inf=
    .html?event_id=
    .html?term=
    .html?TegID=
    .html?cid=
    .html?prjid=
    .html?pageid=
    .html?name=
    .html?id_n=
    .html?th_id=
    .html?category=
    .html?book_id=
    .html?isbn=
    .html?item_id=
    .html?sSearchword=
    .html?CatID=
    .html?art=
    .aspx?ts=
    .aspx?topic=
    .aspx?t=
    .aspx?ch=
    .aspx?_nkw=
    .aspx?id=
    .aspx?option=
    .aspx?view=
    .aspx?lang=
    .aspx?page=
    .aspx?p=
    .aspx?q=
    .aspx?gdjkgd=
    .aspx?son=
    .aspx?search=
    .aspx?uid=
    .aspx?title=
    .aspx?id_q=
    .aspx?prId=
    .aspx?tag=
    .aspx?letter=
    .aspx?prid=
    .aspx?catid=
    .aspx?ID=
    .aspx?iWine=
    .aspx?productID=
    .aspx?products_id=
    .aspx?topic_id=
    .aspx?pg=
    .aspx?clan=
    .aspx?fid=
    .aspx?url=
    .aspx?show=
    .aspx?inf=
    .aspx?event_id=
    .aspx?term=
    .aspx?TegID=
    .aspx?cid=
    .aspx?prjid=
    .aspx?pageid=
    .aspx?name=
    .aspx?id_n=
    .aspx?th_id=
    .aspx?category=
    .aspx?book_id=
    .aspx?isbn=
    .aspx?item_id=
    .aspx?sSearchword=
    .aspx?CatID=
    .aspx?art=
    .asp?ts=
    .asp?topic=
    .asp?t=
    .asp?ch=
    .asp?_nkw=
    .asp?id=
    .asp?option=
    .asp?view=
    .asp?lang=
    .asp?page=
    .asp?p=
    .asp?q=
    .asp?gdjkgd=
    .asp?son=
    .asp?search=
    .asp?uid=
    .asp?title=
    .asp?id_q=
    .asp?prId=
    .asp?tag=
    .asp?letter=
    .asp?prid=
    .asp?catid=
    .asp?ID=
    .asp?iWine=
    .asp?productID=
    .asp?products_id=
    .asp?topic_id=
    .asp?pg=
    .asp?clan=
    .asp?fid=
    .asp?url=
    .asp?show=
    .asp?inf=
    .asp?event_id=
    .asp?term=
    .asp?TegID=
    .asp?cid=
    .asp?prjid=
    .asp?pageid=
    .asp?name=
    .asp?id_n=
    .asp?th_id=
    .asp?category=
    .asp?book_id=
    .asp?isbn=
    .asp?item_id=
    .asp?sSearchword=
    .asp?CatID= .asp?art=
    .htm?ts= .htm?topic=
    .htm?t= .htm?ch=
    .htm?_nkw=
    .htm?id=
    .htm?option=
    .htm?view=
    .htm?lang=
    .htm?page=
    .htm?p=
    .htm?q=
    .htm?gdjkgd=
    .htm?son=
    .htm?search=
    .htm?uid=
    .htm?title=
    .htm?id_q=
    .htm?prId=
    .htm?tag=
    .htm?letter=
    .htm?prid=
    .htm?catid=
    .htm?ID=
    .htm?iWine=
    .htm?productID=
    .htm?products_id=
    .htm?topic_id=
    .htm?pg=
    .htm?clan=
    .htm?fid=
    .htm?url=
    .htm?show=
    .htm?inf=
    .htm?event_id=
    .htm?term=
    .htm?TegID=
    .htm?cid=
    .htm?prjid=
    .htm?pageid=
    .htm?name=
    .htm?id_n=
    .htm?th_id=
    .htm?category=
    .htm?book_id=
    .htm?isbn=
    .htm?item_id=
    .htm?sSearchword=
    .htm?CatID=
    .htm?art=
    .cgi?ts=
    .cgi?topic=
    .cgi?t=
    .cgi?ch=
    .cgi?_nkw=
    .cgi?id=
    .cgi?option=
    .cgi?view=
    .cgi?lang=
    .cgi?page=
    .cgi?p=
    .cgi?q=
    .cgi?gdjkgd=
    .cgi?son=
    .cgi?search=
    .cgi?uid=
    .cgi?title=
    .cgi?id_q=
    .cgi?prId=
    .cgi?tag=
    .cgi?letter=
    .cgi?prid=
    .cgi?catid=
    .cgi?ID=
    .cgi?iWine=
    .cgi?productID=
    .cgi?products_id=
    .cgi?topic_id=
    .cgi?pg=
    .cgi?clan=
    .cgi?fid=
    .cgi?url=
    .cgi?show=
    .cgi?inf=
    .cgi?event_id=
    .cgi?term=
    .cgi?TegID=
    .cgi?cid=
    .cgi?prjid=
    .cgi?pageid=
    .cgi?name=
    .cgi?id_n=
    .cgi?th_id=
    .cgi?category=
    .cgi?book_id=
    .cgi?isbn=
    .cgi?item_id=
    .cgi?sSearchword=
    .cgi?CatID=
    .cgi?art=
    .jsp?ts=
    .jsp?topic=
    .jsp?t=
    .jsp?ch=
    .jsp?_nkw=
    .jsp?id=
    .jsp?option=
    .jsp?view=
    .jsp?lang=
    .jsp?page=
    .jsp?p=
    .jsp?q=
    .jsp?gdjkgd=
    .jsp?son=
    .jsp?search=
    .jsp?uid=
    .jsp?title=
    .jsp?id_q=
    .jsp?prId=
    .jsp?tag=
    .jsp?letter=
    .jsp?prid=
    .jsp?catid=
    .jsp?ID=
    .jsp?iWine=
    .jsp?productID=
    .jsp?products_id=
    .jsp?topic_id=
    .jsp?pg=
    .jsp?clan=
    .jsp?fid=
    .jsp?url=
    .jsp?show=
    .jsp?inf=
    .jsp?event_id=
    .jsp?term=
    .jsp?TegID=
    .jsp?cid=
    .jsp?prjid=
    .jsp?pageid=
    .jsp?name=
    .jsp?id_n=
    .jsp?th_id=
    .jsp?category=
    .jsp?book_id=
    .jsp?isbn=
    .jsp?item_id=
    .jsp?sSearchword=
    .jsp?CatID=
    .jsp?art=

    Эти коды мы будем использовать для генератора дорков.
    Идем в гугл переводчик - переводим на итальянский - самые часто употреблямые слова список.
    Парсим список слов на Итальянском - вставляем в первый столбец генератора дорков - во второй ставим коды, обычно php -это самые разные сайты, cfm шопы, jsp - игровые.
    Генерируем - убираем пробелы. Приват дорки под Италию готовы.
    Так же имеет смысл вставить в правую колонку фразы на том же языке в стиле "запомнить меня, забыли пароль" вместо site:it
    Они будут круто парсить, они будут приват, если вы спарсите что то уникальное и замените ключ дорки.
    И добавите на том же языке запомнить меня - то сайты будут лететь только с базами.
    Вся суть в мышлении. Дорки будут вида name.php?uid= вся их фишка будет в уникальном ключе. Они будут миксовыми, оператор Inurl: применять не нужно - так как парсинг будет без него идти и в урле, и в тексте, и в тайтле.
    Ведь смысл дорки такой весь в том что может быть что угодно - и стим, и палка, и неттелер - а может и не быть. Тут нужно брать количеством.
    Так же есть так называемый парсинг по уязвимостям.

    Спойлер: Дорки

    intext:"java.lang.NumberFormatException: null"
    intext:"error in your SQL syntax"
    intext:"mysql_num_rows()"
    intext:"mysql_fetch_array()"
    intext:"Error Occurred While Processing Request"
    intext:"Server Error in "/" Application"
    intext:"Microsoft OLE DB Provider for ODBC Drivers error"
    intext:"Invalid Querystring"
    intext:"OLE DB Provider for ODBC"
    intext:"VBScript Runtime"
    intext:"ADODB.Field"
    intext:"BOF or EOF"
    intext:"ADODB.Command"
    intext:"JET Database"
    intext:"mysql_fetch_row()"
    intext:"Syntax error"
    intext:"include()"
    intext:"mysql_fetch_assoc()"
    intext:"mysql_fetch_object()"
    intext:"mysql_numrows()"
    intext:"GetArray()"

    intext:"FetchRow()"

    Эти дорки ищут сразу уязвимость напрямую, то есть использовать их вместе с уникальными словами которые до вас вряд ли парсили

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

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

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

    age = $age; } function add_age () { $this->age++; } } // объявляем наследуемый класс class my_Cat extends Cat { // определяем собственный метод подкласса function sleep() { echo "
    Zzzzz..."; } } $kitty = new my_Cat(10); // вызываем наследуемый метод $kitty->add_age(); // считываем значение наследуемого свойства echo $kitty->age; // вызываем собственный метод подкласса $kitty->sleep(); ?>

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

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

    age"; } } class my_Cat extends Cat { public $age = 10; } $kitty = new my_Cat; $kitty->foo(); ?>

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

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

    foo(new my_Cat); ?>

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

    Оператор parent

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

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

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

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

    title = $title; $this->price = $price; } } class new_book extends book { public $pages; function __construct($title, $price, $pages) { // вызываем метод-конструктор родительского класса parent::__construct($title, $price); // инициализируем свойство определенное в подклассе $this->pages = $pages; } } $obj = new new_book("азбука", 35, 500); echo "Книга: $obj->title
    Цена: $obj->price
    Страниц: $obj->pages"; ?>

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

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

    name}."; return $str; } } class my_Cat extends Cat { public $age = 5; function getstr() { $str = parent::getstr(); $str .= "
    Возраст: {$this->age} лет."; return $str; } } $obj = new my_Cat; echo $obj->getstr(); ?>

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

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

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

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

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

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

    public - открытый доступ:

    hello"; } } $obj = new human; // доступ из вызывающей программы echo "$obj->age"; // Допустимо $obj->say(); // Допустимо?>

    private - доступ только из методов класса:

    age"; } } $obj = new human; // напрямую из вызывающей программы доступа к закрытым данным нет echo "$obj->age"; // Ошибка! доступ закрыт! // однако с помощью метода можно выводить закрытые данные $obj->say(); // Допустимо?>

    protected - защищенный доступ:

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