Operators of search engines Google and Yandex. Google search engine operators Inurl page expected

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 rug: 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's 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. You can find such carefully protected information 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 was accidentally opened and came to the attention of Google. 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 last update date 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 give me a sec. The most recent results that Google has just made known are found using the filter &tbs=qdr:1 .

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 search 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!

Run the downloaded file by double clicking (you need to have a virtual machine).

3. Anonymity when checking a site for SQL injection

Setting up Tor and Privoxy in Kali Linux

[Section under development]

Setting up Tor and Privoxy on Windows

[Section under development]

Proxy settings in jSQL Injection

[Section under development]

4. Checking the site for SQL injection with jSQL Injection

Working with the program is extremely simple. Just enter the website address and press ENTER.

The following screenshot shows that the site is vulnerable to three types of SQL injections (information about them is indicated in the lower right corner). By clicking on the names of injections you can switch the method used:

Also, the existing databases have already been displayed to us.

You can view the contents of each table:

Typically, the most interesting thing about tables is the administrator credentials.

If you are lucky and you find the administrator’s data, then it’s too early to rejoice. You still need to find the admin panel where to enter this data.

5. Search for admin panels with jSQL Injection

To do this, go to the next tab. Here we are greeted with a list of possible addresses. You can select one or more pages to check:

The convenience lies in the fact that you do not need to use other programs.

Unfortunately, there are not very many careless programmers who store passwords in clear text. Quite often in the password line we see something like

8743b52063cd84097a65d1633f5c74f5

This is a hash. You can decrypt it using brute force. And... jSQL Injection has a built-in brute forcer.

6. Brute force hashes using jSQL Injection

The undoubted convenience is that you do not need to look for other programs. There is support for many of the most popular hashes.

This is not the best option. In order to become a guru in decoding hashes, the Book “” in Russian is recommended.

But, of course, when there is no other program at hand or there is no time to study, jSQL Injection with its built-in brute force function will come in very handy.

There are settings: you can set which characters are included in the password, the password length range.

7. File operations after detecting SQL injections

In addition to operations with databases - reading and modifying them, if SQL injections are detected, the following file operations can be performed:

  • reading files on the server
  • uploading new files to the server
  • uploading shells to the server

And all this is implemented in jSQL Injection!

There are restrictions - the SQL server must have file privileges. Smart system administrators have them disabled and will not be able to gain access to the file system.

The presence of file privileges is quite simple to check. Go to one of the tabs (reading files, creating a shell, uploading a new file) and try to perform one of the specified operations.

Another very important note - we need to know the exact absolute path to the file with which we will work - otherwise nothing will work.

Look at the following screenshot:

To any attempt to operate on a file, we receive the following response: No FILE privilege(no file privileges). And nothing can be done here.

If instead you have another error:

Problem writing into [directory_name]

This means that you incorrectly specified the absolute path where you want to write the file.

In order to guess an absolute path, you need to at least know the operating system the server is running on. To do this, switch to the Network tab.

Such a record (line Win64) gives us reason to assume that we are dealing with Windows OS:

Keep-Alive: timeout=5, max=99 Server: Apache/2.4.17 (Win64) PHP/7.0.0RC6 Connection: Keep-Alive Method: HTTP/1.1 200 OK Content-Length: 353 Date: Fri, 11 Dec 2015 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 Content-Type: text/html; charset=UTF-8

Here we have some Unix (*BSD, Linux):

Transfer-Encoding: chunked Date: Fri, 11 Dec 2015 11:57:02 GMT Method: HTTP/1.1 200 OK Keep-Alive: timeout=3, max=100 Connection: keep-alive Content-Type: text/html X- Powered-By: PHP/5.3.29 Server: Apache/2.2.31 (Unix)

And here we have CentOS:

Method: HTTP/1.1 200 OK Expires: Thu, 19 Nov 1981 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ Connection: keep-alive X-Cache-Lookup: MISS from t1.hoster.ru:6666 Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.4.37 X-Cache: MISS from t1.hoster.ru Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Date: Fri, 11 Dec 2015 12:08:54 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251

On Windows, a typical folder for sites is C:\Server\data\htdocs\. But, in fact, if someone “thought of” making a server on Windows, then, very likely, this person has not heard anything about privileges. Therefore, you should start trying directly from the C:/Windows/ directory:

As you can see, everything went fine the first time.

But the jSQL Injection shells themselves raise doubts in my mind. If you have file privileges, then you can easily upload something with a web interface.

8. Bulk checking of sites for SQL injections

And even this function is available in jSQL Injection. Everything is extremely simple - download a list of sites (can be imported from a file), select those that you want to check and click the appropriate button to start the operation.

Conclusion from jSQL Injection

jSQL Injection is a good, powerful tool for searching and then using SQL injections found on websites. Its undoubted advantages: ease of use, built-in related functions. jSQL Injection can be a beginner's best friend when analyzing websites.

Among the shortcomings, I would note the impossibility of editing databases (at least I did not find this functionality). As with all GUI tools, one of the disadvantages of this program can be attributed to its inability to be used in scripts. Nevertheless, some automation is also possible in this program - thanks to the built-in function of mass site scanning.

The jSQL Injection program is much more convenient to use than sqlmap. But sqlmap supports more types of SQL injections, has options for working with file firewalls and some other functions.

Bottom line: jSQL Injection is a novice hacker's best friend.

Help for this program in the Kali Linux Encyclopedia can be found on this page: http://kali.tools/?p=706

Any search for vulnerabilities on web resources begins with reconnaissance and information collection.
Intelligence can be either active - brute force of files and directories of the site, running vulnerability scanners, manually browsing the site, or passive - searching for information in different search engines. Sometimes it happens that a vulnerability becomes known even before opening the first page of the site.

How is this possible?
Search robots, constantly roaming the Internet, in addition to information useful to the average user, often record things that can be used by attackers to attack a web resource. For example, script errors and files with sensitive information (from configuration files and logs to files with authentication data and database backups).
From the point of view of a search robot, an error message about executing an sql query is plain text, inseparable, for example, from the description of products on the page. If suddenly a search robot came across a file with the .sql extension, which for some reason ended up in the site’s working folder, then it will be perceived as part of the site’s content and will also be indexed (including, possibly, the passwords specified in it).

Such information can be found by knowing strong, often unique, keywords that help separate “vulnerable pages” from pages that do not contain vulnerabilities.
A huge database of special queries using keywords (so-called dorks) exists on exploit-db.com and is known as the Google Hack Database.

Why google?
Dorks are primarily targeted at Google for two reasons:
− the most flexible syntax of keywords (shown in Table 1) and special characters (shown in Table 2);
− the Google index is still more complete than that of other search engines;

Table 1 - Main Google keywords

Keyword
Meaning
Example
site
Search only on the specified site. Only takes into account url
site:somesite.ru - will find all pages on a given domain and subdomains
inurl
Search by words present in the uri. Unlike cl. words “site”, searches for matches after the site name
inurl:news - finds all pages where the given word appears in the uri
intext
Search in the body of the page
intext:”traffic jams” - completely similar to the usual request for “traffic jams”
intitle
Search in the page title. Text between tags <br></td> <td width="214">intitle:”index of” - will find all pages with directory listings <br></td> </tr><tr><td width="214">ext <br></td> <td width="214">Search for pages with a specified extension <br></td> <td width="214">ext:pdf - finds all pdf files <br></td> </tr><tr><td width="214">filetype <br></td> <td width="214">Currently, completely similar to class. the word “ext” <br></td> <td width="214">filetype:pdf - similar <br></td> </tr><tr><td width="214">related <br></td> <td width="214">Search for sites with similar topics <br></td> <td width="214">related:google.ru - will show its analogues <br></td> </tr><tr><td width="214">link <br></td> <td width="214">Search for sites that link to this <br></td> <td width="214">link:somesite.ru - will find all sites that have a link to this <br></td> </tr><tr><td width="214">define <br></td> <td width="214">Show word definition <br></td> <td width="214">define:0day - definition of the term <br></td> </tr><tr><td width="214">cache <br></td> <td width="214">Show page contents in cache (if present) <br></td> <td width="214">cache:google.com - will open a cached page <br></td> </tr></tbody></table><p>Table 2 - Special characters for Google queries <br></p><table><tbody><tr><td width="214"><b>Symbol</b><br></td> <td width="214"><b>Meaning</b><br></td> <td width="214"><b>Example</b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Exact phrase <br></td> <td width="214">intitle:“RouterOS router configuration page” - search for routers <br></td> </tr><tr><td width="214">*<br></td> <td width="214">Any text <br></td> <td width="214">inurl: “bitrix*mcart” - search for sites on bitrix with a vulnerable mcart module <br></td> </tr><tr><td width="214">.<br></td> <td width="214">Any character <br></td> <td width="214">Index.of - similar to the index of request <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Delete a word <br></td> <td width="214">error -warning - show all pages that have an error but no warning <br></td> </tr><tr><td width="214">..<br></td> <td width="214">Range <br></td> <td width="214">cve 2006..2016 - show vulnerabilities by year starting from 2006 <br></td> </tr><tr><td width="214">|<br></td> <td width="214">Logical "or" <br></td> <td width="214">linux | windows - show pages where either the first or second word appears <br></td> </tr></tbody></table><br>It is worth understanding that any request to a search engine is a search only by words. <br>It is useless to look for meta-characters on the page (quotes, parentheses, punctuation marks, etc.). Even a search for the exact phrase specified in quotation marks is a word search, followed by a search for an exact match in the results. <p>All Google Hack Database dorks are logically divided into 14 categories and are presented in Table 3. <br>Table 3 – Google Hack Database Categories <br></p><table><tbody><tr><td width="168"><b>Category</b><br></td> <td width="190"><b>What allows you to find</b><br></td> <td width="284"><b>Example</b><br></td> </tr><tr><td width="168">Footholds <br></td> <td width="190">Web shells, public file managers <br></td> <td width="284">Find all hacked sites where the listed webshells are uploaded: <br>(intitle:"phpshell" OR intitle:"c99shell" OR intitle:"r57shell" OR intitle:"PHP Shell" OR intitle:"phpRemoteView") `rwx` "uname" <br></td> </tr><tr><td width="168">Files containing usernames <br></td> <td width="190">Registry files, configuration files, logs, files containing the history of entered commands <br></td> <td width="284">Find all registry files containing account information: <br><i>filetype:reg reg +intext:“internet account manager”</i><br></td> </tr><tr><td width="168">Sensitive Directories <br></td> <td width="190">Directories with various information (personal documents, vpn configs, hidden repositories, etc.) <br></td> <td width="284">Find all directory listings containing VPN-related files: <br><i>"Config" intitle:"Index of" intext:vpn</i><br>Sites containing git repositories: <br><i>(intext:"index of /.git") ("parent directory")</i><br></td> </tr><tr><td width="168">Web Server Detection <br></td> <td width="190">Version and other information about the web server <br></td> <td width="284">Find JBoss server administrative consoles: <br><i>inurl:"/web-console/" intitle:"Administration Console"</i><br></td> </tr><tr><td width="168">Vulnerable Files <br></td> <td width="190">Scripts containing known vulnerabilities <br></td> <td width="284">Find sites that use a script that allows you to upload an arbitrary file from the server: <br><i>allinurl:forcedownload.php?file=</i><br></td> </tr><tr><td width="168">Vulnerable Servers <br></td> <td width="190">Installation scripts, web shells, open administrative consoles, etc. <br></td> <td width="284">Find open PHPMyAdmin consoles running as root: <br><i>intitle:phpMyAdmin "Welcome to phpMyAdmin ***" "running on * as root@*"</i><br></td> </tr><tr><td width="168">Error Messages <br></td> <td width="190">Various errors and warnings often reveal important information - from CMS version to passwords <br></td> <td width="284">Sites that have errors in executing SQL queries to the database: <br><i>"Warning: mysql_query()" "invalid query"</i><br></td> </tr><tr><td width="168">Files containing juicy info <br></td> <td width="190">Certificates, backups, emails, logs, SQL scripts, etc. <br></td> <td width="284">Find initialization sql scripts: <br><i>filetype:sql and “insert into” -site:github.com</i><br></td> </tr><tr><td width="168">Files containing passwords <br></td> <td width="190">Anything that can contain passwords - logs, sql scripts, etc. <br></td> <td width="284">Logs mentioning passwords: <br><i>filetype:</i><i>log</i><i>intext:</i><i>password |</i><i>pass |</i><i>pw</i><br>sql scripts containing passwords: <br><i>ext:</i><i>sql</i><i>intext:</i><i>username</i><i>intext:</i><i>password</i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info <br></td> <td width="190">Information related to online purchases <br></td> <td width="284">Find pincodes: <br><i>dcid=</i><i>bn=</i><i>pin</i><i>code=</i><br></td> </tr><tr><td width="168">Network or vulnerability data <br></td> <td width="190">Information not directly related to the web resource, but affecting the network or other non-web services <br></td> <td width="284">Find automatic proxy configuration scripts containing information about the internal network: <br><i>inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl</i><br></td> </tr><tr><td width="168">Pages containing login portals <br></td> <td width="190">Pages containing login forms <br></td> <td width="284">saplogon web pages: <br><i>intext:"2016 SAP AG. All rights reserved." intitle:"Logon"</i><br></td> </tr><tr><td width="168">Various Online Devices <br></td> <td width="190">Printers, routers, monitoring systems, etc. <br></td> <td width="284">Find the printer configuration panel: <br><i>intitle:"</i><i>hp</i><i>laserjet"</i><i>inurl:</i><i>SSI/</i><i>Auth/</i><i>set_</i><i>config_</i><i>deviceinfo.</i><i>htm</i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities <br></td> <td width="190">Websites on vulnerable CMS versions <br></td> <td width="284">Find vulnerable plugins through which you can upload an arbitrary file to the server: <br><i>inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled</i><br></td> </tr></tbody></table><br>Dorks are more often focused on searching across all Internet sites. But nothing prevents you from limiting the search scope on any site or sites. <br>Each Google query can be focused on a specific site by adding the keyword “site:somesite.com” to the query. This keyword can be added to any dork. <p><b>Automating the search for vulnerabilities</b><br>This is how the idea was born to write a simple utility that automates the search for vulnerabilities using a search engine (google) and relies on the Google Hack Database.</p><p>The utility is a script written in nodejs using phantomjs. To be precise, the script is interpreted by phantomjs itself. <br>Phantomjs is a full-fledged web browser without a GUI, controlled by js code and with a convenient API. <br>The utility received a quite understandable name - dorks. By running it on the command line (without options), we get short help with several examples of use:</p><p>Figure 1 - List of main dorks options</p><p>The general syntax of the utility is: dork “command” “option list”. <br>A detailed description of all options is presented in Table 4.</p><p>Table 4 - Dorks syntax <br></p><table border="1"><tbody><tr><td width="214"><b>Team</b><br></td> <td width="214"><b>Option</b><br></td> <td width="214"><b>Description</b><br></td> </tr><tr><td rowspan="4" width="214">ghdb <br></td> <td width="214">-l <br></td> <td width="214">Print a numbered list of dork categories Google Hack Database <br></td> </tr><tr><td width="214">-c “category number or name” <br></td> <td width="214">Load doors of the specified category by number or name <br></td> </tr><tr><td width="214">-q "phrase" <br></td> <td width="214">Download dorks found by request <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save the result to a file (only with -c|-q options) <br></td> </tr><tr><td rowspan="8" width="214">google <br></td> <td width="214">-d "dork" <br></td> <td width="214">Set an arbitrary dork (the option can be used many times, combination with the -D option is allowed) <br></td> </tr><tr><td width="214">-D "file" <br></td> <td width="214">Use dorks from file <br></td> </tr><tr><td width="214">-s "site" <br></td> <td width="214">Set site (option can be used many times, combination with option -S is allowed) <br></td> </tr><tr><td width="214">-S "file" <br></td> <td width="214">Use sites from a file (dorks will be searched for each site independently) <br></td> </tr><tr><td width="214">-f "filter" <br></td> <td width="214">Set additional keywords (will be added to each dork) <br></td> </tr><tr><td width="214">-t "number of ms" <br></td> <td width="214">Interval between requests to google <br></td> </tr><tr><td width="214">-T "number of ms" <br></td> <td width="214">Timeout if a captcha is encountered <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save the result to a file (only those tracks for which something was found will be saved) <br></td> </tr></tbody></table><br>Using the ghdb command, you can get all the dorks from exploit-db by arbitrary request, or specify the entire category. If you specify category 0, the entire database will be unloaded (about 4.5 thousand dorks). <p>The list of categories currently available is presented in Figure 2. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy loading=lazy></p><p>Figure 2 - List of available GHDB dork categories</p><p>The google team will substitute each dork into the google search engine and analyze the result for matches. The paths where something was found will be saved to a file. <br>The utility supports different search modes: <br>1 dork and 1 site; <br>1 dork and many sites; <br>1 site and many dorks; <br>many sites and many dorks; <br>The list of dorks and sites can be specified either through an argument or through a file.</p><p><b>Demonstration of work</b><br>Let's try to look for any vulnerabilities using the example of searching for error messages. By command: dorks ghdb –c 7 –o errors.dorks all known dorks of the “Error Messages” category will be loaded as shown in Figure 3. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 3 – Loading all known dorks of the “Error Messages” category</p><p>Dorks are downloaded and saved to a file. Now all that remains is to “set” them on some site (see Figure 4). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy loading=lazy><br>Figure 4 – Search for vulnerabilities of the site of interest in the Google cache</p><p>After some time, several pages containing errors are discovered on the site under study (see Figure 5).</p><p><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy loading=lazy><br>Figure 5 – Error messages found</p><p>As a result, in the result.txt file we get a complete list of dorks that lead to the error. <br>Figure 6 shows the result of searching for site errors. <br><br>Figure 6 – Error search result</p><p>In the cache for this dork, a complete backtrace is displayed, revealing the absolute paths of the scripts, the site content management system and the database type (see Figure 7). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy loading=lazy><br>Figure 7 – disclosure of information about the site design</p><p>However, it is worth considering that not all dorks from GHDB give true results. Also, Google may not find an exact match and show a similar result.</p><p>In this case, it is wiser to use your personal list of dorks. For example, it is always worth looking for files with “unusual” extensions, examples of which are shown in Figure 8. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy loading=lazy><br>Figure 8 – List of file extensions that are not typical for a regular web resource</p><p>As a result, with the command dorks google –D extensions.txt –f bank, from the very first request Google begins to return sites with “unusual” file extensions (see Figure 9). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy loading=lazy><br>Figure 9 – Search for “bad” file types on banking websites</p><p>It is worth keeping in mind that Google does not accept queries longer than 32 words.</p><p>Using the command dorks google –d intext:”error|warning|notice|syntax” –f university <br>You can look for PHP interpreter errors on educational websites (see Figure 10). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 10 – Finding PHP runtime errors</p><p>Sometimes it is not convenient to use one or two categories of dorks. <br>For example, if it is known that the site runs on the Wordpress engine, then we need WordPress-specific modules. In this case, it is convenient to use the Google Hack Database search. The command dorks ghdb –q wordpress –o wordpress_dorks.txt will download all dorks from Wordpress, as shown in Figure 11: <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy loading=lazy><br>Figure 11 – Search for Dorks related to Wordpress</p><p>Let's go back to the banks again and use the command dorks google –D wordpress_dords.txt –f bank to try to find something interesting related to Wordpress (see Figure 12). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 12 – Search for Wordpress vulnerabilities</p><p>It is worth noting that the search on Google Hack Database does not accept words shorter than 4 characters. For example, if the site's CMS is not known, but the language is known - PHP. In this case, you can filter what you need manually using the pipe and the system search utility dorks –c all | findstr /I php > php_dorks.txt (see Figure 13): <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy loading=lazy><br>Figure 13 – Search all dorks where PHP is mentioned</p><p>Searching for vulnerabilities or some sensitive information in a search engine should only be done if there is a significant index on this site. For example, if a site has 10-15 pages indexed, then it’s stupid to search for anything in this way. Checking the index size is easy - just enter “site:somesite.com” into the Google search bar. An example of a site with an insufficient index is shown in Figure 14. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy loading=lazy><br>Figure 14 – Checking the site index size</p><p>Now about the unpleasant... From time to time Google may request a captcha - there is nothing you can do about it - you will have to enter it. For example, when searching through the “Error Messages” category (90 dorks), the captcha appeared only once.</p><p>It’s worth adding that phantomjs also supports working through a proxy, both via http and socks interface. To enable proxy mode, you need to uncomment the corresponding line in dorks.bat or dorks.sh.</p><p>The tool is available as source code</p> <h1>How to search correctly using google.com</h1> <p>Everyone probably knows how to use a search engine like Google =) But not everyone knows that if you correctly compose a search query using special constructions, you can achieve the results of what you are looking for much more efficiently and quickly =) In this article I will try to show that and what you need to do to search correctly</p><p>Google supports several advanced search operators that have special meaning when searching on google.com. Typically, these statements change the search, or even tell Google to do completely different types of searches. For example, the design <b>link:</b> is a special operator, and the request <u>link:www.google.com</u> will not give you a normal search, but will instead find all web pages that have links to google.com. <br>alternative request types</p><p><b>cache:</b> If you include other words in your query, Google will highlight those included words within the cached document. <br>For example, <u>cache:www.web site</u> will show the cached content with the word "web" highlighted.</p><p><b>link:</b> The search query above will show web pages that contain links to the specified query. <br>For example: <u>link:www.site</u> will display all pages that have a link to http://www.site</p><p><b>related:</b> Displays web pages that are “related” to the specified web page. <br>For example, <u>related: www.google.com</u> will list web pages that are similar to Google's home page.</p><p><b>info:</b> Query Information: will present some of the information Google has about the web page you are requesting. <br>For example, <u>info:website</u> will show information about our forum =) (Armada - Adult Webmasters Forum).</p><p><b>Other information requests</b> </p><p><b>define:</b> The define: query will provide a definition of the words you enter after it, collected from various online sources. The definition will be for the entire phrase entered (that is, it will include all words in the exact query).</p><p><b>stocks:</b> If you start a query with stocks: Google will process the rest of the query terms as stock symbols, and link to a page showing ready-made information for these symbols. <br>For example, <u>stocks:Intel yahoo</u> will show information about Intel and Yahoo. (Note that you should type breaking news symbols, not the company name)</p><p><b>Query Modifiers</b></p><p><b>site:</b> If you include site: in your query, Google will limit the results to those websites it finds in that domain. <br>You can also search by individual zones, such as ru, org, com, etc ( <u>site:com</u> <u>site:ru</u>) </p><p><b>allintitle:</b> If you run a query with allintitle:, Google will limit the results to all the query words in the title. <br>For example, <u>allintitle: google search</u> will return all Google pages by search such as images, Blog, etc</p><p><b>intitle:</b> If you include intitle: in your query, Google will limit the results to documents containing that word in the title. <br>For example, <u>intitle:Business</u></p><p><b>allinurl:</b> If you run a query with allinurl: Google will limit the results to all query words in the URL. <br>For example, <u>allinurl: google search</u> will return documents with google and search in the title. Also, as an option, you can separate words with a slash (/) then words on both sides of the slash will be searched within the same page: Example <u>allinurl: foo/bar</u></p><p><b>inurl:</b> If you include inurl: in your query, Google will limit the results to documents containing that word in the URL. <br>For example, <u>Animation inurl:site</u></p><p><b>intext:</b> searches only the specified word in the text of the page, ignoring the title and texts of links, and other things not related to. There is also a derivative of this modifier - <b>allintext:</b> those. further, all words in the query will be searched only in the text, which can also be important, ignoring frequently used words in links <br>For example, <u>intext:forum</u> </p><p><b>daterange:</b> searches in a time frame (daterange:2452389-2452389), dates for times are indicated in Julian format.</p><p><b>Well, and all sorts of interesting examples of queries</b> </p><p><u>Examples of writing queries for Google. For spammers</u> </p><p>Inurl:control.guest?a=sign</p><p>Site:books.dreambook.com “Homepage URL” “Sign my” inurl:sign</p><p>Site:www.freegb.net Homepage</p><p>Inurl:sign.asp “Character Count”</p><p>“Message:” inurl:sign.cfm “Sender:”</p><p>Inurl:register.php “User Registration” “Website”</p><p>Inurl:edu/guestbook “Sign the Guestbook”</p><p>Inurl:post “Post Comment” “URL”</p><p>Inurl:/archives/ “Comments:” “Remember info?”</p><p>“Script and Guestbook Created by:” “URL:” “Comments:”</p><p>Inurl:?action=add “phpBook” “URL”</p><p>Intitle:"Submit New Story"</p><p><u>Magazines</u> </p><p>Inurl:www.livejournal.com/users/ mode=reply</p><p>Inurl greatestjournal.com/ mode=reply</p><p>Inurl:fastbb.ru/re.pl?</p><p>Inurl:fastbb.ru /re.pl? "Guest book"</p><p><u>Blogs</u> </p><p>Inurl:blogger.com/comment.g?”postID””anonymous”</p><p>Inurl:typepad.com/ “Post a comment” “Remember personal info?”</p><p>Inurl:greatestjournal.com/community/ “Post comment” “addresses of anonymous posters”</p><p>“Post comment” “addresses of anonymous posters” -</p><p>Intitle:"Post comment"</p><p>Inurl:pirillo.com “Post comment”</p><p><u>Forums</u> </p><p>Inurl:gate.html?”name=Forums” “mode=reply”</p><p>Inurl:”forum/posting.php?mode=reply”</p><p>Inurl:"mes.php?"</p><p>Inurl:”members.html”</p><p>Inurl:forum/memberlist.php?”</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> <div class="clr"></div> <div class="clr"></div> </div> <div class="itemRelated"> <div class="zagolovok-wrapper"> <div class="flower"></div> <h3 class="itemTitle">Publications on the topic</h3> </div> <ul> <li class="even"> <img style="width:105px;height:auto;" class="itemRelImg" src="https://i1.wp.com/minecrafthub.ru/p/how-to-craft2_680.jpg" alt="Recipes for minecraft 1 12" / loading=lazy loading=lazy> <a class="itemRelTitle" href="https://fixhair.ru/en/recepty-dlya-mainkraft-1-12-recepty-minecraft-kak-prosmatrivat/">Recipes for minecraft 1 12</a> <a class="itemRelTitle" href="https://fixhair.ru/en/recepty-dlya-mainkraft-1-12-recepty-minecraft-kak-prosmatrivat/"></a> <div class="itemRelIntrotext"> <p>Share: What are crafting recipes for? If you are new to the game Minecraft, then you most likely don’t know how to craft any...</div> </li> <!-- /next_post --> <li class="odd"> <img style="width:105px;height:auto;" class="itemRelImg" src="https://i2.wp.com/virtualmakeover.ru/wp-content/uploads/2017/05/pochemu-muzhchina-ne-pishet-pervym-no-vsegda-otvechaet.jpg" alt="Why doesn't a man answer messages and calls?" / loading=lazy loading=lazy> <a class="itemRelTitle" href="https://fixhair.ru/en/esli-muzhchina-ne-otvechaet-na-soobshcheniya-pochemu-muzhchina-ne-otvechaet-na-soobshcheniya-i/">Why doesn't a man answer messages and calls?</a> <a class="itemRelTitle" href="https://fixhair.ru/en/esli-muzhchina-ne-otvechaet-na-soobshcheniya-pochemu-muzhchina-ne-otvechaet-na-soobshcheniya-i/"></a> <div class="itemRelIntrotext"> <p>You can always find a reason to worry. For suspicious people, any event can become a reason for worry. However, sometimes even...</p> </div> </li> <!-- /next_post --> <li class="clr"></li> </ul> <div class="clr"></div> </div> <div class="clr"></div> <div class="clr"></div> </div> </section> </section> </section> </section> <div class="hFooter"></div> <div class="pre-footer-bg"></div> <footer> <section class="footer-wrapper"> <section class="footer-wrapper2"> <nav class="footer_menu"> <ul class="nav menu"> <li><a href="https://fixhair.ru/en/category/gadgets/">Gadgets</a> </li> <li><a href="https://fixhair.ru/en/category/android/">Android</a> </li> <li><a href="https://fixhair.ru/en/category/windows/">Windows</a> </li> <li><a href="https://fixhair.ru/en/category/ios/">iOS</a> </li> <li><a href="https://fixhair.ru/en/category/blog/">Blog</a> </li> <li><a href="https://fixhair.ru/en/category/internet/">Internet</a> </li> <li><a href="https://fixhair.ru/en/category/computers/">Computers</a> </li> <li><a href="https://fixhair.ru/en/category/iron/">Iron</a> </li> </ul> </nav> <div class="clearfix"></div> <section class="footer-adres"> <div class="custom"> <p>© 2024 fixhair.ru - Gadgets. Internet. Computers. Safety. Iron. Windows</p> </div> </section> <section class="oferta-footer"> <div class="custom"> <p></p> </div> </section> <section class="copyright"> <div class="custom" > </div> </section> <div class="custom-social-icon-wrapper"> <div class="social-icon-container"> <ul> <li><a href="https://vk.com/share.php?url=https://fixhair.ru/operatory-poiskovyh-sistem-google-i-yandeks-operatory-poiskovoi-sistemy/" class="s-sprite social-icon-vk">In contact with</a></li> <li><a href="https://connect.ok.ru/offer?url=https://fixhair.ru/operatory-poiskovyh-sistem-google-i-yandeks-operatory-poiskovoi-sistemy/" class="s-sprite social-icon-ok">Classmates</a></li> <li><a href="https://www.facebook.com/sharer/sharer.php?u=https://fixhair.ru/operatory-poiskovyh-sistem-google-i-yandeks-operatory-poiskovoi-sistemy/" class="s-sprite social-icon-fb">Facebook</a></li> <li><a href="https://www.twitter.com/share?url=https%3A%2F%2Ffixhair.ru%2Fen%2Foperatory-poiskovyh-sistem-google-i-yandeks-operatory-poiskovoi-sistemy%2F" class="s-sprite social-icon-twitter">Twitter</a></li> <li><a href="https://youtube.com/" class="s-sprite social-icon-youtube">YouTube</a></li> <li><a href="" class="s-sprite social-icon-instagram">Instagram</a></li> </ul> </div> </div> <div class="clearfix"></div> </section> </section> </footer> </body> </html>