TVs. Consoles. Projectors and accessories. Technologies. Digital TV

Operators of the Google search engine. PHP: Inheritance Inurl privat bild php name everyday

Inheritance is an object-oriented programming mechanism that allows you to describe a new class based on an existing one (parent).

A class that is obtained by inheriting from another is called a subclass. This relationship is usually described using the terms "parent" and "child". A child class is derived from a parent class and inherits its characteristics: properties and methods. Typically, a subclass adds new functionality to the functionality of the parent class (also called a superclass).

To create a subclass, you must use the extends keyword in the class declaration, followed by the name of the class from which you are inheriting:

age = $age; ) function add_age () ( $this->age++; ) ) // declare an inherited class class my_Cat extends Cat ( // define our own subclass method function sleep() ( echo "
Zzzzz..."; ) ) $kitty = new my_Cat(10); // call the inherited method $kitty->add_age(); // read the value of the inherited property echo $kitty->age; // call the subclass's own method $ kitty->sleep();

The subclass inherits access to all methods and properties of the parent class, since they are of type public . This means that for instances of the my_Cat class, we can call the add_age() method and access the $age property, even though they are defined in the cat class. Also in the example above, the subclass does not have its own constructor. If the subclass does not declare its own constructor, then when creating instances of the subclass, the superclass constructor will be automatically called.

Please note that subclasses can override properties and methods. By defining a subclass, we ensure that its instance is defined by the characteristics of first the child and then the parent class. To understand this better, consider an example:

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

When calling $kitty->foo(), the PHP interpreter cannot find such a method in the my_Cat class, so the implementation of this method defined in the Cat class is used. However, the subclass defines its own $age property, so when it is accessed in the $kitty->foo() method, the PHP interpreter finds that property in the my_Cat class and uses it.

Since we have already covered the topic of specifying the type of arguments, it remains to be said that if the parent class is specified as the type, then all descendants for the method will also be available for use, look at the following example:

foo(new my_Cat); ?>

We can treat an instance of the class my_Cat as if it were an object of type Cat, i.e. we can pass an object of type my_Cat to the foo() method of the Cat class, and everything will work as expected.

parent operator

In practice, subclasses may need to extend the functionality of parent class methods. By extending functionality by overriding superclass methods, subclasses retain the ability to first execute the parent class's code and then add code that implements the additional functionality. Let's look at how this can be done.

To call the desired method from a parent class, you will need to access this class itself through a descriptor. PHP provides the parent keyword for this purpose. The parent operator allows subclasses to access the methods (and constructors) of the parent class and add to their existing functionality. To refer to a method in the context of a class, use the symbols "::" (two colons). The parent operator syntax is:

Parent::parent_class method

This construct will call a method defined in the superclass. Following this call, you can place your own program code that will add new functionality:

title = $title; $this->price = $price; ) ) class new_book extends book ( public $pages; function __construct($title, $price, $pages) ( // call the constructor method of the parent class parent::__construct($title, $price); // initialize the property defined in subclass $this->pages = $pages; ) ) $obj = new new_book("ABC", 35, 500); echo "Book: $obj->title
Price: $obj->price
Pages: $obj->pages"; ?>

When a child class defines its own constructor, PHP does not automatically call the parent class's constructor. This must be done manually in the subclass constructor. The subclass first calls the constructor of its parent class in its constructor, passing the necessary arguments for initialization, executes it, and then executes the code that implements additional functionality, in this case initializing a property of the subclass.

The parent keyword can be used not only in constructors, but also in any other method whose functionality you want to extend, this can be achieved by calling the method of the parent class:

name)."; return $str; ) ) class my_Cat extends Cat ( public $age = 5; function getstr() ( $str = parent::getstr(); $str .= "
Age: ($this->age) years."; return $str; ) ) $obj = new my_Cat; echo $obj->getstr(); ?>

Here, the getstr() method from the superclass is first called, the value of which is assigned to a variable, and after that the rest of the code defined in the subclass method is executed.

Now that we've covered the basics of inheritance, we can finally look at the issue of visibility of properties and methods.

public, protected and private: access control

Up to this point, we have explicitly declared all properties as public. And this type of access is set by default for all methods.

Members of a class can be declared as public, protected, or private. Let's look at the difference between them:

  • TO public(public) properties and methods can be accessed from any context.
  • TO protected(protected) properties and methods can be accessed either from the containing class or from its subclass. No external code is allowed access to them.
  • You can make class data unavailable to the calling program using the keyword private(closed). Such properties and methods can only be accessed from the class in which they are declared. Even subclasses of this class do not have access to such data.

public - open access:

hello"; ) ) $obj = new human; // access from the calling program echo "$obj->age"; // Valid $obj->say(); // Valid?>

private - access only from class methods:

age"; ) ) $obj = new human; // there is no direct access to private data from the calling program echo "$obj->age"; // Error! access denied! // however, using the method you can display private data $obj ->say(); // Acceptable?>

protected - protected access:

The protected modifier, from the point of view of the calling program, looks exactly the same as private: it prohibits access to the object's data from the outside. However, unlike private, it allows you to access data not only from methods of your class, but also from methods of a subclass.

Hacking with Google

Alexander Antipov

The Google search engine (www.google.com) provides many search options. All these features are an invaluable search tool for a user new to the Internet and at the same time an even more powerful weapon of invasion and destruction in the hands of people with evil intentions, including not only hackers, but also non-computer criminals and even terrorists.
(9475 views in 1 week)


Denis Barankov
denisNOSPAMixi.ru

Attention:This article is not a guide to action. This article was written for you, WEB server administrators, so that you will lose the false feeling that you are safe, and you will finally understand the insidiousness of this method of obtaining information and take up the task of protecting your site.

Introduction

For example, I found 1670 pages in 0.14 seconds!

2. Let's enter another line, for example:

inurl:"auth_user_file.txt"

a little less, but this is already enough for free downloading and password guessing (using the same John The Ripper). Below I will give a number of more examples.

So, you need to realize that the Google search engine has visited most of the Internet sites and cached the information contained on them. This cached information allows you to obtain information about the site and the content of the site without directly connecting to the site, only by delving into the information that is stored inside Google. Moreover, if the information on the site is no longer available, then the information in the cache may still be preserved. All you need for this method is to know some Google keywords. This technique is called Google Hacking.

Information about Google Hacking first appeared on the Bugtruck mailing list 3 years ago. In 2001, this topic was raised by a French student. Here is a link to this letter http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html. It provides the first examples of such queries:

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

This topic made waves in the English-reading part of the Internet quite recently: after the article by Johnny Long, published on May 7, 2004. For a more complete study of Google Hacking, I advise you to go to this author’s website http://johnny.ihackstuff.com. In this article I just want to bring you up to date.

Who can use this:
- Journalists, spies and all those people who like to poke their nose into other people's business can use this to search for incriminating evidence.
- Hackers looking for suitable targets for hacking.

How Google works.

To continue the conversation, let me remind you of some of the keywords used in Google queries.

Search using the + sign

Google excludes words it considers unimportant from searches. For example, question words, prepositions and articles in English: for example are, of, where. In Russian, Google seems to consider all words important. If a word is excluded from the search, Google writes about it. In order for Google to start searching for pages with these words, you need to add a + sign without a space before the word. For example:

ace +of base

Search using the sign –

If Google finds a large number of pages from which it needs to exclude pages with a certain topic, then you can force Google to search only for pages that do not contain certain words. To do this, you need to indicate these words by placing a sign in front of each - without a space before the word. For example:

fishing - vodka

Search using ~

You may want to search not only the specified word, but also its synonyms. To do this, precede the word with the ~ symbol.

Finding an exact phrase using double quotes

Google searches on each page for all occurrences of the words that you wrote in the query string, and it does not care about the relative position of the words, as long as all the specified words are on the page at the same time (this is the default action). To find the exact phrase, you need to put it in quotes. For example:

"book stand"

In order to have at least one of the specified words, you need to specify the logical operation explicitly: OR. For example:

book safety OR protection

In addition, you can use the * sign in the search bar to indicate any word and. to represent any character.

Finding words using additional operators

There are search operators that are specified in the search string in the format:

operator:search_term

Spaces next to the colon are not needed. If you insert a space after the colon, you will see an error message, and before it, Google will use them as a normal search string.
There are groups of additional search operators: languages ​​- indicate in which language you want to see the result, date - limit the results for the past three, six or 12 months, occurrences - indicate where in the document you need to search for the line: everywhere, in the title, in the URL, domains - search on the specified site or, conversely, exclude it from the search; safe search - blocks sites containing the specified type of information and removes them from the search results pages.
However, some operators do not require an additional parameter, for example the request " cache:www.google.com" can be called as a full-fledged search string, and some keywords, on the contrary, require a search word, for example " site:www.google.com help". In light of our topic, let's look at the following operators:

Operator

Description

Requires an additional parameter?

search only on the site specified in search_term

search only in documents with type search_term

find pages containing search_term in the title

find pages containing all search_term words in the title

find pages containing the word search_term in their address

find pages containing all search_term words in their address

Operator site: limits the search only to the specified site, and you can specify not only the domain name, but also the IP address. For example, enter:

Operator filetype: Limits the search to a specific file type. For example:

As of the publication date of the article, Google can search within 13 different file formats:

  • 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)

Operator link: shows all pages that point to the specified page.
It's probably always interesting to see how many places on the Internet know about you. Let's try:

Operator cache: Shows the version of the site in Google's cache as it looked the last time Google visited that page. Let’s take any frequently changing site and look:

Operator intitle: searches for the specified word in the page title. Operator allintitle: is an extension - it searches for all specified few words in the page title. Compare:

intitle:flight to Mars
intitle:flight intitle:on intitle:mars
allintitle:flight to mars

Operator inurl: forces Google to show all pages containing the specified string in the URL. allinurl operator: searches for all words in a URL. For example:

allinurl:acid acid_stat_alerts.php

This command is especially useful for those who don't have SNORT - at least they can see how it works on a real system.

Hacking Methods Using Google

So, we found out that using a combination of the above operators and keywords, anyone can collect the necessary information and search for vulnerabilities. These techniques are often called Google Hacking.

Site map

You can use the site: operator to list all the links that Google has found on a site. Typically, pages that are dynamically created by scripts are not indexed using parameters, so some sites use ISAPI filters so that links are not in the form /article.asp?num=10&dst=5, and with slashes /article/abc/num/10/dst/5. This is done so that the site is generally indexed by search engines.

Let's try:

site:www.whitehouse.gov whitehouse

Google thinks that every page on a website contains the word whitehouse. This is what we use to get all the pages.
There is also a simplified version:

site:whitehouse.gov

And the best part is that the comrades from whitehouse.gov didn’t even know that we looked at the structure of their site and even looked at the cached pages that Google downloaded for itself. This can be used to study the structure of sites and view content, remaining undetected for the time being.

View a list of files in directories

WEB servers can display lists of server directories instead of regular HTML pages. This is usually done to ensure that users select and download specific files. However, in many cases, administrators have no intention of showing the contents of a directory. This occurs due to incorrect server configuration or the absence of the main page in the directory. As a result, the hacker has a chance to find something interesting in the directory and use it for his own purposes. To find all such pages, it is enough to note that they all contain in their title the words: index of. But since the words index of contain not only such pages, we need to refine the query and take into account the keywords on the page itself, so queries like:

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

Since most directory listings are intentional, you may have a hard time finding misplaced listings the first time. But at least you can already use listings to determine the WEB server version, as described below.

Obtaining the WEB server version.

Knowing the WEB server version is always useful before launching any hacker attack. Again, thanks to Google, you can get this information without connecting to a server. If you look carefully at the directory listing, you can see that the name of the WEB server and its version are displayed there.

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

An experienced administrator can change this information, but, as a rule, it is true. Thus, to obtain this information it is enough to send a request:

intitle:index.of server.at

To get information for a specific server, we clarify the request:

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

Or vice versa, we are looking for servers running a specific version of the server:

intitle:index.of Apache/2.0.40 Server at

This technique can be used by a hacker to find a victim. If, for example, he has an exploit for a certain version of the WEB server, then he can find it and try the existing exploit.

You can also get the server version by viewing the pages that are installed by default when installing the latest version of the WEB server. For example, to see the Apache 1.2.6 test page, just type

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

Moreover, some operating systems immediately install and launch the WEB server during installation. However, some users are not even aware of this. Naturally, if you see that someone has not removed the default page, then it is logical to assume that the computer has not undergone any customization at all and is likely vulnerable to attack.

Try searching for IIS 5.0 pages

allintitle:Welcome to Windows 2000 Internet Services

In the case of IIS, you can determine not only the server version, but also the Windows version and Service Pack.

Another way to determine the WEB server version is to search for manuals (help pages) and examples that may be installed on the site by default. Hackers have found quite a few ways to use these components to gain privileged access to a site. That is why you need to remove these components on the production site. Not to mention the fact that the presence of these components can provide information about the type of server and its version. For example, let's find the apache manual:

inurl:manual apache directives modules

Using Google as a CGI scanner.

CGI scanner or WEB scanner is a utility for searching for vulnerable scripts and programs on the victim’s server. These utilities must know what to look for, for this they have a whole list of vulnerable files, for example:

/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

We can find each of these files using Google, additionally using the words index of or inurl with the file name in the search bar: we can find sites with vulnerable scripts, for example:

allinurl:/random_banner/index.cgi

Using additional knowledge, a hacker can exploit a script's vulnerability and use this vulnerability to force the script to emit any file stored on the server. For example, a password file.

How to protect yourself from Google hacking.

1. Do not post important data on the WEB server.

Even if you posted the data temporarily, you may forget about it or someone will have time to find and take this data before you erase it. Don't do this. There are many other ways to transfer data that protect it from theft.

2. Check your site.

Use the methods described to research your site. Check your site periodically for new methods that appear on the site http://johnny.ihackstuff.com. Remember that if you want to automate your actions, you need to get special permission from Google. If you read carefully http://www.google.com/terms_of_service.html, then you will see the phrase: You may not send automated queries of any sort to Google's system without express permission in advance from Google.

3. You may not need Google to index your site or part of it.

Google allows you to remove a link to your site or part of it from its database, as well as remove pages from the cache. In addition, you can prohibit the search for images on your site, prohibit short fragments of pages from being shown in search results. All possibilities for deleting a site are described on the page http://www.google.com/remove.html. To do this, you must confirm that you are really the owner of this site or insert tags into the page or

4. Use robots.txt

It is known that search engines look at the robots.txt file located at the root of the site and do not index those parts that are marked with the word Disallow. You can use this to prevent part of the site from being indexed. For example, to prevent the entire site from being indexed, create a robots.txt file containing two lines:

User-agent: *
Disallow: /

What else happens

So that life doesn’t seem like honey to you, I’ll say finally that there are sites that monitor those people who, using the methods outlined above, look for holes in scripts and WEB servers. An example of such a page is

Application.

A little sweet. Try some of the following for yourself:

1. #mysql dump filetype:sql - search for mySQL database dumps
2. Host Vulnerability Summary Report - will show you what vulnerabilities other people have found
3. phpMyAdmin running on inurl:main.php - this will force control to be closed through the phpmyadmin panel
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 – maybe someone needs firewall configuration files? :)
10. intitle:index.of finances.xls – hmm....
11. intitle:Index of dbconvert.exe chats – icq chat logs
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 config
16. inurl:ipsec.secrets holds shared secrets - secret key - good find
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 – getting paths
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.ofsecring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Hacking mit Google"
  • Training center "Informzashita" http://www.itsecurity.ru - a leading specialized center in the field of information security training (License of the Moscow Committee of Education No. 015470, State accreditation No. 004251). The only authorized training center for Internet Security Systems and Clearswift in Russia and the CIS countries. Microsoft authorized training center (Security specialization). The training programs are coordinated with the State Technical Commission of Russia, the FSB (FAPSI). Certificates of training and state documents on advanced training.

    SoftKey is a unique service for buyers, developers, dealers and affiliate partners. In addition, this is one of the best online software stores in Russia, Ukraine, Kazakhstan, which offers customers a wide range, many payment methods, prompt (often instant) order processing, tracking the order process in the personal section, various discounts from the store and manufacturers BY.

    Obtaining private data does not always mean hacking - sometimes it is published publicly. Knowledge of Google settings and a little ingenuity will allow you to find a lot of interesting things - from credit card numbers to FBI documents.

    WARNING

    All information is provided for informational purposes only. Neither the editors nor the author are responsible for any possible harm caused by the materials of this article.

    Today, everything is connected to the Internet, with little concern for restricting access. Therefore, many private data become the prey of search engines. Spider robots are no longer limited to web pages, but index all content available on the Internet and constantly add non-public information to their databases. Finding out these secrets is easy - you just need to know how to ask about them.

    Looking for files

    In capable hands, Google will quickly find everything that is not found on the Internet, for example, personal information and files for official use. They are often hidden like a key under a doormat: there are no real access restrictions, the data simply lies on the back of the site, where no links lead. The standard Google web interface provides only basic advanced search settings, but even these will be sufficient.

    You can limit your Google search to a specific type of file using two operators: filetype and ext . The first specifies the format that the search engine determined from the file title, the second specifies the file extension, regardless of its internal content. When searching in both cases, you only need to specify the extension. Initially, the ext operator was convenient to use in cases where the file did not have specific format characteristics (for example, to search for ini and cfg configuration files, which could contain anything). Now Google's algorithms have changed, and there is no visible difference between operators - in most cases the results are the same.


    Filtering the results

    By default, Google searches for words and, in general, any entered characters in all files on indexed pages. You can limit the search area by top-level domain, a specific site, or by the location of the search sequence in the files themselves. For the first two options, use the site operator, followed by the name of the domain or selected site. In the third case, a whole set of operators allows you to search for information in service fields and metadata. For example, allinurl will find the given one in the body of the links themselves, allinanchor - in the text equipped with the tag , allintitle - in page titles, allintext - in the body of pages.

    For each operator there is a lightweight version with a shorter name (without the prefix all). The difference is that allinurl will find links with all words, and inurl will only find links with the first of them. The second and subsequent words from the query can appear anywhere on web pages. The inurl operator also differs from another operator with a similar meaning - site. The first also allows you to find any sequence of characters in a link to the searched document (for example, /cgi-bin/), which is widely used to find components with known vulnerabilities.

    Let's try it in practice. We take the allintext filter and make the request produce a list of numbers and verification codes of credit cards that will expire only in two years (or when their owners get tired of feeding everyone).

    Allintext: card number expiration date /2017 cvv

    When you read in the news that a young hacker “hacked into the servers” of the Pentagon or NASA, stealing classified information, in most cases we are talking about just such a basic technique of using Google. Suppose we are interested in a list of NASA employees and their contact information. Surely such a list is available in electronic form. For convenience or due to oversight, it may also be on the organization’s website itself. It is logical that in this case there will be no links to it, since it is intended for internal use. What words can be in such a file? At a minimum - the “address” field. Testing all these assumptions is easy.


    Inurl:nasa.gov filetype:xlsx "address"


    We use bureaucracy

    Finds like this are a nice touch. A truly solid catch is provided by a more detailed knowledge of Google operators for webmasters, the Network itself and the peculiarities of the structure of what is being sought. Knowing the details, you can easily filter the results and refine the properties of the necessary files in order to get truly valuable data in the rest. It's funny that bureaucracy comes to the rescue here. It produces standard formulations that are convenient for searching for secret information accidentally leaked onto the Internet.

    For example, the Distribution statement stamp, required by the US Department of Defense, means standardized restrictions on the distribution of a document. The letter A denotes public releases in which there is nothing secret; B - intended only for internal use, C - strictly confidential, and so on until F. The letter X stands out separately, which marks particularly valuable information representing a state secret of the highest level. Let those who are supposed to do this on duty search for such documents, and we will limit ourselves to files with the letter C. According to DoDI directive 5230.24, this marking is assigned to documents containing a description of critical technologies that fall under export control. Such carefully protected information can be found on sites in the top-level domain.mil, allocated for the US Army.

    "DISTRIBUTION STATEMENT C" inurl:navy.mil

    It is very convenient that the .mil domain contains only sites from the US Department of Defense and its contract organizations. Search results with a domain restriction are exceptionally clean, and the titles speak for themselves. Searching for Russian secrets in this way is practically useless: chaos reigns in domains.ru and.rf, and the names of many weapons systems sound like botanical ones (PP “Kiparis”, self-propelled guns “Akatsia”) or even fabulous (TOS “Buratino”).


    By carefully studying any document from a site in the .mil domain, you can see other markers to refine your search. For example, a reference to the export restrictions “Sec 2751”, which is also convenient for searching for interesting technical information. From time to time it is removed from official sites where it once appeared, so if you cannot follow an interesting link in the search results, use Google’s cache (cache operator) or the Internet Archive site.

    Climbing into the clouds

    In addition to accidentally declassified government documents, links to personal files from Dropbox and other data storage services that create “private” links to publicly published data occasionally pop up in Google's cache. It’s even worse with alternative and homemade services. For example, the following query finds data for all Verizon customers who have an FTP server installed and actively using their router.

    Allinurl:ftp:// verizon.net

    There are now more than forty thousand such smart people, and in the spring of 2015 there were many more of them. Instead of Verizon.net, you can substitute the name of any well-known provider, and the more famous it is, the larger the catch can be. Through the built-in FTP server, you can see files on an external storage device connected to the router. Usually this is a NAS for remote work, a personal cloud, or some kind of peer-to-peer file downloading. All contents of such media are indexed by Google and other search engines, so you can access files stored on external drives via a direct link.

    Looking at the configs

    Before the widespread migration to the cloud, simple FTP servers ruled as remote storage, which also had a lot of vulnerabilities. Many of them are still relevant today. For example, the popular WS_FTP Professional program stores configuration data, user accounts and passwords in the ws_ftp.ini file. It is easy to find and read, since all records are saved in text format, and passwords are encrypted with the Triple DES algorithm after minimal obfuscation. In most versions, simply discarding the first byte is sufficient.

    It is easy to decrypt such passwords using the WS_FTP Password Decryptor utility or a free web service.

    When talking about hacking an arbitrary website, they usually mean obtaining a password from logs and backups of configuration files of CMS or e-commerce applications. If you know their typical structure, you can easily indicate the keywords. Lines like those found in ws_ftp.ini are extremely common. For example, in Drupal and PrestaShop there is always a user identifier (UID) and a corresponding password (pwd), and all information is stored in files with the .inc extension. You can search for them as follows:

    "pwd=" "UID=" ext:inc

    Revealing DBMS passwords

    In the configuration files of SQL servers, user names and email addresses are stored in clear text, and their MD5 hashes are written instead of passwords. Strictly speaking, it is impossible to decrypt them, but you can find a match among the known hash-password pairs.

    There are still DBMSs that do not even use password hashing. The configuration files of any of them can simply be viewed in the browser.

    Intext:DB_PASSWORD filetype:env

    With the advent of Windows servers, the place of configuration files was partially taken by the registry. You can search through its branches in exactly the same way, using reg as the file type. For example, like this:

    Filetype:reg HKEY_CURRENT_USER "Password"=

    Let's not forget the obvious

    Sometimes it is possible to get to classified information using data that is accidentally opened and comes to Google’s attention. The ideal option is to find a list of passwords in some common format. Only desperate people can store account information in a text file, Word document or Excel spreadsheet, but there is always enough of them.

    Filetype:xls inurl:password

    On the one hand, there are a lot of means to prevent such incidents. It is necessary to specify adequate access rights in htaccess, patch the CMS, not use left-handed scripts and close other holes. There is also a file with a list of robots.txt exceptions that prohibits search engines from indexing the files and directories specified in it. On the other hand, if the structure of robots.txt on some server differs from the standard one, then it immediately becomes clear what they are trying to hide on it.

    The list of directories and files on any site is preceded by the standard index of. Since for service purposes it must appear in the title, it makes sense to limit its search to the intitle operator. Interesting things are in the /admin/, /personal/, /etc/ and even /secret/ directories.

    Stay tuned for updates

    Relevance is extremely important here: old vulnerabilities are closed very slowly, but Google and its search results are constantly changing. There is even a difference between a “last second” filter (&tbs=qdr:s at the end of the request URL) and a “real time” filter (&tbs=qdr:1).

    The time interval of the date of the last update of the file is also indicated implicitly by Google. Through the graphical web interface, you can select one of the standard periods (hour, day, week, etc.) or set a date range, but this method is not suitable for automation.

    From the look of the address bar, you can only guess about a way to limit the output of results using the &tbs=qdr: construction. The letter y after it sets the limit of one year (&tbs=qdr:y), m shows the results for the last month, w - for the week, d - for the past day, h - for the last hour, n - for the minute, and s - for second. The most recent results that have just become known to Google are found using the &tbs=qdr:1 filter.

    If you need to write a clever script, it will be useful to know that the date range is set in Google in Julian format using the daterange operator. For example, this is how you can find a list of PDF documents with the word confidential, downloaded from January 1 to July 1, 2015.

    Confidential filetype:pdf daterange:2457024-2457205

    The range is indicated in Julian date format without taking into account the fractional part. Translating them manually from the Gregorian calendar is inconvenient. It's easier to use a date converter.

    Targeting and filtering again

    In addition to specifying additional operators in the search query, they can be sent directly in the body of the link. For example, the filetype:pdf specification corresponds to the construction as_filetype=pdf . This makes it convenient to ask any clarifications. Let's say that the output of results only from the Republic of Honduras is specified by adding the construction cr=countryHN to the search URL, and only from the city of Bobruisk - gcs=Bobruisk. You can find a complete list in the developer section.

    Google's automation tools are designed to make life easier, but they often add problems. For example, the user’s city is determined by the user’s IP through WHOIS. Based on this information, Google not only balances the load between servers, but also changes the search results. Depending on the region, for the same request, different results will appear on the first page, and some of them may be completely hidden. The two-letter code after the gl=country directive will help you feel like a cosmopolitan and look for information from any country. For example, the code of the Netherlands is NL, but the Vatican and North Korea do not have their own code in Google.

    Often, search results end up cluttered even after using several advanced filters. In this case, it is easy to clarify the request by adding several exception words to it (a minus sign is placed in front of each of them). For example, banking, names and tutorial are often used with the word Personal. Therefore, cleaner search results will be shown not by a textbook example of a query, but by a refined one:

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

    One last example

    A sophisticated hacker is distinguished by the fact that he provides himself with everything he needs on his own. For example, VPN is a convenient thing, but either expensive, or temporary and with restrictions. Signing up for a subscription for yourself is too expensive. It's good that there are group subscriptions, and with the help of Google it's easy to become part of a group. To do this, just find the Cisco VPN configuration file, which has a rather non-standard PCF extension and a recognizable path: Program Files\Cisco Systems\VPN Client\Profiles. One request and you join, for example, the friendly team of the University of Bonn.

    Filetype:pcf vpn OR Group

    INFO

    Google finds password configuration files, but many of them are encrypted or replaced with hashes. If you see strings of a fixed length, then immediately look for a decryption service.

    Passwords are stored encrypted, but Maurice Massard has already written a program to decrypt them and provides it for free through thecampusgeeks.com.

    Google runs hundreds of different types of attacks and penetration tests. There are many options, affecting popular programs, major database formats, numerous vulnerabilities of PHP, clouds, and so on. Knowing exactly what you're looking for will make it much easier to find the information you need (especially information you didn't intend to make public). Shodan is not the only one that feeds with interesting ideas, but every database of indexed network resources!

    This time I will try to tell you what dorks should not be like. Because you often have to work with clients whose dorks look completely crazy. And after talking a little, it turns out that they also paid for these dorks. It’s annoying, in general) I, out of my stupidity, bought dorks, both for 300 rubles and for 20 rubles. But I have not yet met a competent person who will make dorks that will be good and the search engine will return what I need from them. I'm not trying to offend anyone, and this is just my personal opinion. Firstly, before purchasing, always ask for 10-15 doors to check, just visually evaluate them. I hope after this guide you will be able to identify more or less tailored dorks for your request from those who cannot even be called public. Let's go! It’s easier for me to work with examples, so I’ll try to sketch out a list of “game” traps that sometimes come across, and tell you what you should pay attention to:
    Code: mistake.php?gta_5= frame

    Let's break it down into parts: mistake.php - here, it is assumed that this word should be present in the link. In fact, it's a little different. For a word to be present in a link, it must be applied to the inurl: or allinurl operator:

    Let's say we come across some links with this word. But, it is this part (judging by the door) that should refer to the title of the page. I don't know what kind of coder would create a mistake.php page on their gaming site. Of course, there will be such people. But this will be a very small percentage.

    As for me, the page should be more or less with a popular name used by PHP coders. A couple more pages that are not desirable in dorks (often dork sellers use random words): Code: gta5.php - no one will call the page farcry_primal.php farcry_primal.cfm - the .cfm extension is used in ASP.NET, yes, on it they write, but not as often as in PHP. And to run into a page with such a name is a great success kramble.php how_to_work.php catch"in.php - special characters should not be in the name of the page jzooo.php - in general, don't understand what kind of page this is game_of_trone.php - a rare page , + does not refer to games, but most likely to the title of a movie. I hope you understand the approximate logic.

    The page should have a logical name, this is the main thing. It is not very important whether the name has something related to the game theme or not. Which pages are mostly used by coders, and generally more popular ones that can be used in dorks:

    Index.php
    private.php
    pm.php
    user.php
    members.php
    area.php
    config.php
    search.php
    redirect.php
    r.php (same redirect)
    s.php (same search)
    mail.php forum.php
    post.php account.php
    exit.php
    query.php
    q.php (the same query), etc.

    Something like this.

    The title of the page in the door (if there is one) should be monosyllabic, convenient for use on the site, and carry some kind of logical subtext. It’s okay that we don’t have names like steam.php or steam_keys.php or roulette.php here, it’s important for us to find more links. And the more often a word from a query is used on websites, the better. We will select the ones we need more or less by topic using the rest of the documentation. We've sorted out the page titles, but that's not the most important thing.

    Let's move on to the second part.

    Meet this GET request: ?gta_5 - Let me tell you right away, there are no such requests. (I remind you that this is my personal opinion) The GET request, ideally, which we need, should access the database, and in the case of SQL injection, cause an output error from the database. This is what we need. However, finding a request that would be called gta_5 is, again, great luck. And if we find him, we need him to be vulnerable. This again discards most of the links we are interested in. A couple more examples of bad, not good queries:

    Groove=
    ?paypal=
    ?qiwi_wallet=
    ?my_money=
    ?dai_webmoney=
    ?skdoooze=
    ?sadlkjadlkjswq=
    ?213123=
    ?777=

    Why is PayPal a bad request? Because it is assumed that with this request we want to access the database with a selection of PayPal. Nobody stores the Paypal database, except perhaps the company itself. Again, I'm defending it.

    Examples of good queries, kind ones that everyone loves to use because they are short, convenient, easy to remember, and have at least some logic:
    ?id=
    ?cat=
    ?cat_id=
    ?get=
    ?post=
    ?frame=
    ?r=
    ?redirect= (well, you get the idea)
    ?banner=
    ?go=
    ?leave=
    ?login=
    ?pass=
    ?password=
    ?username=
    ?user=
    ?search=
    ?s=
    ?wallet=
    ?acc=
    ?balance=
    ?do=
    ?page=
    ?page_id=
    ?topic=
    ?forum=
    ?thread=
    ?download=
    ?free=
    ?message=
    Of course, you can continue indefinitely.
    But these are universal requests that can perfectly suit mix dorks, gaming dorks, money dorks, and any others. We will come across forums, torrent sites, and everything else. As an example, a couple of queries that may be useful, let’s say for game queries:
    ?game=
    ?game_id=
    ?battle=
    ?log=
    ?team=
    ?weapon=
    ?inv= (inventory)
    ?gamedata=
    ?player=
    ?players=
    ?play= (you will come across sites with video clips)
    ?playtag=
    ?match=

    Approximately the same query logic should ideally be applied to other topics. You need to understand at least a little English and understand what kind of doors you are buying. In general, it’s enough to look at 10-20 doors and it will immediately become clear what kind of mega private you bought, and whether it’s worth contacting this seller in the future. Or in general, make a refund through black if you see that your dorks contain sex.php? or?photo= and you ordered doors for shops. Hands under the train to such figures

    And so, finally - the most important part of the dorka (which is sometimes completely absent). If we have just looked at the name of the GET request (not the request itself), now we are moving on to a request that can help us find exactly what we need. From our test dork this part is frame

    I won’t say that this is a bad request, but considering that we are looking for gaming sites, the effectiveness of such a request is approximately 15-20%. For mix tracks, or just for the number of links (just to leak something), it will do just fine. The name of the request can include, as they correctly say in many tutorials and manuals on dorks, any words related to our topic. Let's not deviate from gaming queries, so I'll give an example of good, suitable queries for games:
    game
    gaming
    exp
    player
    level
    players
    dota
    counter-strike
    AWP | Aziimov
    M19
    NAVI
    play free
    free games
    download game
    game forum
    about game
    screenshot game
    game guide

    It should be clear here what the theme of your roads is. If your purchased dorks have something like the following (and we bought game ones): Code: watch freedom text dsadaswe 213123321 ledy gaga fuck america bla bla girl tits free XXX porn futurama s01e13 Then again, feel free to send a nafik to the seller and throw out your dorks. You won’t see gaming sites :) One more thing, with these queries you can use operators - intitle: , allintitle: , intext: , allintext: Where, after the colon, there will be the game query itself from the list just above (intitle: game, allintext: play free )

    It seems that everything I wanted to convey. Basically, I hope the article will be useful at least in some way for beginners (it would be useful for me and would help me save several hundred rubles, and help put unscrupulous wood sellers in their place). Well, if you more or less understand how to make dorks yourself, I will be only glad. Practice, get your eye/hand trained, there’s nothing particularly complicated about dorks. And finally, I don’t know how it works in the dumper, but the a-parser calmly eats and searches for many links with queries in Russian. Why not, I thought. I tested it and was pleased with the effect. You can laugh))

    Frame.php?name= games for free
    get.php?query= download KS
    search.php?ok= game servers

    This article will be primarily useful to beginner optimizers, because more advanced ones should already know everything about them. In order to use this article with maximum efficiency, it is advisable to know exactly which words need to be raised to the right positions. If you are still not sure about the list of words, or use the keyword suggestion service, it is a little confusing, but you can figure it out.

    Important! Rest assured, Google understands perfectly well that ordinary users will not use them and only promotion specialists will resort to their help. Therefore, Google may slightly distort the information provided

    Intitle operator:

    Usage: intitle:word
    Example: intitle:site promotion
    Description: When using this operator, you will receive a list of pages whose title contains the word you are interested in, in our case this is the phrase “site promotion” in its entirety. Please note that there should not be a space after the colon. The page title is important when ranking, so be careful when writing your titles. By using this variable, you can estimate the approximate number of competitors who also want to be in the leading positions for this word.

    Inurl operator:

    Usage: inurl:phrase
    Example: inurl:calculating the cost of search engine optimization
    Description: This command shows sites or pages that have the original keyword in their URL. Please note that there should not be a space after the colon.

    Inanchor operator:

    Usage: inanchor:phrase
    Example: inanchor:seo books
    Description: Using this operator will help you see pages that are linked to the keyword you are using. This is a very important command, but unfortunately search engines are reluctant to share this information with SEOs for obvious reasons. There are services, Linkscape and Majestic SEO, that will provide you with this information for a fee, but rest assured, the information is worth it.

    Also, it is worth remembering that now Google is paying more and more attention to the “trust” of the site and less and less to the link mass. Of course, links are still one of the most important factors, but “trust” is playing an increasingly significant role.

    A combination of two variables gives good results, for example intitle: promotion inanchor: site promotion. And what do we see, the search engine will show us the main competitors, whose page title contains the word “promotion” and incoming links with the anchor “site promotion”.

    Unfortunately, this combination does not allow you to find out the “trust” of the domain, which, as we have already said, is a very important factor. For example, many older corporate sites don't have as many links as their younger competitors, but they do have a lot of older links, which is what pushes those sites to the top of the search results.

    Site operator:

    Usage: site:site address
    Example: site:www.aweb.com.ua
    Description: With this command you can see a list of pages that are indexed by the search engine and that it knows about. It is mainly used to find out about competitors' pages and analyze them.

    Cache operator:

    Usage: cache:page address
    Example: cache:www.aweb.com.ua
    Description: This command shows a “snapshot” of the page from the moment the robot last visited the site and in general how it sees the contents of the page. By checking the page cache date, you can determine how often robots visit the site. The more authoritative the site, the more often robots visit it and, accordingly, the less authoritative (according to Google) the site, the less often robots take pictures of the page.

    Cache is very important when buying links. The closer the page cache date is to the link purchase date, the faster your link will be indexed by the Google search engine. Sometimes it was possible to find pages with a cache age of 3 months. By purchasing a link on such a site, you will only waste your money, because it is quite possible that the link will never be indexed.

    Link operator:

    Usage: link:url
    Example: link:www.aweb.com.ua
    Description: Link operator: Finds and displays pages that link to the specified url. This can be either the main page of the site or the internal one.

    Related operator:

    Usage: related:url
    Example: related:www.aweb.com.ua
    Description: Related operator: Returns pages that the search engine thinks are similar to the specified page. For a person, all the pages received may not have anything similar, but for a search engine this is so.

    Operator Info:

    Usage: info:url
    Example: info:www.aweb.com.ua
    Description: When using this operator, we will be able to obtain information about the page that is known to the search engine. This could be the author, publication date, and much more. Additionally, on the search page, Google offers several actions that it can do with this page. Or, to put it simply, it will suggest using some of the operators that we described above.

    Allintitle operator:

    Usage: allintitle:phrase
    Example: allintitle:aweb promotion
    Description: If we start a search query with this word, we will get a list of pages that have the entire phrase in the title. For example, if we try to search for the word allintitle:aweb promotion, we will get a list of pages whose title mentions both of these words. And they don’t necessarily have to go one after another; they can be located in different places in the header.

    Allintext operator:

    Usage: allintext:word
    Example: allintext:optimization
    Description: This operator searches for all pages that have the specified word in their body text. If we try to use allintext: aweb optimization, we will see a list of pages in the text of which these words appear. That is, not the entire phrase “aweb optimization”, but both words “optimization” and “aweb”.



    Related publications