Menu
Is free
registration
home  /  Education/ Inurl view php bold. Leveraging Google's Little-Known Features to Find Hidden Things

Inurl view php is bold. Leveraging Google's Little-Known Features to Find Hidden Things

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

3. Anonymity when checking the site for SQL injection

Configuring Tor and Privoxy on Kali Linux

[Section under construction]

Configuring Tor and Privoxy on Windows

[Section under construction]

Settings for working through a proxy in jSQL Injection

[Section under construction]

4. Checking the site for SQL injection with jSQL Injection

Working with the program is extremely simple. It is enough to enter the site address and press ENTER.

The following screenshot shows that the site is vulnerable to three types of SQL injection 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, the existing databases have already been displayed.

You can see the contents of each table:

Usually, the most interesting things in the tables are the administrator's credentials.

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

5. Search for admin areas with jSQL Injection

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

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

Unfortunately, careless programmers who store passwords in open form, not too much. Quite often, in the password line, we see something like

8743b52063cd84097a65d1633f5c74f5

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

6. Brute-forcing hashes using jSQL Injection

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

This is not the most 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 learn, jSQL Injection with a built-in brute-force function will come in handy.

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

7. Operations with files after detecting SQL injection

In addition to operations with databases - reading and modifying them, in case of detection of SQL injections, 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. For reasonable system administrators, they are disabled and access to file system you will not be able to get it.

The existence 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 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.

Take a 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 about it.

If instead you have a different error:

Problem writing into [directory_name]

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

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

Such an entry (line Win64) gives us reason to assume that we are dealing with a 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, most likely, this person has not heard anything about privileges. Therefore, it is worth starting attempts directly from the C: / Windows / directory:

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

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

8. Bulk check of sites for SQL-injection

And even jSQL Injection has this feature. Everything is extremely simple - load a list of sites (you can import from a file), select those that you want to check and press the appropriate button to start the operation.

Conclusion on jSQL Injection

jSQL Injection is a good, powerful tool for finding and then using SQL Injection 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 disadvantages of this program can be attributed to the impossibility of using it in scripts. Nevertheless, some automation is possible in this program too - thanks to the built-in bulk site check function.

Of the established sample and certificate... At a special discount for any faculty and courses!

Merged

Hi all guys!
I want to say right away that I am not a deep-profile specialist - there are people who are both smarter and with deeper knowledge. For me personally, this is a hobby. But there are people who know less than me - first of all, the material is not designed for completely fools, but you also don’t need to be super pro to understand it.
Many of us are used to thinking that a dork is a vulnerability, alas, you were wrong - in essence, a 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 a search engine are. Regular dork index.php? Id = can be divided into
index - key
.php? - a code indicating that you need a site on Php
id = identifier 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 mismatch the site will be eliminated. For this reason, it makes no sense to write an exact indication of the identifier - since it can 1,2,3,4,5 and indefinitely.
If you decide to create an exact dork, let's say under Steam, then it makes sense to give it such a look
inurl: game * + intext: "csgo"
it will parse the word game * in the url of the site (where * is an arbitrary number of characters after the word game - after all, there can be games and the like)
It is also worth using an operator such as intitle:
If you've seen 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 are similar to the specified
Remember - dork is 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 recommend using a large number of prefixes (search operators) when you work without proxies.
I will tell you about the method of creating private roads for the country
In order to create a dork like index.php? Id = we will have to parse it
index - we will replace it with an arbitrary word
.php? id = will be our dork code
Dream up new code it makes no sense - because many sites are stable on the same codes and engines and will stand. List of codes:

Spoiler: Doors

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 most frequently used words are a list.
Parse the list of words in Italian - insert it into the first column of the dork generator - put the codes in the second column, usually php is a variety of sites, cfm shops, jsp - games.
Generating - removing spaces. Privat dorks for Italy are ready.
It also makes sense to insert in the right column phrases in the same language in the style of "remember me, forgot your 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 databases.
It's all about thinking. The doors will be of the form name.php? Uid = their whole feature will be in a unique key. They will be mixed, the Inurl operator: no need to apply - since parsing will go without it in the url, in the text, and in the title.
After all, the meaning of the dork is 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: Doors

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

intext: "FetchRow ()"

These dorks immediately look for vulnerabilities directly, that is, use them together with unique words that are unlikely to be parsed before you

Getting private data doesn't always mean hacking - sometimes it's published in public access... Knowledge 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 editorial board nor the author is responsible for any possible harm caused by the materials of this article.

Today, everything is connected to the Internet, caring little about restricting access. Therefore, a lot of private data becomes the prey of search engines. Spider robots are no longer limited to web pages, but index all the content available on the Web and constantly add undisclosed information to their databases. Finding these secrets is easy - you just need to know exactly how to ask about them.

Looking for files

In the right hands, Google will quickly find everything that is bad on the Web - 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 just lies on the backyard of the site, where links do not lead. Google's standard web interface only provides basic settings advanced search, but even those will suffice.

You can use two operators to limit your search to specific file types on Google using filetype and ext. The first specifies the format that the search engine determined by the file title, the second - 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 features (for example, to search for ini and cfg configuration files, inside which there could be anything). Now Google's algorithms have changed, and there is no visible difference between operators - the results in most cases come out the same.


Filtering the issue

By default, Google searches for words and, in general, any entered characters in all files on indexed pages. You can limit the search scope by domain top level, a specific site or by the location of the desired sequence in the files themselves. For the first two options, the operator site 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 with the tag , allintitle - in the page titles, allintext - in the body of the pages.

For each operator there is a light version with a shorter name (without the all prefix). The difference is that allinurl will find links with all words, while inurl will only find links with the first one. 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 former 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 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).

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, then in most cases we are talking about just such an elementary technique of using Google. Suppose we are interested in a list of NASA employees and their contact details. Surely there is such a list in electronic form. For convenience or by oversight, it can also be found 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 least - the "address" field. Testing all these assumptions is easy.


Inurl: nasa.gov filetype: xlsx "address"


We use bureaucracy

Finds like these are a nice little thing. A really solid catch provides a more detailed knowledge of Google operators for webmasters, the Web itself, and the structure of what they are looking for. Knowing the details, you can easily filter the results 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 accidentally leaked into the Web.

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. Letter A denotes public releases in which there is nothing secret; B - for internal use only, C - strictly confidential, and so on up to F. Separately, there is the letter X, which marks especially valuable information representing a state secret of the highest level. Let such documents be searched for by those who are supposed to do it on duty, and we will restrict ourselves to files with the letter C. According to the DoDI directive 5230.24, such marking is assigned to documents containing a description of critical technologies that fall under export control. Such highly guarded information can be found on sites in the .mil top-level domain dedicated to 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. Domain-restricted search results are exceptionally clean, and the headlines are self-explanatory. 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 botanical (PP "Cypress", ACS "Akatsiya") or completely fabulous (TOS "Buratino").


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 export restrictions "Sec 2751", which is also convenient to search for interesting technical information. From time to time, it is withdrawn from the official sites, where it was once lit up, so if you cannot follow an interesting link in the search results, use Google's cache (operator cache) or the Internet Archive site.

Climbing into the clouds

In addition to accidentally declassified government documents, Google's cache occasionally pops up links to personal files from Dropbox and other storage services that create "private" links to publicly published data. It's even worse with alternative and homemade services. For example, the following request finds data from all Verizon clients who have an FTP server installed and actively used on their router.

Allinurl: ftp: // verizon.net

There are now more than forty thousand such clever 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 bigger the catch can be. Through the built-in FTP server, you can see the files on the external storage 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 contents of such media are indexed by Google and other search engines, so you can access files stored on external drives using a direct link.

Peeping configs

Before the massive migration to the clouds, simple FTP servers, which also had enough 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 as all records are stored in plain text and passwords are encrypted with Triple DES 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.

Speaking of hacking an arbitrary site, they usually mean obtaining a password from the logs and backups of CMS configuration files or applications for ecommerce... If you know their typical structure, then you can easily indicate keywords... Lines like those found in ws_ftp.ini are extremely common. For example, Drupal and PrestaShop 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 as follows:

"pwd =" "UID =" ext: inc

Revealing passwords from DBMS

In configuration files of SQL servers names and addresses Email users 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.

Until now, there are DBMSs that do not even use password hashing. The configuration files for any of them can simply be viewed in the browser.

Intext: DB_PASSWORD filetype: env

With the advent on servers Windows place configuration files partly occupied 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" =

Don't forget the obvious

Sometimes it is possible to get to classified information with the help of accidentally opened and caught in the field of view Google data... Ideally, find a list of passwords in some common format. Store account information in text file, Word document or electronic Excel spreadsheet only desperate people can, but there are always enough of them.

Filetype: xls inurl: password

On the one hand, there are plenty of tools to prevent such incidents. It is necessary to specify adequate access rights in htaccess, patch CMS, do not use left-hand scripts and close other holes. There is also a robots.txt file that prevents search engines from indexing 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 becomes immediately 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 should appear in the header, it makes sense to limit its search to the intitle operator. Interesting things are in the / admin /, / personal /, / etc / and even / secret / directories.

Follow the updates

The relevance here is extremely important: old vulnerabilities are being 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 “real time” (& tbs = qdr: 1).

Date time interval last update file 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.

By sight address bar you can only guess about a way to limit the output of the results using the construction & tbs = qdr:. 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 last hour, n - in a minute, and s - in a second. The most recent results just reported to Google are found using the & tbs = qdr: 1 filter.

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 using the daterange operator. For example, this is how you can find the list PDF documents with the word confidential, uploaded from 1st January to 1st July 2015.

Confidential filetype: pdf daterange: 2457024-2457205

The range is specified in Julian date format, excluding 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, you can send them directly in the body of the link. For example, the qualification filetype: pdf corresponds to the construction as_filetype = pdf. Thus, it is convenient to specify any clarifications. Suppose that results are returned only from the Republic of Honduras by adding the cr = countryHN construction to the search URL, and only from the city of Bobruisk - gcs = Bobruisk. See the developer section for a complete list.

Google's automation tools are meant to make life easier, but they often add challenges. For example, the user's city is determined by the user's IP via 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, the first page will get different results, and some of them may be completely hidden. To feel like a cosmopolitan and to search for information from any country, its two-letter code after the gl = country directive will help. For example, the Netherlands code is NL, but the Vatican and North Korea do not have their own code on Google.

Often, search results are cluttered even after using a few advanced filters. In this case, it is easy to refine the query by adding several exclusion 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 be shown not by a textbook example of a query, but by a refined one:

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

Last example

A sophisticated hacker is distinguished by the fact that he provides himself with everything he needs on his own. For example, a VPN is convenient, but either expensive or temporary and limited. It's too expensive to subscribe for yourself alone. It's good that there are group subscriptions, and using Google it is 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.

Filetype: pcf vpn OR Group

INFO

Google finds config files with passwords, but many of them are encrypted or replaced with hashes. If you see strings of 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 free of charge through thecampusgeeks.com.

At Google help hundreds of different types attacks and penetration tests. There are many options, affecting popular programs, major database formats, multiple vulnerabilities in PHP, clouds, and so on. If you have an accurate idea of ​​what you are looking for, this will greatly simplify obtaining the information you need (especially the one that was not planned to be made public). Shodan is not a single source of interesting ideas, but every database of indexed network resources!

How to search correctly with google.com

Everyone probably knows how to use a search engine like Google =) But not everyone knows that if you correctly compose search query with the help of special constructions, you can achieve the results of what you are looking for much more efficiently and faster =) In this article I will try to show what and how you need to do in order 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 the entire Various types search. For example, the construction link: is an special operator, and the request 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 your 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 search query discussed above will show web pages that contain links to the specified query.
For example: link: www.site 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 home page Google

info: Request Information: Provides some of the information 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 enter 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 your request with stocks: Google will treat the rest of the request timeline as stock ticker symbols, and link to a page showing ready information for these symbols.
For example, stocks: Intel yahoo will show information about Intel and Yahoo. (Note that you must type the characters latest news, not the name of the company)

Request Modifiers

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

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

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

allinurl: If you run a query with allinurl: Google will limit the results, with all the words of the query in the URL.
For example, allinurl: google search will return documents with google and search in the header. Also, as an option, you can separate words with a slash (/) then words on both sides of the slash will be searched within one 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 link texts, 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 times are in Julian format.

Well, and all sorts of interesting examples of queries

Examples of writing 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? ”

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

How is this possible?
Search robots, non-stop roaming the Internet, in addition to useful information ordinary user, often fix what can be used by cybercriminals in an attack on 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 an sql query execution is plain text, inseparable, for example, from the description of products on the page. If suddenly the search robot came across a file with the .sql extension, which for some reason ended up in working folder site, then it will be perceived as part of the content of the site 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?
Doors are targeted primarily at google for two reasons:
- the most flexible syntax for 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 for the given domain and subdomains
inurl
Search by words present in uri. Unlike cl. the words "site", searches for matches after the site name
inurl: news - find all pages where the given word is found in uri
intext
Search in the body of the page
intext: "plugs" - completely similar to the usual query "plugs"
intitle
Search in the title of the page. Text enclosed between tags <br></td> <td width="214">intitle: ”index of” - will find all pages with 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 pdfs <br></td> </tr><tr><td width="214">filetype <br></td> <td width="214">Currently, it is completely analogous to cl. 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 analogs <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 - term definition <br></td> </tr><tr><td width="214">cache <br></td> <td width="214">Show page content in cache (if available) <br></td> <td width="214">cache: google.com - will open the page from the cache <br></td> </tr></tbody></table><p>Table 2 - <a href="https://mkr-novo2.ru/en/program/gadzhety-dlya-mac-os-x-kak-dobavit-vidzhety-iz-dashboard-na-rabochii-stol-v.html">Special symbols</a> google requests <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 request index of <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Exclude 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 since 2006 <br></td> </tr><tr><td width="214">|<br></td> <td width="214">Boolean "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 href="https://mkr-novo2.ru/en/problems/5-samyh-populyarnyh-poiskovyh-sistem-poiskovye-sistemy-rossii-i-lidiruyushchie.html">search engine</a> is a word-only search. <br>It is useless to search the page for meta-characters (quotes, brackets, punctuation marks, etc.). Even a search for an exact phrase indicated in quotes is a word search, followed by a search for 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 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 commands entered <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 listings of directories 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 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 download 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 <a href="https://mkr-novo2.ru/en/tips/bystryi-dostup-k-appletam-paneli-upravleniya-windows-chto-takoe.html">important information</a>- 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">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 not directly related to the web resource, but affecting the network or other non-web services <br></td> <td width="284">Find scripts <a href="https://mkr-novo2.ru/en/navigation/setevoi-adres-routera-asus-rt-g32-dopolnitelnye-parametry.html">automatic tuning</a> proxies 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 webpages: <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 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>Doors 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 google request can be focused on a specific site by adding the keyword "site: somesite.com" to the request. This keyword can be added 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 the 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 complete web browser without <a href="https://mkr-novo2.ru/en/multimedia/vmware-vsphere-parol-po-umolchaniyu-izmenenie-parolya-root-cherez-graficheskii-interfeis.html">graphical interface</a>, managed with js-code and has a convenient API. <br>The utility has got a quite understandable name - dorks. By running it in <a href="https://mkr-novo2.ru/en/program/kak-udalit-v-komandnoi-stroke-programma-dlya-prinuditelnogo.html">command line</a>(without options) we get a short help with several examples of use: <br><br><img src='https://i0.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 - dorks syntax <br></p><table border="1"><tbody><tr><td width="214"><b>Command</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 a numbered list of Google Hack Database dork categories <br></td> </tr><tr><td width="214">-c "category number or name" <br></td> <td width="214">Load tracks 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">Set an arbitrary dork (this option can be used many times, it can be combined with the -D option) <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 (this option can be used many times, it can be combined with the -S option) <br></td> </tr><tr><td width="214">-S "file" <br></td> <td width="214">Use sites from a file (brute-force dorks will be performed 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">The 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 on an arbitrary request, or specify the entire category in its entirety. If you specify category 0, the entire database will be unloaded (about 4.5 thousand dorks). <p>List of categories available on <a href="https://mkr-novo2.ru/en/at/samyi-krutoi-smartfon-v-mire-samyi-moshchnyi-telefon-v-mire-na-dannyi-moment.html">this moment</a> 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 GHDB dork categories</p><p>The google command will substitute each dork in the google search engine and analyze the result for matches. The roads along 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 either through an argument or through a file.</p><p><b>Demonstration of work</b><br>Let's try to search 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://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>The tracks are loaded and saved to a file. Now it remains to "incite" them to 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 - Searching for vulnerabilities of the site of interest in the google cache</p><p>After some time, several pages containing errors are found on the studied site (see Figure 5).</p><p><img src='https://i0.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 <a href="https://mkr-novo2.ru/en/installation-and-configuration/polnyi-spisok-ussd-zaprosov-dlya-abonentov-mts-kak-otklyuchit-vse-platnye.html">full list</a> dorks, leading to the appearance of an 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 full backtrace is displayed, revealing the absolute paths of the scripts, the site's content management system 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 device</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 dork list. For example, you should always look 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 not typical for a regular web resource</p><p>As a result, by the command dorks google –D extensions.txt –f bank, from the very first request google starts giving 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 - Searching for "bad" file types on banking sites</p><p>It should be borne 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 - Search for 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 for wordpress. In this case, it is convenient to use the Google Hack Database search. The dorks ghdb –q wordpress –o wordpress_dorks.txt command will download all Wordpress dorks, as shown in Figure 11: <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy loading=lazy><br>Figure 11 - Searching for Wordpress related dorks</p><p>Let's go back to the banks again and use the dorks google –D wordpress_dords.txt –f bank command to 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 a search on Google Hack Database does not accept words shorter than 4 characters. For example, if the CMS of the site 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://i0.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy loading=lazy><br>Figure 13 - Searching all dorks where PHP is mentioned</p><p>Search 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 silly to search for something in this way. It's easy to check the size of the index - just enter into the string <a href="https://mkr-novo2.ru/en/tips/fishki-poiska-google-servis-google-map-google-dovolno-slozhno-obygrat-no-u.html">google search</a>"Site: somesite.com". An example of an under-indexed site is shown in Figure 14. <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy loading=lazy><br>Figure 14 - Checking the size of the site index</p><p>Now about the unpleasant ... From time to time google may request a captcha - there is nothing to be done - it will have to be entered. For example, when I went 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 the 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> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?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> </div> </div> </div> <aside class="col-lg-4 col-md-12 col-md-offset-4 col-lg-offset-0" id="right"> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> </aside> </div> </div> </div> <div class="popup" id="share"> <div class="perfect-scroll" style="text-align: center"> <div style="margin-bottom: 20px"> <strong>The download will start now ...</strong> <br>Don't forget to share material <br>on social networks with your <br>colleagues</div> <div> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillrule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"></path> </svg> </div> </div> <section id="views"> <div class="container"> </div> </section> <script type="text/javascript"> $(document).ready( function () { $('.kursiv').readmore({ speed: 75, maxHeight: 84, heightMargin: 16, moreLink: '<a href="#"><span>Показать полностью</span>', lessLink: '<a href="#"><span>Скрыть</span></a>', } ); } ); </script> <style> div.kursiv { margin-bottom: 0; } #razrabotka { margin-top: 30px; } .readmore-js-toggle { font-style: italic; color: #999; display: inline; margin-right: 10px; font-size: 14px; cursor: pointer; border-bottom: 1px dotted #e6e6e6; } </style></section> <footer> <div class="container"> <div class="row"> <div class="col-xs-16 col-sm-4 col-md-3"> <p>© 2021, mkr-novo2.ru, Internet. Education. Programs. Firmware. Installation and configuration. Navigators</p> <div class="social"> <a target="_blank" href=""> <svg width="32px" height="19px" viewBox="0 0 32 19"> <path fillRule="evenodd" d="M 15.36 18.01C 15.36 18.01 17.24 18.01 17.24 18.01 17.24 18.01 17.81 17.94 18.1 17.64 18.36 17.37 18.35 16.85 18.35 16.85 18.35 16.85 18.32 14.41 19.49 14.05 20.64 13.7 22.12 16.4 23.69 17.45 24.87 18.23 25.77 18.06 25.77 18.06 25.77 18.06 29.97 18.01 29.97 18.01 29.97 18.01 32.16 17.87 31.12 16.21 31.03 16.07 30.51 14.97 28 12.72 25.37 10.35 25.72 10.74 28.89 6.65 30.82 4.16 31.59 2.65 31.35 2 31.12 1.38 29.7 1.54 29.7 1.54 29.7 1.54 24.98 1.57 24.98 1.57 24.98 1.57 24.63 1.52 24.37 1.67 24.12 1.82 23.95 2.16 23.95 2.16 23.95 2.16 23.21 4.09 22.21 5.72 20.11 9.18 19.27 9.36 18.92 9.15 18.12 8.65 18.32 7.14 18.32 6.07 18.32 2.72 18.85 1.32 17.3 0.96 16.79 0.84 16.41 0.76 15.1 0.75 13.41 0.73 11.99 0.76 11.18 1.14 10.64 1.39 10.23 1.96 10.48 1.99 10.79 2.03 11.5 2.18 11.88 2.67 12.36 3.31 12.34 4.74 12.34 4.74 12.34 4.74 12.62 8.68 11.69 9.17 11.06 9.5 10.18 8.82 8.31 5.68 7.35 4.08 6.62 2.3 6.62 2.3 6.62 2.3 6.48 1.97 6.23 1.8 5.93 1.58 5.51 1.51 5.51 1.51 5.51 1.51 1.02 1.54 1.02 1.54 1.02 1.54 0.35 1.56 0.1 1.84-0.12 2.09 0.08 2.62 0.08 2.62 0.08 2.62 3.6 10.57 7.57 14.57 11.22 18.25 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01Z"/> </svg> </a> <a target="_blank" href=""> <svg viewBox="0 0 25 25" width="25px" height="25px"> <path class="st0" d="M12.5,12.7c3.2,0,5.8-2.6,5.8-5.8c0-3.2-2.6-5.8-5.8-5.8C9.3,1,6.7,3.6,6.7,6.8C6.7,10,9.3,12.7,12.5,12.7z M12.5,3.9c1.6,0,2.9,1.3,2.9,2.9c0,1.6-1.3,2.9-2.9,2.9c-1.6,0-2.9-1.3-2.9-2.9C9.6,5.2,10.9,3.9,12.5,3.9z M19.2,13.4 c-0.3-0.7-1.2-1.2-2.5-0.3c-1.6,1.3-4.3,1.3-4.3,1.3s-2.6,0-4.3-1.3c-1.2-1-2.1-0.4-2.5,0.3c-0.6,1.2,0.1,1.7,1.5,2.7 c1.3,0.8,3,1.1,4.1,1.2l-0.9,0.9c-1.3,1.3-2.6,2.6-3.4,3.4c-0.5,0.5-0.5,1.4,0,1.9l0.2,0.2c0.5,0.5,1.4,0.5,1.9,0l3.4-3.4 c1.3,1.3,2.6,2.6,3.4,3.4c0.5,0.5,1.4,0.5,1.9,0l0.2-0.2c0.5-0.5,0.5-1.4,0-1.9l-3.4-3.4l-0.9-0.9c1.1-0.1,2.8-0.4,4.1-1.2 C19.2,15.1,19.8,14.5,19.2,13.4z"/> </svg> </a> <a target="_blank" href="https://facebook.com/"> <svg width="26px" height="25px" viewBox="0 0 26 25"> <path fillRule="evenodd" d="M 24.33-0C 24.33-0 1.96-0 1.96-0 1.19-0 0.57 0.62 0.57 1.38 0.57 1.38 0.57 23.62 0.57 23.62 0.57 24.38 1.19 25 1.96 25 1.96 25 14 25 14 25 14 25 14 15.32 14 15.32 14 15.32 10.72 15.32 10.72 15.32 10.72 15.32 10.72 11.54 10.72 11.54 10.72 11.54 14 11.54 14 11.54 14 11.54 14 8.76 14 8.76 14 5.53 15.98 3.77 18.88 3.77 20.27 3.77 21.46 3.88 21.81 3.92 21.81 3.92 21.81 7.3 21.81 7.3 21.81 7.3 19.8 7.3 19.8 7.3 18.22 7.3 17.92 8.04 17.92 9.13 17.92 9.13 17.92 11.54 17.92 11.54 17.92 11.54 21.68 11.54 21.68 11.54 21.68 11.54 21.19 15.32 21.19 15.32 21.19 15.32 17.92 15.32 17.92 15.32 17.92 15.32 17.92 25 17.92 25 17.92 25 24.33 25 24.33 25 25.09 25 25.71 24.38 25.71 23.62 25.71 23.62 25.71 1.38 25.71 1.38 25.71 0.62 25.09-0 24.33-0Z"/> </svg> </a> <a target="_blank" href="https://youtube.com/"> <svg width="26px" height="19px" viewBox="0 0 26 19"> <path fillRule="evenodd" d="M 25.75 14.46C 25.75 14.46 25.5 16.18 24.75 16.93 23.79 17.92 22.72 17.93 22.23 17.99 18.71 18.24 13.43 18.25 13.43 18.25 13.43 18.25 6.89 18.19 4.88 18 4.32 17.89 3.06 17.92 2.11 16.93 1.35 16.18 1.11 14.46 1.11 14.46 1.11 14.46 0.86 12.45 0.86 10.44 0.86 10.44 0.86 8.55 0.86 8.55 0.86 6.54 1.11 4.52 1.11 4.52 1.11 4.52 1.35 2.81 2.11 2.05 3.06 1.06 4.14 1.06 4.63 1 8.15 0.75 13.42 0.75 13.42 0.75 13.42 0.75 13.43 0.75 13.43 0.75 13.43 0.75 18.71 0.75 22.23 1 22.72 1.06 23.79 1.06 24.75 2.05 25.5 2.81 25.75 4.52 25.75 4.52 25.75 4.52 26 6.54 26 8.55 26 8.55 26 10.44 26 10.44 26 12.45 25.75 14.46 25.75 14.46ZM 10.83 5.73C 10.83 5.73 10.83 12.72 10.83 12.72 10.83 12.72 17.62 9.24 17.62 9.24 17.62 9.24 10.83 5.73 10.83 5.73Z"/> </svg> </a> </div> </div> <div class="col-lg-2 col-sm-4 col-xs-16 links"> <h4>mkr-novo2.ru</h4> <a href="https://mkr-novo2.ru/en/category/internet/">Internet</a> <a href="https://mkr-novo2.ru/en/category/multimedia/">Multimedia</a> <a href="https://mkr-novo2.ru/en/category/navigation/">Navigators</a> <a href="https://mkr-novo2.ru/en/category/education/">Education</a> <a href="https://mkr-novo2.ru/en/category/at/">ON</a> <a href="https://mkr-novo2.ru/en/category/problems/">Problems</a> </div> <div class="col-lg-2 col-sm-3 col-xs-16 links"> <h4>about the project</h4> <a href="">Feedback</a> <a href="">About the site</a> </div> <div class="col-lg-5 col-sm-1 col-xs-16 links"></div> <div class="col-lg-4 col-sm-5 col-xs-16 links"> </div> </div> <div class="row v-center"> <div class="col-md-8 col-xs-16"> <a data-fancybox data-type="iframe" data-src="">Contacts</a> </div> <div class="col-md-8 col-xs-16"> <div class="share pull-right"> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> </div> </div> </footer> <a href="#bot" id="to-top"> <svg width="50px" height="50px" viewBox="0 0 50 50"> <circle cx="25.00" cy="25.00" r="25.00" fill="rgb(0,0,0)" opacity="0.37"/> <path fillRule="evenodd" d="M 33.94 24.46C 33.94 24.46 25.89 16.3 25.89 16.3 25.32 15.73 24.41 15.73 23.84 16.3 23.84 16.3 15.79 24.46 15.79 24.46 14.88 25.38 15.52 26.97 16.81 26.97 16.81 26.97 20.43 26.97 20.43 26.97 21.23 26.97 21.88 27.62 21.88 28.43 21.88 28.43 21.88 32.51 21.88 32.51 21.88 33.71 22.83 34.68 24.01 34.68 24.01 34.68 25.72 34.68 25.72 34.68 26.9 34.68 27.86 33.71 27.86 32.51 27.86 32.51 27.86 28.43 27.86 28.43 27.86 27.62 28.5 26.97 29.31 26.97 29.31 26.97 32.92 26.97 32.92 26.97 34.21 26.97 34.85 25.38 33.94 24.46Z" fill="rgb(241,241,241)"/> </svg> </a> <div class="overlay"></div> <div class="popup" id="password"> <div class="perfect-scroll"> <h2>Password recovery <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillRule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"/> </svg> </div> </h2> <div class="recover-success"> <form action="/recovery/request" data-method="post" method="post" class="recover_form"> <p>Enter your email to recover your password!</p> <div class="input-wrp"> <input name="email" type="text" placeholder="Enter your e-mail"> </div> <input type="submit" data-disable-with="Отправить..." class="btn green" value="send"> </form> </div> <div class="auth-form_error" style="padding-top: 10px"></div> </div> </div> <script> $('.user.one').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.one').addClass('active-user'); $('#user_type').val('1'); e.stopPropagation(); } ); $('.user.two').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.two').addClass('active-user'); $('#user_type').val('2'); e.stopPropagation(); } ); $('.user.three').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.three').addClass('active-user'); $('#user_type').val('3'); e.stopPropagation(); } ); function clearErrors() { $('.auth-form_error').each(function () { $(this).html(''); } ); } $('body').on('click', '.open-login-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#login, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('body').on('click', '.open-pass-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#password, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('.login_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.open-register').html(data.text); var delay = 1000; window.location.href = url = window.location.href + "?login=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.recover_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { console.log(data); if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.recover-success').html('<div class="success" >' + data.text + '</div>'); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.registration_form') .on('ajax:beforeSend', function (event, xhr, settings) { var emailError = $('#emailError'); var passwordError = $('#passwordError'); var passwordVerify = $('#passwordVerifyError'); var userTypeError = $('#userTypeError'); var emailExist = $('#emailExist'); emailError.html(''); passwordError.html(''); passwordVerify.html(''); userTypeError.html(''); emailExist.hide(); } ) .on('ajax:complete', function (event, xhr, status) { } ).on('ajax:success', function (event, data, status, xhr) { // insert the failure message inside the "#account_settings" element //console.log(data); if (data.status == 0) { //$('.reg-info').html('<div class="error">' + data.text + '</div>'); if (data.text.email) { var emailError = $('#emailError'); var emailExist = $('#emailExist'); console.log(data.text.email); if (data.text.email == 'Найдена совпадающая со значением запись') { console.log('alert'); emailExist.show(); } else { emailError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.email + '</span></div></div>'); } } if (data.text.password) { var passwordError = $('#passwordError'); console.log(data.text.password); passwordError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.password + '</span></div></div>'); } if (data.text.passwordVerify) { var passwordVerify = $('#passwordVerifyError'); console.log(data.text.passwordVerify); passwordVerify.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.passwordVerify + '</span></div></div>'); } if (data.text.captcha) { var captcha = $('#captchaError'); console.log(data.text.captcha); captcha.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.captcha + '</span></div></div>'); } if (data.text.userType) { var user_type = $('#userTypeError'); console.log(data.text.userType); user_type.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.userType + '</span></div></div>'); } } else { $('.reg-success').html(data.text); var delay = 2000; window.location.href = url = window.location.href + "?reg=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); </script> <div class="popup" id="premium-pop"> </div> <link rel="stylesheet" href="/videouroki/res/lightslider/lightslider.min.css"> <link rel="stylesheet" href="/videouroki/res/perfectScrollbar/perfect-scrollbar.css"> <link rel="stylesheet" href="/videouroki/assets/font-awesome/css/font-awesome.min.css"> <link rel="stylesheet" href="/assets/vendor/fancybox/jquery.fancybox.min.css"> <script src="/videouroki/res/perfectScrollbar/perfect-scrollbar.jquery.min.js"></script> <script src="/js/rails.js"></script> <script src="/videouroki/res/lightslider/lightslider.min.js"></script> <script src="/videouroki/res/jquery.validate.min.js"></script> <script src="/videouroki/res/autosize-master/autosize.min.js"></script> <script src="/videouroki/js/tabs.js"></script> <script src="/videouroki/js/select.js"></script> <script src="/videouroki/js/global.js?2109"></script> <script src="/videouroki/js/views.js"></script> <script src="/videouroki/plugin/notify/notify.min.js"></script> <script src="/videouroki/plugin/notify/notify-metro.js"></script> <script src="/videouroki/js/lazyload.min.js"></script> <script src="/assets/vendor/fancybox/jquery.fancybox.min.js"></script> <script type="text/javascript"> $(document).ready( function () { // new LazyLoad(); } ) </script> <!--[if gte IE 9]><script type="text/javascript" src="/videouroki/assets/ckeditor-mini/ckeditor.js"></script><![endif]--> <script type="text/javascript" src="/videouroki/js/readmore.js"></script></body> </html>