We use little-known features of Google to find the hidden. Using Little-Known Google Features to Find What's Hidden Climbing into the Clouds

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

3. Anonymity when checking the site for SQL injections

Setting up Tor and Privoxy in Kali Linux

[Section under development]

Setting up Tor and Privoxy on Windows

[Section under development]

jSQL Injection proxy settings

[Section under development]

4. Checking the site for SQL injection with jSQL Injection

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

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

Also, we have already displayed the existing databases.

You can see the contents of each table:

Usually, the most interesting part of the tables is the administrator credentials.

If you are lucky and you found the administrator's data, then it's too early to rejoice. You also need to find the admin panel, where to enter these data.

5. Search for admins with jSQL Injection

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

The convenience is 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 string we see something like

8743b52063cd84097a65d1633f5c74f5

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

6. Brute-forcing hashes with jSQL Injection

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 deciphering 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 a built-in brute-force function will come in handy.

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

7. File operations after SQL injection detection

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 limitations - the SQL server must have file privileges. With reasonable system administrators, they are disabled and access to the file system cannot be obtained.

The presence of file privileges is easy enough to check. Go to one of the tabs (reading files, creating a shell, uploading a new file) and try to perform one of the indicated 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:

Any attempt to operate on a file is answered by: 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 assume an absolute path, one must at least know the operating system the server is running on. To do this, switch to the Network tab.

Such an entry (string 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 site folder 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 perfectly the first time.

But the jSQL Injection shells themselves raise my doubts. If you have file privileges, then you may well upload something with a web interface.

8. Bulk checking sites for SQL injections

And even jSQL Injection has this feature. Everything is extremely simple - upload 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.

Output by jSQL Injection

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

Of the shortcomings, I would note the impossibility of editing databases (at least I did not find this functionality). As with all tools with a graphical interface, the inability to use in scripts can be attributed to the disadvantages of this program. Nevertheless, some automation is possible in this program too - thanks to the built-in mass site check function.

established sample and certificate. Special discount for any faculties and courses!

How to search using google.com

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 structures, you can achieve the results of what you are looking for much more efficiently and faster =) In this article I will try to show that and how you need to do to search correctly

Google supports several advanced search operators that have special meaning when searching on google.com. Typically, these operators modify the search, or even tell Google to do completely different types of searches. For example, the construction link: is a special operator, and the query link:www.google.com will not give you a normal search, but will instead find all web pages that have links to google.com.
alternative request types

cache: If you include other words in the query, Google will highlight those included words within the cached document.
For example, cache:www.web site will show cached content with the word "web" highlighted.

link: the above search query will show web pages that contain links to the specified query.
For example: link:www.website will display all pages that have a link to http://www.site

related: Displays web pages that are "related" to the specified web page.
For example, related: www.google.com will list web pages that are similar to the Google home page.

info: Request Information: will provide some information that Google has about the requested web page.
For example, info:website will show information about our forum =) (Armada - Forum of adult webmasters).

Other information requests

define: The define: query will provide a definition of the words you type after this, compiled from various online sources. The definition will be for the entire phrase entered (that is, it will include all words in the exact query).

stocks: If you start a query with stocks: Google will treat the rest of the query terms as stock tickers, and link to a page showing the prepared information for those characters.
For example, stocks: intel yahoo will show information about Intel and Yahoo. (Note that you must print breaking news characters, not the company name)

Request Modifiers

site: If you include site: in your query, Google will limit the results to the websites it finds in that domain.
You can also search for individual zones, such as ru, org, com, etc ( site:com site:ru)

allintitle: If you run a query with allintitle:, Google will limit results with all the query words in the title.
For example, allintitle: google search will return all Google search pages like images, Blog, etc

title: If you include intitle: in your query, Google will restrict results to documents containing that word in the title.
For example, title:Business

allinurl: If you run a query with allinurl: Google will limit the results with all the query words in the URL.
For example, allinurl: google search will return documents with google and search in the title. Also, as an option, you can separate words with a slash (/) then the words on both sides of the slash will be searched within the same page: Example allinurl: foo/bar

inurl: If you include inurl: in your query, Google will limit the results to documents containing that word in the URL.
For example, Animation inurl:website

intext: searches only in the text of the page for the specified word, ignoring the title and texts of links, and other things not related to. There is also a derivative of this modifier - allintext: those. further, all words in the query will be searched only in the text, which is also important, ignoring frequently used words in links
For example, intext:forum

daterange: searches in time frames (daterange:2452389-2452389), dates for time are specified in Julian format.

Well, and all sorts of interesting examples of requests

Examples of compiling queries for Google. For spammers

inurl:control.guest?a=sign

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

Site:www.freegb.net Homepage

Inurl:sign.asp "Character Count"

"Message:" inurl:sign.cfm "Sender:"

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

Inurl:edu/guestbook “Sign the Guestbook”

Inurl:post "Post Comment" "URL"

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

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

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

Intitle:"Submit New Story"

Magazines

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

inurl greatestjournal.com/mode=reply

Inurl:fastbb.ru/re.pl?

Inurl:fastbb.ru /re.pl? "Guest book"

Blogs

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

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

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

“Post comment” “addresses of anonymous posters” -

Intitle:"Post comment"

Inurl:pirillo.com “Post comment”

Forums

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

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

inurl:”mes.php?”

inurl:”members.html”

inurl:forum/memberlist.php?”

Slito

Hi all guys!
I want to say right away that I am not a deep profile specialist - there are people who are smarter and with deeper knowledge. For me personally, it's a hobby. But there are people who know less than me - first of all, the material is not designed for complete fools, but you don’t need to be super pro to understand it.
Many of us are used to thinking that dork is a vulnerability, alas, you were mistaken - in essence, dork is a search query sent to a search engine.
That is the word index.php?id= dork
but the word Shop is also a dork.
In order to understand what you want, you must be clearly aware of what your requirements for the search engine are. The usual kind of dork index.php?id= can be divided into
index - key
.php? - a code indicating that you need a site based on Php
id= ID of something on the site
id=2 in our case 2 is an indication with which parameter the identifier should be parsed.
If you write index.php?id=2, then there will be sites only where id=2, in case of a mismatch, the site will be filtered out. For this reason, writing an exact indication of the identifier does not make sense - since it can be 1,2,3,4,5 and ad infinitum.
If you decide to create an exact dork, let's say under steam, then it makes sense to give it this look
inurl:game* +intext:"csgo"
it will parse the word game* in the site URL (where * is an arbitrary number of characters after the word game - after all, it can be games and the like)
It is also worth using an operator such as intitle:
If you see a good gaming site or have a list of vulnerable gaming sites
it makes sense to use the related operator for parsing:
For related: a value in the form of a link to the site is suitable

related: ***
- it will find all sites from the point of view of the search engine similar to the specified one
Remember - a dork is a parsing - it's not a hole.
A hole, it is a vulnerability that is detected by a scanner based on what you have parsed.
I personally do not advise using a large number of prefixes (search operators) when you work without proxies.
I'll tell you about the method of creating private roads for the country
In order to create a dork like index.php? id = we have to parse it
index - we will replace with an arbitrary word
.php?id= will be our dork code
There is no point in inventing a new code - because many sites are stable on the same codes and engines and will continue to be. List of codes:

Spoiler: Dorks

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

We will use these codes for the dork generator.
We go to Google translator - we translate into Italian - the list of the most frequently used words.
We parse a list of words in Italian - insert dorks into the first column of the generator - put codes into the second, usually php is a variety of sites, cfm shops, jsp - games.
We generate - we remove gaps. Private dorks for Italy are ready.
It also makes sense to insert phrases in the same language into the right column in the style of "remember me, forgot password" instead of site:it
They will parse cool, they will be private if you parse something unique and replace the dork key.
And add remember me in the same language - then the sites will fly only with bases.
It's all about thinking. Dorks will be of the form name.php?uid= all their token will be in a unique key. They will be mixed, the Inurl: operator does not need to be applied - since parsing will go without it both in the url, and in the text, and in the title.
After all, the meaning of the dork is all in the fact that it can be anything - and steam, and a stick, and a netteler - or maybe not. Here you need to take the quantity.
There is also the so-called vulnerability parsing.

Spoiler: Dorks

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

intext:"FetchRow()"

These dorks immediately look for vulnerability directly, that is, use them together with unique words that were hardly parsed before you

Any search for vulnerabilities on web resources begins with reconnaissance and information gathering.
Intelligence can be either active - brute force of files and directories of the site, launching vulnerability scanners, manually viewing the site, or passive - searching for information in different search engines. Sometimes it happens that a vulnerability becomes known even before the opening of 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 fix what can be used by attackers when attacking 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 sql query execution error message is a plain text, inseparable, for example, from the description of the goods on the page. If suddenly the search robot stumbles upon a file with the .sql extension, which for some reason ended up in the working folder of the site, 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 at exploit-db.com and is known as the Google Hack Database.

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

Table 1 - Key google keywords

Keyword
Meaning
Example
site
Search only on the specified site. Considers only url
site:somesite.ru - finds all pages on the given domain and subdomains
inurl
Search by words present in uri. Unlike cl. words “site”, searches for matches after the site name
inurl:news - finds all pages where the given word occurs in the uri
intext
Search in the body of the page
intext:"traffic" - completely similar to the usual query "traffic"
title
Search in the title of the page. Text between tags <br></td> <td width="214">intitle:”index of” - finds all pages with a directory listing <br></td> </tr><tr><td width="214">ext <br></td> <td width="214">Search for pages with the 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">At present, it is completely analogous 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 - finds 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 cached page content (if available) <br></td> <td width="214">cache:google.com - open page from cache <br></td> </tr></tbody></table><p>Table 2 - Google Query Special Characters <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 query <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Delete word <br></td> <td width="214">error -warning - show all pages with 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 occurs <br></td> </tr></tbody></table><br>It should be understood 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, brackets, punctuation marks, etc.). Even searching for an exact phrase in quotation marks is a word search, followed by an exact match already 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 makes it possible 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 containing the listed webshells: <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 files related to vpn: <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 the administrative consoles of the JBoss server: <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 run 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 - ranging from CMS version to passwords <br></td> <td width="284">Sites with 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">Everything 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 shopping <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 that is not directly related to the web resource, but affects 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 portals <br></td> <td width="190">Pages containing login forms <br></td> <td width="284">saplogon webpages: <br><i>intext:"2016 SAP AG. All rights reserved.” intitle:"login"</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>title:"</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">Sites on vulnerable versions of CMS <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 all sites on the Internet. But nothing prevents you from limiting the search area on any site or sites. <br>Each request to google can be focused on a specific site by adding the keyword "site:somesite.com" to the request. This keyword can be appended to any dork. <p><b>Vulnerability Search Automation</b><br>So the idea was born to write a simple utility that automates the search for vulnerabilities using a search engine (google) and based 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 graphical interface, driven 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 a short help with several examples of use: <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy loading=lazy><br>Figure 1 - List of basic dorks options</p><p>The general syntax of the utility is: dork "command" "list of options". <br>A detailed description of all options is presented in Table 4.</p><p>Table 4 - Syntax dorks <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">Display 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">Download dorks 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 on request <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save result to 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">Specify arbitrary dork (option can be used many times, combination with -D option is allowed) <br></td> </tr><tr><td width="214">-D "file" <br></td> <td width="214">Use dorks from a file <br></td> </tr><tr><td width="214">-s "site" <br></td> <td width="214">Set site (option can be used multiple times, combination with -S option 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 captcha encountered <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save the result to a file (only those dorks 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 on an arbitrary request, or specify the entire category. If you specify category 0, then the entire database will be unloaded (about 4.5 thousand dorks). <p>The list of categories currently available is shown in Figure 2. <br><br><img src='https://i2.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 categories of GHDB dorks</p><p>The google team will substitute each dork into the google search engine and analyze the result for matches. Dorks for which 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 both through an argument and 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. The command: dorks ghdb –c 7 –o errors.dorks will load all known dorks of the “Error Messages” category as shown in Figure 3. <br><br><img src='https://i0.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 loaded and saved to a file. Now it remains to "set" them on some site (see Figure 4). <br><br><img src='https://i2.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 found 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 - Found error messages</p><p>As a result, in the result.txt file we get the complete list of dorks that lead to the error. <br>Figure 6 shows the result of searching for site errors. <br><br>Figure 6 - The result of the search for errors</p><p>In the cache for this dork, a full backtrace is displayed, revealing the absolute paths of the scripts, the content management system of the site, and the type of database (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 structure</p><p>However, it should be borne in mind that not all dorks from GHDB give a true result. 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://i1.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, at the command dorks google -D extensions.txt -f bank, from the very first request, google starts returning sites with "unusual" file extensions (see Figure 9). <br><br><img src='https://i0.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 sites</p><p>Keep in mind that Google does not accept requests longer than 32 words.</p><p>With dorks google –d intext:”error|warning|notice|syntax” –f university <br>You can look for PHP interpreter errors on educational sites (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 you know that the site is running on the wordpress engine, then you need dorks specifically for wordpress. In this case, it is convenient to use the Google Hack Database search. dorks ghdb –q wordpress –o wordpress_dorks.txt will download all wordpress dorks, 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 banks again and with the command dorks google -D wordpress_dords.txt -f bank we will try to find something interesting related to wordpress (see Figure 12). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 12 - Searching for Wordpress vulnerabilities</p><p>It is worth noting that Google Hack Database search 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 dorks system search utility –c all | findstr /I php > php_dorks.txt (see Figure 13): <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy loading=lazy><br>Figure 13 - Search through all dorks where there is a mention of PHP</p><p>Searching for vulnerabilities or some sensitive information in a search engine should be searched only if there is a significant index on this site. For example, if a site has 10-15 pages indexed, then it is stupid to search for something 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://i0.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's nothing to be done - it will have to be entered. For example, when sorting through the “Error Messages” category (90 dorks), the captcha fell out only once.</p><p>It is worth adding that phantomjs also supports work through a proxy, both through http and through the socks interface. To enable proxy mode, uncomment the corresponding line in dorks.bat or dorks.sh.</p><p>The tool is available as source code</p> <p>Receiving private data does not always mean hacking - sometimes it is published in the public domain. Knowing the Google settings and a little ingenuity will allow you to find a lot of interesting things - from credit card numbers to FBI documents.</p> <h2>WARNING</h2>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. <p>Everything is connected to the Internet today, caring little about 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 Web and constantly add confidential information to their databases. Learning these secrets is easy - you just need to know how to ask about them.</p><h2>Looking for files</h2> <p>In capable hands, Google will quickly find everything that is bad on the Web, such as 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 just lies in the back of the site, where links do not lead. The standard Google web interface provides only basic advanced search settings, but even these will be enough.</p> <p>There are two operators you can use to restrict Google searches to files of a certain type: filetype and ext . The first sets the format that the search engine determined by the file header, the second - the file extension, regardless of its internal content. When searching in both cases, you need to specify only the extension. Initially, the ext operator was convenient to use in cases where there were no specific format features for the file (for example, to search for ini and cfg configuration files, which can contain anything). Now Google's algorithms have changed, and there is no visible difference between the operators - the results are the same in most cases.</p> <br><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359798_b3e1_filetype_ext.png' width="100%" loading=lazy loading=lazy><h2>Filtering the output</h2> <p>By default, Google searches for words and in general for any characters entered in all files on indexed pages. You can limit the search scope by the top-level domain, a specific site, or by the location of the desired sequence in the files themselves. For the first two options, the site statement is used, followed by the name of the domain or the 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 specified in the body of the links themselves, allinanchor - in the text provided with the tag <a name>, allintitle - in the page headers, allintext - in the body of the pages.</p> <p>For each operator there is a lighter version with a shorter name (without the prefix all). The difference is that allinurl will find links with all words, while 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 similar in meaning - site . The first one also allows you to find any sequence of characters in the link to the desired document (for example, /cgi-bin/), which is widely used to find components with known vulnerabilities.</p> <p>Let's try it in practice. We take the allintext filter and make the query return a list of credit card numbers and verification codes, which will expire only after two years (or when their owners get tired of feeding everyone in a row).</p><p>Allintext: card number expiration date /2017 cvv <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359828_0660_cc_2017.png' width="100%" loading=lazy loading=lazy></p><p>When you read on the news that a young hacker "hacked into the servers" of the Pentagon or NASA, stealing classified information, then in most cases it is precisely this elementary technique of using Google. Suppose we are interested in a list of NASA employees and their contact details. Surely such a list is in electronic form. For convenience or due to an oversight, it can also lie on the organization's website itself. It is logical that in this case there will be no references to it, since it is intended for internal use. What words can be in such a file? At least - the field "address". It is easy to test all these assumptions.</p> <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359852_9681_google_inurl.png' width="100%" loading=lazy loading=lazy><p>inurl:nasa.gov filetype:xlsx "address"</p> <br><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359864_215b_nasa_address.png' width="100%" loading=lazy loading=lazy><h2>We use bureaucracy</h2> <p>Such finds are a pleasant trifle. The really solid catch comes from a more detailed knowledge of Google Webmaster Operators, the Web itself, and the structure of what you're looking for. Knowing the details, you can easily filter the output and refine the properties of the files you need in order to get really valuable data in the rest. It's funny that bureaucracy comes to the rescue here. It produces typical formulations that make it convenient to search for secret information that has accidentally leaked onto the Web.</p> <p>For example, the Distribution statement stamp, which is mandatory in the office of the US Department of Defense, means standardized restrictions on the distribution of a document. The letter A marks public releases in which there is nothing secret; B - intended for internal use only, C - strictly confidential, and so on up to F. Separately, there is the letter X, which marks especially valuable information that represents a state secret of the highest level. Let those who are supposed to do it on duty look for such documents, and we will limit ourselves to files with the letter C. According to DoDI 5230.24, such marking is assigned to documents containing a description of critical technologies that fall under export control. You can find such carefully guarded information on sites in the .mil top-level domain allocated to the US Army.</p><p>"DISTRIBUTION STATEMENT C" inurl:navy.mil <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359886_8f3e_distribution_c.jpg' width="100%" loading=lazy loading=lazy></p><p>It is very convenient that only sites from the US Department of Defense and its contract organizations are collected in the .mil domain. Domain-limited search results are exceptionally clean, and the titles speak for themselves. It is practically useless to search for Russian secrets in this way: chaos reigns in the .ru and .rf domains, and the names of many weapons systems sound like botanical (PP "Kiparis", self-propelled guns "Acacia") or even fabulous (TOS "Pinocchio").</p> <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359901_5076_th-57c.jpg' width="100%" loading=lazy loading=lazy><p>By carefully examining 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 to search for interesting technical information. From time to time, it is removed from official sites, where it once appeared, so if you can’t follow an interesting link in the search results, use the Google cache (cache operator) or the Internet Archive website.</p> <h2>We climb into the clouds</h2> <p>In addition to accidentally declassified documents from government departments, links to personal files from Dropbox and other data storage services that create "private" links to publicly published data occasionally pop up in the Google cache. It's even worse with alternative and self-made services. For example, the following query finds the data of all Verizon clients that have an FTP server installed and actively using a router on their router.</p><p>Allinurl:ftp://verizon.net</p><p>There are now more than forty thousand such smart people, and in the spring of 2015 there were an order of magnitude more. 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 drive connected to the router. Usually this is a NAS for remote work, a personal cloud, or some kind of peer-to-peer file download. All the content of such media is indexed by Google and other search engines, so you can access files stored on external drives via a direct link.</p> <p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359919_7cea_allinurl_verizon_ftp.png' width="100%" loading=lazy loading=lazy></p> <h2>Peeping configs</h2> <p>Before the wholesale migration to the clouds, simple FTP servers, which also lacked vulnerabilities, ruled as remote storages. 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 because all entries are stored in plain text and passwords are encrypted using the Triple DES algorithm after minimal obfuscation. In most versions, simply discarding the first byte is sufficient.</p> <p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359934_1d8d_ws_ftp-pwd.png' width="100%" loading=lazy loading=lazy></p> <p>Decrypting such passwords is easy using the WS_FTP Password Decryptor utility or a free web service.</p> <p><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359947_3060_ws_ftp-pwd_found.png' width="100%" loading=lazy loading=lazy></p> <p>When talking about hacking an arbitrary site, they usually mean getting a password from logs and backups of CMS or e-commerce application configuration files. If you know their typical structure, then you can easily indicate the keywords. Lines like those found in ws_ftp.ini are extremely common. For example, Drupal and PrestaShop always have a user ID (UID) and a corresponding password (pwd), and all information is stored in files with the .inc extension. You can search for them like this:</p><p>"pwd=" "UID=" ext:inc</p><h2>We reveal passwords from the DBMS</h2> <p>In the configuration files of SQL servers, user names and email addresses are stored in clear text, and instead of passwords, their MD5 hashes are recorded. Decrypting them, strictly speaking, is impossible, but you can find a match among known hash-password pairs.</p> <p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359963_9e67_sql_code.png' width="100%" loading=lazy loading=lazy></p> <p>Until now, there are DBMSs that do not even use password hashing. The configuration files of any of them can simply be viewed in the browser.</p><p>Intext:DB_PASSWORD filetype:env</p><p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359975_d137_env.png' width="100%" loading=lazy loading=lazy></p> <p>With the advent of Windows servers, the place of configuration files was partly 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:</p><p>Filetype:reg HKEY_CURRENT_USER "Password"=</p><p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359995_2ecf_reg.png' width="100%" loading=lazy loading=lazy></p> <h2>Don't Forget the Obvious</h2> <p>Sometimes it is possible to get to classified information with the help of data accidentally opened and caught by 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, a Word document, or an Excel spreadsheet, but there are always enough of them.</p><p>Filetype:xls inurl:password</p><p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360015_16e4_xls.png' width="100%" loading=lazy loading=lazy></p> <p>On the one hand, there are many means to prevent such incidents. It is necessary to specify adequate access rights in htaccess, patch CMS, do not use left scripts and close other holes. There is also a file with a robots.txt exclusion list, which prohibits search engines from indexing the files and directories specified in it. On the other hand, if the robots.txt structure on some server differs from the standard one, then it immediately becomes clear what they are trying to hide on it.</p> <p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360029_5da8_robots.png' width="100%" loading=lazy loading=lazy></p> <p>The list of directories and files on any site is preceded by the standard inscription index of. Since it must appear in the title for service purposes, it makes sense to limit its search to the intitle operator. Interesting stuff can be found in the /admin/, /personal/, /etc/ and even /secret/ directories.</p> <p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360054_2a7b_indexof.png' width="100%" loading=lazy loading=lazy></p> <h2>Follow the updates</h2> <p>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 the "last second" filter (&tbs=qdr:s at the end of the request url) and the "real time" filter (&tbs=qdr:1).</p> <p>The time interval of the last file update date from Google is also implicitly indicated. Through the graphical web interface, you can select one of the typical periods (hour, day, week, and so on) or set a date range, but this method is not suitable for automation.</p> <p>From the appearance of the address bar, one can only guess about a way to limit the output of results using the &tbs=qdr: construct. The letter y after it specifies a 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 the give me a sec. The most recent results just made known to Google are found using the &tbs=qdr:1 filter.</p> <p>If you need to write a tricky script, it will be useful to know that the date range is set in Google in Julian format through the daterange operator. For example, this is how you can find a list of PDF documents with the word confidential uploaded between January 1st and July 1st, 2015.</p><p>Confidential filetype:pdf daterange:2457024-2457205</p><p>The range is specified in Julian date format without decimals. It is inconvenient to translate them manually from the Gregorian calendar. It's easier to use a date converter.</p> <h2>Targeting and filtering again</h2> <p>In addition to specifying additional operators in the search query, they can be sent directly in the link body. For example, the filetype:pdf trait corresponds to the as_filetype=pdf construct. Thus, it is convenient to set any clarifications. Let's say that the output of results only from the Republic of Honduras is set by adding the construction cr=countryHN to the search URL, but only from the city of Bobruisk - gcs=Bobruisk . See the developer section for a complete list of .</p> <p>Google's automation tools are designed to make life easier, but often add to the hassle. For example, a 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 query, different results will get to the first page, and some of them may turn out to be completely hidden. Feel like a cosmopolitan and search for information from any country will help its two-letter code after the directive gl=country . For example, the code for the Netherlands is NL, while the Vatican and North Korea do not have their own code in Google.</p> <p>Often search results are littered even after using a few advanced filters. In this case, it is easy to refine the query by adding a few exception words to it (each of them is preceded by a minus sign). For example, banking , names , and tutorial are often used with the word Personal. Therefore, cleaner search results will show not a textbook example of a query, but a refined one:</p><p>Intitle:"Index of /Personal/" -names -tutorial -banking</p><h2>Last Example</h2> <p>A sophisticated hacker is distinguished by the fact that he provides himself with everything he needs on his own. For example, a VPN is a convenient thing, but either expensive or temporary and with restrictions. Signing up for yourself alone 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 staff of the University of Bonn.</p><p>Filetype:pcf vpn OR Group</p><p><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360077_d28b_vpn.png' width="100%" loading=lazy loading=lazy></p> <h2>INFO</h2>Google finds configuration files with passwords, 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. <br><p>The passwords are stored in encrypted form, but Maurice Massard has already written a program to decrypt them and provides it for free through thecampusgeeks.com.</p> <p>With the help of Google, hundreds of different types of attacks and penetration tests are performed. There are many options, affecting popular programs, major database formats, numerous PHP vulnerabilities, clouds, and so on. Knowing exactly what you're looking for makes it much easier to get the information you need (especially the information you didn't intend to make public). Not only Shodan feeds interesting ideas, but any database of indexed network resources! <br></p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <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> </article> <div class="post_tags"> <p> <a href="https://tfmarket.ru/en/category/fashion/" rel="tag">Fashion</a></p> </div> <div class="post_social"> <div class="sls"><a class="widget_vk sls-left" data-soacial="vk" data-href="http://vk.com/share.php?url=https%3A%2F%2Ftfmarket.ru%2Ffashion%2Fispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" title="Share link on Vkontakte" onclick="vk_href();"> <span class="vk_btn sls-like sls_like_vk"> <i class="fa fa-vk"></i> 1 </span> </a><a class="widget_fb sls-left" data-soacial="fb" data-href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Ftfmarket.ru%2Ffashion%2Fispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" title="Share link on Facebook" onclick="fb_href();"> <span class="fb_btn sls-like sls_like_fb"> <i class="fa fa-facebook"></i> 0</span> </a><a class="widget_tw sls-left" data-soacial="tw" data-href="https://twitter.com/share?url=https%3A%2F%2Ftfmarket.ru%2Fen%2Ffashion%2Fispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" title="Share link on Twitter" onclick="tw_href();"> <span class="tw_btn sls-like sls_like_tw"> <i class="fa fa-twitter"></i> </span> </a><a onclick="ok_href();" class="widget_ok sls-left" data-soacial="ok" data-href="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=https%3A%2F%2Ftfmarket.ru%2Ffashion%2Fispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" title="Share link on Odnoklassniki"> <span class="ok_btn sls-like sls_like_ok"> <i class="fa fa-odnoklassniki"></i> 0</span> </a></div> <span class="disclaimer">If you find an error, please select a piece of text and press Ctrl+Enter.</span> </div> </div> </div> <div class="sidebar_right"> <div class="sidebar_wrapper"> <div class='top-banner'> </div> <div class="didgest"> <div class="textwidget custom-html-widget"> </div> <div class="textwidget custom-html-widget"> <style> .aligncenter { text-align: center } h4 { font-family: GothamProMed; font-size: 1.1em; margin-bottom: 0; } .mobile-archive-title h1 { text-transform: uppercase; font-size: 30px!important; margin: 0!important; color: #000; text-align: left; font-family: AkrobatExtraBold; line-height: .8; letter-spacing: .6px; } .post_content { color: #333; } #wpadminbar { position: absolute } header { z-index: 99999; } .category-promo .post_title:before, .category-promo-old .post_title:before { background: url(/wp-content/themes/medialeaks_2k17/img/promo.png); content: ' '; height: 55px; width: 100px; position: absolute; right: 15px; top: 15px; z-index: 999 } .category-promo-old>.darken:before, .category-promo>.darken:before { background: url(/wp-content/themes/medialeaks_2k17/img/promo.png); content: ' '; height: 55px; width: 100px; position: absolute; right: 5px; top: 5px } .sidebar_right { float: none } .sidebar_wrapper.paused, .sidebar_wrapper.fixed { margin-left: 0; } </style> </div> </div> </div> </div> </div> <div class="textwidget custom-html-widget"> <style> .plista_widget_webApp .itemTitle { /*изменяются существующие правила*/ font-size: 18px; line-height: 21px; -webkit-font-smoothing: antialiased; /*размеры шрифтов приводим в визуальное соответствие с макетом*/ } .plista_widget_belowArticle .plistaHl { text-transform: uppercase; font-family: Akrobat-bold; } .plista_widget_belowArticle .itemTitle { /*изменяется*/ font-family: GothamProMed, Arial, Helvetica, sans-serif; line-height: 1.4; /*на десктопе меняем шрифт*/ } .plista_widget_belowArticle .itemLink, .plista_widget_belowArticle .itemLinkPET { /*изменяется*/ width: 33%; /*чтобы было 3 в ряд, а не 4*/ } .plista_widget_belowArticle .itemLink:hover, .plista_widget_belowArticle .itemLinkPET:hover { /*убираем*/ background: none!important; /*оказывается, мы забыли ховеры, ниже будут распишу*/ } .plista_widget_belowArticle a:hover .itemTitle { /*добавляется*/ border-bottom: 2px solid #ffca00; /*вместо андерлайна*/ } .plista_widget_belowArticle .itemTitle { /*добавляется*/ display: inline; border-bottom: 2px solid transparent; /*для аккуратности*/ } .plista_widget_imgwrapper { /*добавляется*/ padding-bottom: 25px; /*чиним верхний инлайн*/ } @media screen and (max-width: 600px) { .plista_widget_belowArticle { /*добавляется*/ margin-left: 0; /*компенсируем отступ обратно*/ } .plista_widget_webApp .plista_widget_imgwrapper+.itemTitle { /*изменяется*/ margin: 22px 0 6px 0; /*приводим отступ на девайсе в визуальное соответствие с макетом*/ } .plista_widget_imgwrapper { /*добавляется*/ padding-bottom: 0px; /*чтобы не было слишком много*/ } .plista_widget_webApp .plista_widget_imgwrapper, .plista_widget_webApp .itemFlashWrap { /*изменяются*/ width: calc( 100% + 30px) !important; margin-left: -15px!important; /*растягиваем изображения на девайсах по всей ширине экрана*/ } .plista_widget_belowArticle .itemTitle { /*добавляется*/ font-family: GothamPro, Arial, Helvetica, sans-serif; /*на мобилке возвращаем шрифт*/ } } .post_wrapper { margin-bottom: 25px } .sidebar_wrapper { position: absolute } .sidebar_wrapper.fixed { position: fixed } /*plista*/ .plista_widget_webApp .itemTitle { font-size: 18px; line-height: 21px; -webkit-font-smoothing: antialiased } .plista_widget_belowArticle .plistaHl { text-transform: uppercase; font-family: Akrobat-bold } .plista_widget_belowArticle .itemTitle { font-family: GothamProMed, Arial, Helvetica, sans-serif; line-height: 1.4 } .plista_widget_belowArticle .itemLink, .plista_widget_belowArticle .itemLinkPET { width: 33% } .plista_widget_belowArticle .itemLink:hover, .plista_widget_belowArticle .itemLinkPET:hover { background: none!important } .plista_widget_belowArticle a:hover .itemTitle { border-bottom: 2px solid #ffca00 } .plista_widget_belowArticle .itemTitle { display: inline; border-bottom: 2px solid transparent } .plista_widget_imgwrapper { padding-bottom: 25px } @media screen and (max-width:600px) { .plista_widget_belowArticle { margin-left: 0 } .plista_widget_webApp .plista_widget_imgwrapper+.itemTitle { margin: 22px 0 6px 0 } .plista_widget_imgwrapper { padding-bottom: 0 } .plista_widget_webApp .plista_widget_imgwrapper, .plista_widget_webApp .itemFlashWrap { width: calc(100% + 30px)!important; margin-left: -15px!important } .plista_widget_belowArticle .itemTitle { font-family: GothamPro, Arial, Helvetica, sans-serif } } .most-readable.plista { margin-top: 50px } .native_link { position: relative; display: inline-block; text-transform: none; text-decoration: none; overflow: hidden; background: transparent; width: 32%; height: auto; border: none; padding: 0 0 40px 3.5%; vertical-align: text-top } .native_link:nth-child(3n) { margin-right: 0 } .native_itemTitle { position: relative; display: inline; font-style: normal; text-transform: none; text-decoration: none; text-align: left; margin: 21px 0 6px; padding: 0; font-family: GothamProMed, Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; color: #000; border-bottom: 2px solid transparent } .native_link:hover .native_itemTitle { border-bottom: 2px solid #ffca00; color: #ffc831 } .native_block { width: auto; height: auto; background-color: #fff; padding: 54px 5px 30px; border-bottom: 0; border-bottom: 0; margin: 0; display: block } .native_credintail { max-width: 332px; max-height: 186px; overflow: hidden; margin-bottom: 30px } .native_credintail img { padding-bottom: 25px; width: 100%; height: auto } .native_block h2 { position: relative; display: block; font-style: normal; text-transform: none; text-decoration: none; text-align: left; font-family: Akrobat; font-size: 33px; font-weight: 800; line-height: 1.33; letter-spacing: 1px; padding: 0 0 40px 4%; color: #f3b700; margin: 0; text-transform: uppercase } .native_block { border-left: solid #fac831; border-right: solid #fac831; padding: 0 10px } .plista_widget_belowArticle_firstBlock { border-top: 3px solid #ffc831!important; padding-top: 35px!important } .plista_widget_belowArticle_firstBlock .plistaHeadline { display: block } @media(max-width:740px) { .native_link { width: 100%; padding: 0 0 50px } .native_credintail { max-width: 100%; max-height: 100%; overflow: visible; margin-bottom: 0 } .native_block { padding: 54px 15px 0 } .native_block h2 { padding-left: 0 } .plista_widget_belowArticle_firstBlock .itemLink, .plista_widget_belowArticle_second .itemLink { padding: 0 0 50px 4% } } @media(max-width:600px) { .native_itemTitle { margin: 0 10px 0 } .most-readable.plista { margin-top: 0 } .native_link { padding: 0 0 25px } .native_block h2 { padding-left: 10px } .plista_widget_belowArticle_firstBlock, .plista_widget_belowArticle_second, .native_block { border: none!important; padding: 0!important } .plista_widget_belowArticle_firstBlock .itemTitle, .plista_widget_belowArticle_second .itemTitle, .native_block .native_itemTitle { display: inline-block; margin: 0 20px 6px } .plista_widget_belowArticle_firstBlock .plistaHeadline { display: block; padding: 0 20px 20px } } @media (max-width:740px) { .category-promo, .category-promo-old { height: 100% } } </style> </div> <div class="most-readable"> <h2>Editor's Choice</h2> <div class="mr_row"> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/manicure/rodinki-na-tele-vedminy-otmetki-znachenie-rodinok-na-tele.html"> <p>The meaning of moles on the body - find out what yours means</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/hair/gadanie-na-voske-dom-znachenie-osnovnye-etapy-litya-voska.html"> <p>The main stages of wax casting</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/makeup/gadanie-podkova-gadanie-podkova-pravilnaya-podgotovka-k-nemu.html"> <p>Fortune telling "Horseshoe": proper preparation for it and features of implementation</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> </div> <div class="mr_row"> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/fashion/ispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html"> <p>Using Little-Known Google Features to Find What's Hidden Climbing into the Clouds</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/manicure-and-pedicure/peremennye-okruzheniya-php-peremennye-okruzheniya-formiruemye-serverom.html"> <p>php environment variables</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> <div class="mr_block"> <div class="mr_block_border"> <a href="https://tfmarket.ru/en/delicious-recipes/yazyk-zaprosov-xpath-primery-xpath-zaprosov-k-html-osnovy-yazyka-zaprosov.html"> <p>Examples of xpath queries against html Basics of the xpath query language</p> <div><span class="likes"> </span> </div> </a> </div> </div> <!-- /next_post --> </div> <div class="mr_row"> </div> </div> </div> <div class="textwidget custom-html-widget"> </div> <div class="textwidget custom-html-widget"><span id="mob-stck-banner" class="dfp1"><span id="mob-stck-cross"><img src="https://tfmarket.ru/wp-content/uploads/2017/07/cross.png" loading=lazy loading=lazy></span><span id="desk-stck-cross"><img src="https://tfmarket.ru/wp-content/uploads/2017/09/crossblue.png" loading=lazy loading=lazy></span><span id="adfxStckBan" class="dfp1"></span></span> <style> .page-not-found { max-width: 100%; margin: 0 auto; } @media (max-width: 740px) { .page-not-found { margin: 0 auto; background-image: url(/wp-content/uploads/2017/11/404-mob.gif); background-position: left; } } .mediametricsblock>div { display: inline; float: right; } .mediametricsblock>div.tvzavr { float: none; } #mob-stck-banner { bottom: -400px; position: fixed; z-index: 999999; left: -163px; width: 100%; margin: 0!important; margin-bottom: -38px !important; text-align: center; -webkit-transition: bottom 1s; -moz-transition: bottom 1s; -ms-transition: bottom 1s; -o-transition: bottom 1s; transition: bottom 1s; } #mob-stck-cross { float: right; height: 35px; display: none; } #adfxStckBan { position: relative; margin: 0!important; } #adfxStckBan img { width: 100%; max-width: 875px; } #desk-stck-cross { display: block; max-width: 778px; margin: 0 auto; cursor: pointer; } #desk-stck-cross img { right: calc( 50% - 438px); position: absolute; z-index: 99; top: -38px; cursor: pointer; } @media (max-width: 769px) { #mob-stck-banner { left: 0; bottom: 0; } #adfxStckBan img { margin-bottom: 35px; max-width: auto; } #mob-stck-cross { display: block; } #desk-stck-cross { display: none; } } </style> </div> </div> <footer> <div class="footer_container"> <a href="https://tfmarket.ru/en/" class="footer_logo">tfmarket.ru</a> <div class="menu-footermenu-container"><ul id="menu-footermenu" class="menu"> <li class="menu-item type-post_type object-page "><a href="https://tfmarket.ru/en/feedback.html">Contacts</a></li> <li class="menu-item type-post_type object-page "><a href="">about the project</a></li> <li class="menu-item type-post_type object-page "><a href="">Advertising</a></li> <li class="menu-item type-post_type object-page "><a href="https://tfmarket.ru/en/feedback.html">Jobs</a></li> </ul></div> <div class="footer_social"> <p> <a href="https://vk.com/share.php?url=https://tfmarket.ru/fashion/ispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" target="_blank" rel="noopener"><i class="fa fa-vk"></i></a> <a href="https://www.facebook.com/sharer/sharer.php?u=https://tfmarket.ru/fashion/ispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" target="_blank" rel="noopener"><i class="fa fa-facebook"></i></a> <a href="https://www.twitter.com/share?url=https%3A%2F%2Ftfmarket.ru%2Fen%2Ffashion%2Fispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" target="_blank" rel="noopener"><i class="fa fa-twitter"></i></a> <a href="https://connect.ok.ru/offer?url=https://tfmarket.ru/fashion/ispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe-ispolzuem.html" target="_blank" rel="noopener"><i class="fa fa-odnoklassniki"></i></a> </p> </div> <span>16+</span> </div> </footer> <noscript> </noscript> <script type='text/javascript' src='/assets/script1.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.8.1'></script> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html>