Merged

Hello guys!
I want to say right away that I am not an in-depth specialist - there are people 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 intended for complete fools, but you don’t need to be super pro to understand it.
Many of us are accustomed to thinking that a dork is a vulnerability, alas, you were wrong - in essence, a dork is a search request sent to a search engine.
That is, the word index.php?id= dork
but the word Shop is also a word.
In order to understand what you want, you must be clearly aware of your requirements for a search engine. The usual form of dork index.php?id= can be divided into
index - key
.php? - code indicating that you need a website built 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 with id=2; if there is a mismatch, the site will be eliminated. For this reason, it makes no sense to write an exact indication to the identifier - since it can be 1,2,3,4,5 and ad infinitum.
If you decide to create an exact dork, say for 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 have seen a good gaming site or you 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 search engine's point of view similar to the specified one
Remember - a dork is a parsing - it is not a hole.
A hole, also known as a vulnerability, 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'll tell you about the method of creating private doors for the country
In order to create a door like index.php?id= we will have to parse it
index - we will replace it with an arbitrary word
.php?id= will be the code for our dork
Dream up new code there is no point - because many sites are stable on the same codes and engines and will continue to be. List of codes:

Spoiler: Dorky

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 - translate into Italian - list of the most frequently used words.
We parse a list of words in Italian - insert it into the first column of the dork generator - put the codes into the second, usually php - these are a variety of sites, cfm shops, jsp - gaming ones.
We generate - we remove spaces. Private doors for Italy are ready.
It also makes sense to insert phrases in the same language in the right column 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. Dorks will look like name.php?uid= all their features will be in a unique key. They will be mixed, the Inurl: operator does not need to be used - since parsing will proceed without it in the url, and in the text, and in the title.
After all, the whole point of dork is that anything can happen - stim, stick, netteler - or it may not happen. Here you need to take in quantity.
There is also so-called vulnerability parsing.

Spoiler: Dorky

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 are immediately looking for vulnerabilities directly, that is, using them together with unique words that were unlikely to be parsed before you

Articles and news continued to appear on online news. And government websites were still vulnerable. Because admin scripts could be found using Google, medical files, personal reports, passwords, etc. it all seemed to be possible to find
just with the help of Google alone. Every time a new article appeared on this topic, everyone said that it was something new.
However, of course, this is not at all the case.

Google - Search Options

Specific file: *.xls, *.doc, *.pdf *.ps *.ppt *.rtf

Google allows you to search for specific types of files. The search string you would use would be this:

Filetype:xls (for excel files) or filetype:doc for word files.

It would be more interesting if you tried to search for files
*.db, *.mdb. You can search for any files that come to mind - *.cfg files or *.pwd files, *.dat files and any others. Try searching and I think you will get interesting results.

Another useful search option is inurl: an option that allows you to search for certain words in a URL. This gives you the ability to search specific directories/folders, especially in combination with the “index of” options,
which I will talk about later. Example: inurl:admin, which will give you
links that have the word “admin” in the URL.

An option that the creators of Google didn’t think much about, but it turns out to be very convenient. If you use the “index of” string, you will find directory listings of specific folders on the servers. Example: "index of" admin or "index.of.admin".

The site option allows you to come up with results that only belong to
to a certain domain or a specific site. For example, you can
search for .com sites or .box.sk sites or .nl sites, but it would be more interesting to search for specific military or government websites. Example search string:
Site:mil or site:gov, Site:neworder.box.sk “board”

Intitle - other good option. It allows you to search HTML files, which have some word or words in the title. Format intitle:wordhere.

The Link option allows you to check which sites are linked to a specific site. Search servers provide a convenient tool that allows you to search for all sites that have links to an organization's domain. Of course this information is not essential. But it may be useful in some cases.

Combining Search Options

For example, you can try this search string:

inurl:nasa.gov filetype:xls “restricted” or this one: site:mil filetype:xls “password”

site:mil “index of” admin

Are looking for specific file: *.xls, *.doc, *.pdf *.ps *.ppt *.rtf
. You can try to search for information that seems interesting to you. The following was interesting to me:

Password, passwords, pwd, account, accounts, userid, uid, login, logins, secret, secrets, all followed by either *.doc or *.xls or *.db

This led me to some very interesting results, especially with the *.db option, but I also found some passwords.doc files,
which contain working passwords.

Http://www.doc.state.ok.us/Spreadsheets/private%20prison%20survey%20for%20web.xls
Http://www.bmo.com/investorrelations/current/current/suppnew/private.xls
Http://www.nescaum.org/Greenhouse/Private/Participant_List.xls
Http://www.dscr.dla.mil/aviationinvest/attendance_5Apr01.xls
Http://web.nps.navy.mil/~drdolk/is3301/ PART_IS3301. XLS

Admin.cfg - as a rule, these files are from various website engines. And very often these files contain important information, which is not
should be accessible to people browsing the web. I tried searching
admin.cfg using the following line to search on google:

inurl:admin.cfg “index of”

Some of the results were even very useful:

Http://www.alternetwebdesign.com/cgi-bin/directimi/admin.cfg,

It was admin password for a database located in
http://www.alternetwebdesign.com/cgi-bin/directimi/database.cgi?Admin.cfg. This database contained important customer data of this company. I then sent an email to this company about a bug on their website. They responded to me in a very friendly manner and told me that they would try to correct this error as quickly as possible.

Some time ago, while working on this article, I came across this website:

http://wacker-welt.de/webadmin/

Website explains that webadmin is small
a program that allows you to edit parts remotely
website, upload files, etc. The main page for the webadmin control center is called 'Webeditor.php'. Obviously my next step is to visit google and use the inurl tag to find webeditor.php. I used the following line to search:

Inurl:webeditor.php

And I found the following results:

Http://orbyonline.com/php/webeditor.php
Http: //www-user.tu-chemnitz.de/~hkri/Neuer%20Ordner/webeditor.php
Http: //artematrix.org/webeditor/webeditor.php
Http://www.directinfo.hu/kapu/webeditor.php

All these webeditor.php files were accessible to anyone, simply because the owners failed to properly protect these pages using
.htacces. While browsing these sites I noticed that the file that allows you to upload files is called
File_upload.php. I started looking for it on Google and found a lot
options.

Http://www.hvcc.edu /~kantopet/ciss_225/examples/begphp/ch10/

Good example:
Http://www.pelicandecals.com/admin/webeditor.php

The script allows you to change, replace files including index.php. In theory, any malicious script could be written or uploaded, the consequences are obvious.

Conclusion

Google can help you find the information you need, and it's easy and fun!

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

How is this possible?
Search robots, constantly roaming the Internet, in addition to information useful to the average user, often record things that can be used by attackers to attack a web resource. For example, script errors and files with sensitive information (from configuration files and logs to files with authentication data and database backups).
From the point of view of a search robot, an error message about executing an sql query is plain text, inseparable, for example, from the description of products on the page. If suddenly a search robot came across a file with the .sql extension, which for some reason ended up in working folder 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 on exploit-db.com and is known as the Google Hack Database.

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

Table 1 - Main Google keywords

Keyword
Meaning
Example
site
Search only on the specified site. Only takes into account url
site:somesite.ru - will find all pages on a given domain and subdomains
inurl
Search by words present in the uri. Unlike cl. words “site”, searches for matches after the site name
inurl:news - finds all pages where the given word appears in the uri
intext
Search in the body of the page
intext:”traffic jams” - completely similar to the usual request for “traffic jams”
intitle
Search in the page title. Text between tags <br></td> <td width="214">intitle:”index of” - will find all pages with directory listings <br></td> </tr><tr><td width="214">ext <br></td> <td width="214">Search for pages with a specified extension <br></td> <td width="214">ext:pdf - finds all pdf files <br></td> </tr><tr><td width="214">filetype <br></td> <td width="214">Currently, completely similar to class. the word “ext” <br></td> <td width="214">filetype:pdf - similar <br></td> </tr><tr><td width="214">related <br></td> <td width="214">Search for sites with similar topics <br></td> <td width="214">related:google.ru - will show its analogues <br></td> </tr><tr><td width="214">link <br></td> <td width="214">Search for sites that link to this <br></td> <td width="214">link:somesite.ru - will find all sites that have a link to this <br></td> </tr><tr><td width="214">define <br></td> <td width="214">Show word definition <br></td> <td width="214">define:0day - definition of the term <br></td> </tr><tr><td width="214">cache <br></td> <td width="214">Show page contents in cache (if present) <br></td> <td width="214">cache:google.com - will open a cached page <br></td> </tr></tbody></table><p>Table 2 - Special characters for Google queries <br></p><table><tbody><tr><td width="214"><b>Symbol</b><br></td> <td width="214"><b>Meaning</b><br></td> <td width="214"><b>Example</b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Exact phrase <br></td> <td width="214">intitle:“RouterOS router configuration page” - search for routers <br></td> </tr><tr><td width="214">*<br></td> <td width="214">Any text <br></td> <td width="214">inurl: “bitrix*mcart” - search for sites on bitrix with a vulnerable mcart module <br></td> </tr><tr><td width="214">.<br></td> <td width="214">Any character <br></td> <td width="214">Index.of - similar to the index of request <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Delete a word <br></td> <td width="214">error -warning - show all pages that have an error but no warning <br></td> </tr><tr><td width="214">..<br></td> <td width="214">Range <br></td> <td width="214">cve 2006..2016 - show vulnerabilities by year starting from 2006 <br></td> </tr><tr><td width="214">|<br></td> <td width="214">Logical "or" <br></td> <td width="214">linux | windows - show pages where either the first or second word appears <br></td> </tr></tbody></table><br>It is worth understanding that any request to a search engine is a search only by words. <br>It is useless to look for meta-characters on the page (quotes, parentheses, punctuation marks, etc.). Even a search for the exact phrase specified in quotation marks is a word search, followed by a search for an exact match in the results. <p>All <a href="https://gamevid.ru/en/news/finnish-intitle-vse-publikacii-polzovatelya-predydushchaya-kak-rabotaet/">Google dorks</a> Hack Database is logically divided into 14 categories and presented in Table 3. <br>Table 3 – Google Hack Database Categories <br></p><table><tbody><tr><td width="168"><b>Category</b><br></td> <td width="190"><b>What allows you to find</b><br></td> <td width="284"><b>Example</b><br></td> </tr><tr><td width="168">Footholds <br></td> <td width="190">Web shells, public file managers <br></td> <td width="284">Find all hacked sites where the listed webshells are uploaded: <br>(intitle:"phpshell" OR intitle:"c99shell" OR intitle:"r57shell" OR intitle:"PHP Shell" OR intitle:"phpRemoteView") `rwx` "uname" <br></td> </tr><tr><td width="168">Files containing usernames <br></td> <td width="190">Registry files, configuration files, logs, files containing the history of entered commands <br></td> <td width="284">Find all registry files containing account information: <br><i>filetype:reg reg +intext:“internet account manager”</i><br></td> </tr><tr><td width="168">Sensitive Directories <br></td> <td width="190">Directories with various information (personal documents, vpn configs, hidden repositories, etc.) <br></td> <td width="284">Find all directory listings containing VPN-related files: <br><i>"Config" intitle:"Index of" intext:vpn</i><br>Sites containing git repositories: <br><i>(intext:"index of /.git") ("parent directory")</i><br></td> </tr><tr><td width="168">Web Server Detection <br></td> <td width="190">Version and other information about the web server <br></td> <td width="284">Find JBoss server administrative consoles: <br><i>inurl:"/web-console/" intitle:"Administration Console"</i><br></td> </tr><tr><td width="168">Vulnerable Files <br></td> <td width="190">Scripts containing known vulnerabilities <br></td> <td width="284">Find sites that use a script that allows you to upload an arbitrary file from the server: <br><i>allinurl:forcedownload.php?file=</i><br></td> </tr><tr><td width="168">Vulnerable Servers <br></td> <td width="190">Installation scripts, web shells, open administrative consoles, etc. <br></td> <td width="284">Find open PHPMyAdmin consoles running as root: <br><i>intitle:phpMyAdmin "Welcome to phpMyAdmin ***" "running on * as root@*"</i><br></td> </tr><tr><td width="168">Error Messages <br></td> <td width="190">Various errors and warnings often reveal important information - from CMS version to passwords <br></td> <td width="284">Sites that have errors in executing SQL queries to the database: <br><i>"Warning: mysql_query()" "invalid query"</i><br></td> </tr><tr><td width="168">Files containing juicy info <br></td> <td width="190">Certificates, backups, emails, logs, SQL scripts, etc. <br></td> <td width="284">Find initialization sql scripts: <br><i>filetype:sql and " <a href="https://gamevid.ru/en/news/sql-insert-sintaksis-transact-sql---vstavka-dannyh-sql-zapros-insert-into---sintaksis/">insert into</a>» -site:github.com</i><br></td> </tr><tr><td width="168">Files containing passwords <br></td> <td width="190">Anything that can contain passwords - logs, sql scripts, etc. <br></td> <td width="284">Logs mentioning passwords: <br><i>filetype:</i><i>log</i><i>intext:</i><i>password |</i><i>pass |</i><i>pw</i><br>sql scripts containing passwords: <br><i>ext:</i><i>sql</i><i>intext:</i><i>username</i><i>intext:</i><i>password</i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info <br></td> <td width="190">Information related to online purchases <br></td> <td width="284">Find pincodes: <br><i>dcid=</i><i>bn=</i><i>pin</i><i>code=</i><br></td> </tr><tr><td width="168">Network or vulnerability data <br></td> <td width="190">Information not directly related to the web resource, but affecting the network or other non-web services <br></td> <td width="284">Find scripts <a href="https://gamevid.ru/en/reviews/programma-dlya-retushi-fotografii-besplatnaya-retush-portretnyh/">automatic settings</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 web pages: <br><i>intext:"2016 SAP AG. All rights reserved." intitle:"Logon"</i><br></td> </tr><tr><td width="168">Various Online Devices <br></td> <td width="190">Printers, routers, monitoring systems, etc. <br></td> <td width="284">Find the printer configuration panel: <br><i>intitle:"</i><i>hp</i><i>laserjet"</i><i>inurl:</i><i>SSI/</i><i>Auth/</i><i>set_</i><i>config_</i><i>deviceinfo.</i><i>htm</i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities <br></td> <td width="190">Websites on vulnerable CMS versions <br></td> <td width="284">Find vulnerable plugins through which you can upload an arbitrary file to the server: <br><i>inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled</i><br></td> </tr></tbody></table><br>Dorks are more often focused on searching across all Internet sites. But nothing prevents you from limiting the search scope on any site or sites. <br>Each Google query can be focused on a specific site by adding the keyword “site:somesite.com” to the query. This keyword can be added to any dork. <p><b>Automating the search for vulnerabilities</b><br>This is how the idea was born to write a simple utility that automates the search for vulnerabilities using <a href="https://gamevid.ru/en/news/chto-soderzhit-lyubaya-poiskovaya-sistema-poiskovye-sistemy-sostav-funkcii/">search engine</a>(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 web browser without <a href="https://gamevid.ru/en/repair/interfeis-kotoryi-realizuetsya-operacionnoi-sistemoi-graficheskii-interfeis/">GUI</a>, controlled using js code and having a convenient API. <br>The utility received a quite understandable name - dorks. By launching it in <a href="https://gamevid.ru/en/reviews/komandnaya-stroka-v-rezhime-administratora-kak-otkryt-komandnuyu/">command line</a>(without options) we get a short help with several examples of use: <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy loading=lazy><br>Figure 1 - List of main dorks options</p><p>The general syntax of the utility is: dork “command” “option list”. <br>A detailed description of all options is presented in Table 4.</p><p>Table 4 - Dorks syntax <br></p><table border="1"><tbody><tr><td width="214"><b>Team</b><br></td> <td width="214"><b>Option</b><br></td> <td width="214"><b>Description</b><br></td> </tr><tr><td rowspan="4" width="214">ghdb <br></td> <td width="214">-l <br></td> <td width="214">Print a numbered list of dork categories Google Hack Database <br></td> </tr><tr><td width="214">-c “category number or name” <br></td> <td width="214">Load doors of the specified category by number or name <br></td> </tr><tr><td width="214">-q "phrase" <br></td> <td width="214">Download dorks found by request <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save the result to a file (only with -c|-q options) <br></td> </tr><tr><td rowspan="8" width="214">google <br></td> <td width="214">-d "dork" <br></td> <td width="214">Set an arbitrary dork (the option can be used many times, combination with the -D option is allowed) <br></td> </tr><tr><td width="214">-D "file" <br></td> <td width="214">Use dorks from file <br></td> </tr><tr><td width="214">-s "site" <br></td> <td width="214">Set site (option can be used many times, combination with option -S is allowed) <br></td> </tr><tr><td width="214">-S "file" <br></td> <td width="214">Use sites from a file (dorks will be searched for each site independently) <br></td> </tr><tr><td width="214">-f "filter" <br></td> <td width="214">Set additional keywords (will be added to each dork) <br></td> </tr><tr><td width="214">-t "number of ms" <br></td> <td width="214">Interval between requests to google <br></td> </tr><tr><td width="214">-T "number of ms" <br></td> <td width="214">Timeout if a captcha is encountered <br></td> </tr><tr><td width="214">-o "file" <br></td> <td width="214">Save the result to a file (only those tracks for which something was found will be saved) <br></td> </tr></tbody></table><br>Using the ghdb command, you can get all the dorks from exploit-db by arbitrary request, or specify the entire category. If you specify category 0, the entire database will be unloaded (about 4.5 thousand dorks). <p>List of categories available on <a href="https://gamevid.ru/en/reviews/kto-podklyuchen-k-wi-fi-smotrim-skolko-ustroistv-podklyucheno-k-wifi-routeru-v/">this moment</a> presented in Figure 2. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy loading=lazy></p><p>Figure 2 - List of available GHDB dork categories</p><p>The google team will substitute each dork into the google search engine and analyze the result for matches. The paths where something was found will be saved to a file. <br>The utility supports different search modes: <br>1 dork and 1 site; <br>1 dork and many sites; <br>1 site and many dorks; <br>many sites and many dorks; <br>The list of dorks and sites can be specified either through an argument or through a file.</p><p><b>Demonstration of work</b><br>Let's try to look for any vulnerabilities using the example of searching for error messages. By command: dorks ghdb –c 7 –o errors.dorks all known dorks of the “Error Messages” category will be loaded as shown in Figure 3. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 3 – Loading all known dorks of the “Error Messages” category</p><p>Dorks are downloaded and saved to a file. Now all that remains is to “set” them on some site (see Figure 4). <br><br><img src='https://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 discovered on the site under study (see Figure 5).</p><p><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy loading=lazy><br>Figure 5 – Error messages found</p><p>The result, in the file result.txt we get <a href="https://gamevid.ru/en/ipod/kody-na-gta-vai-siti-beskonechnye-zhizni-gta-vice-sity-chit-kody-polnyi-spisok-kody/">full list</a> dorks that lead to 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 complete backtrace is displayed, revealing the absolute paths of the scripts, the site content management system and the database type (see Figure 7). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy loading=lazy><br>Figure 7 – disclosure of information about the site design</p><p>However, it is worth considering that not all dorks from GHDB give true results. Also, Google may not find an exact match and show a similar result.</p><p>In this case, it is wiser to use your personal list of dorks. For example, it is always worth looking for files with “unusual” extensions, examples of which are shown in Figure 8. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy loading=lazy><br>Figure 8 – List of file extensions that are not typical for a regular web resource</p><p>As a result, using the command dorks google –D extensions.txt –f bank, from the very first <a href="https://gamevid.ru/en/repair/yandeks-ty-menya-lyubish-ili-net-gugl-durak-i-drugie-provokacionnye-zaprosy/">google query</a> 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 websites</p><p>It is worth keeping in mind that Google does not accept queries longer than 32 words.</p><p>Using the command dorks google –d intext:”error|warning|notice|syntax” –f university <br>You can look for PHP interpreter errors on educational websites (see Figure 10). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 10 – Finding PHP runtime errors</p><p>Sometimes it is not convenient to use one or two categories of dorks. <br>For example, if it is known that the site runs on the Wordpress engine, then we need WordPress-specific modules. In this case, it is convenient to use the Google Hack Database search. The command dorks ghdb –q wordpress –o wordpress_dorks.txt will download all dorks from Wordpress, as shown in Figure 11: <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy loading=lazy><br>Figure 11 – Search for Dorks related to Wordpress</p><p>Let's go back to the banks again and use the command dorks google –D wordpress_dords.txt –f bank to try to find something interesting related to Wordpress (see Figure 12). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy loading=lazy><br>Figure 12 – Search for Wordpress vulnerabilities</p><p>It is worth noting that the search on Google Hack Database does not accept words shorter than 4 characters. For example, if the site's CMS is not known, but the language is known - PHP. In this case, you can filter what you need manually using a pipe and <a href="https://gamevid.ru/en/repair/izmenenie-sistemnyh-parametrov-ispolzuem-utilitu-vosstanovleniya-sistemy/">system utility</a> search 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 – Search all dorks where PHP is mentioned</p><p>Searching for vulnerabilities or some sensitive information in a search engine should only be done if there is a significant index on this site. For example, if a site has 10-15 pages indexed, then it’s stupid to search for anything in this way. Checking the index size is easy - just enter “site:somesite.com” into the Google search bar. An example of a site with an insufficient index is shown in Figure 14. <br><br><img src='https://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 site index size</p><p>Now about the unpleasant... From time to time Google may request a captcha - there is nothing you can do about it - you will have to enter it. For example, when searching through the “Error Messages” category (90 dorks), the captcha appeared only once.</p><p>It’s worth adding that phantomjs also supports working through a proxy, both via http and socks interface. To enable proxy mode, you need to uncomment the corresponding line in dorks.bat or dorks.sh.</p><p>The tool is available as source code</p> <p>This article will be primarily useful to beginner optimizers, because more advanced ones should already know everything about them. In order to use <a href="https://gamevid.ru/en/reviews/chto-znachit-zashifrovat-ustroistvo-na-samsung-android-i-shifrovanie-dannyh-o/">this article</a> with maximum efficiency, it is advisable to know exactly which words need to be raised to the right positions. If you are not yet sure of the list of words, or use the keyword suggestion service, it is a little confusing, but you can figure it out.</p> <p>Important! Rest assured, Google understands perfectly well that ordinary users will not use them and only promotion specialists will resort to their help. Therefore, Google may slightly distort the information provided</p> <h2>Intitle operator:</h2> <p><b>Usage:</b> intitle:word <br><b>Example:</b> intitle:site promotion <br><b>Description:</b> When using this operator, you will receive a list of pages whose title contains the word you are interested in, in our case this is the phrase “site promotion” in its entirety. Please note that there should not be a space after the colon. The page title has <a href="https://gamevid.ru/en/repair/megapiksel---chto-eto-takoe-i-skolko-ih-dolzhno-byt-megapikseli-v-kamerah-imeyut/">important</a> when ranking, so take your headlines seriously. By using this variable, you can estimate the approximate number of competitors who also want to be in the leading positions for this word.</p> <h2>Inurl operator:</h2> <p><b>Usage:</b> inurl:phrase <br><b>Example:</b> inurl:calculating the cost of search engine optimization <br><b>Description:</b> This command shows sites or pages that have the original keyword in their URL. Please note that there should not be a space after the colon.</p> <h2>Inanchor operator:</h2> <p><b>Usage:</b> inanchor:phrase <br><b>Example:</b> inanchor:seo books <br><b>Description:</b> Using this operator will help you see pages that are linked to using <a href="https://gamevid.ru/en/repair/kak-sdelat-bolshe-klyuchei-v-direkte-operatory-klyuchevyh/">keyword</a>. This is a very important command, but unfortunately search engines are reluctant to share this information with SEOs for obvious reasons. There are services, Linkscape and Majestic SEO, that will provide you with this information for a fee, but rest assured, the information is worth it.</p> <p>Also, it is worth remembering that now Google is paying more and more attention to the “trust” of the site and less and less to the link mass. Of course, links are still one of the most important factors, but “trust” is playing an increasingly significant role.</p> <p>A combination of two variables gives good results, for example intitle: promotion inanchor: site promotion. And what do we see, the search engine will show us the main competitors, whose page title contains the word “promotion” and incoming links with the anchor “site promotion”.</p> <p>Unfortunately, this combination does not allow you to find out the “trust” of the domain, which, as we have already said, is a very important factor. For example, many older corporate sites do not have as many links as their younger competitors, but they do have a lot of old links, which pull these sites to the top of the search results.</p> <h2>Site operator:</h2> <p><b>Usage:</b> site:site address <br><b>Example:</b> site:www.aweb.com.ua <br><b>Description:</b> With this command you can see a list of pages that are indexed by the search engine and that it knows about. It is mainly used to find out about competitors' pages and analyze them.</p> <h2>Cache operator:</h2> <p><b>Usage:</b> cache:page address <br><b>Example:</b> cache:www.aweb.com.ua <br><b>Description:</b> This command shows a “snapshot” of the page from the moment the robot last visited the site and in general how it sees the contents of the page. By checking the page cache date, you can determine how often robots visit the site. The more authoritative the site, the more often robots visit it and, accordingly, the less authoritative (according to Google) the site, the less often robots take pictures of the page.</p> <p>Cache is very important when buying links. The closer the page cache date is to the link purchase date, the faster your link will be indexed by the Google search engine. Sometimes it was possible to find pages with a cache age of 3 months. By purchasing a link on such a site, you will only waste your money, because it is quite possible that the link will never be indexed.</p> <h2>Link operator:</h2> <p><b>Usage:</b> link:url <br><b>Example:</b> link:www.aweb.com.ua <br><b>Description:</b> Link operator: Finds and displays pages that link to the specified url. It could be like <a href="https://gamevid.ru/en/repair/gotovyi-kod-html-dlya-glavnoi-stranicy-traktovka-russkogo-yazyka-kak/">home page</a> website and internal.</p> <h2>Related operator:</h2> <p><b>Usage:</b> related:url <br><b>Example:</b> related:www.aweb.com.ua <br><b>Description:</b> Related operator: Returns pages that the search engine thinks are similar to the specified page. For a person, all the pages received may not have anything similar, but for a search engine this is so.</p> <h2>Operator Info:</h2> <p><b>Usage:</b> info:url <br><b>Example:</b> info:www.aweb.com.ua <br><b>Description:</b> When using this operator, we will be able to obtain information about the page that is known to the search engine. This could be the author, publication date, and much more. Additionally, on the search page, Google offers several actions that it can do with this page. Or, to put it simply, it will suggest using some of the operators that we described above.</p> <h2>Allintitle operator:</h2> <p><b>Usage:</b> allintitle:phrase <br><b>Example:</b> allintitle:aweb promotion <br><b>Description:</b> If we start a search query with this word, we will get a list of pages that have the entire phrase in the title. For example, if we try to search for the word allintitle:aweb promotion, we will get a list of pages whose title mentions both of these words. And they don’t necessarily have to go one after another; they can be located in different places in the header.</p> <h2>Allintext operator:</h2> <p><b>Usage:</b> allintext:word <br><b>Example:</b> allintext:optimization <br><b>Description:</b> This operator searches for all pages that have the specified word in their body text. If we try to use allintext: aweb optimization, we will see a list of pages in the text of which these words appear. That is, not the entire phrase “aweb optimization”, but both words “optimization” and “aweb”.</p> <p><b>Editorial:</b></p><p><b><span>The top management which is given a new direction to BSNL is leaving. BSNL will ever remember their contributions.</span> </b></p><p><b><span>BSNL will be in the hands of a new team with many challenges: immediate capital infusion, restructuring of the organization and to make real, honest, unrelenting and serious efforts to ensure massive revenue generation.</span> </b><b>We wish them good luck.</b></p><p><b><span>The team of Shri Anupm Shrivastava, present CMD and the Ex Board of Directors Shri N. K. Gupta, Shri R K Mittal, Shri N K Mehta and Smt Sujata T Ray were instrumental in bringing BSNL back into revival path. They were very successful in that, till the entry of Reliance Jio by making BSNL operational profit for 3 consecutive years 2014-15, 2015-16 and 2016-17. Even after that, even with a hostile DoT which is not willing to provide any assistance to BSNL, BSNL could sustain till today to a great extend. Comparing to other operators, BSNL market share and revenue, continues to be better.</span> </b></p><p><b><span>It may be recollected that they were taken charge almost in a similar situation as on today, losses increased every year, cash flow issue, all the tenders were failing, all the expansion plans in mobile, transmission etc failing and EB business shrinking due to non expansion of MPLS / MLLN network.</span> </b></p><p><b><span>The following decision taken by that team of Directors really changed BSNL:</span> </b></p><p><b><span>a) Massive expansion in the mobile network, MPLS network, transmission network, deployment of NGN etc.</span> </b></p><p><b><span>b) Getting refund of about 15,000 crores from DoT to BSNL in the form of excess payment of Income Tax and BWA spectrum refund between 2015-2018.</span> </b></p><p><b><span>c) Competitive Tariffs and market intervention to compete with other operators.</span> </b></p><p><b>d) Night free calls.</b></p><p><b>e) Free roaming.</b></p><p><b><span>f) Revaluation of the assets and making BSNL, a company having more than 1 lakh Crores asset.</span> </b></p><p><b><span>g) Visibility in the electronic/ print media and the market.</span> </b></p><p><b><span>h) The experiment of providing 4G services with 3G spectrum.</span> </b></p><p><b><span>However the major initiatives taken in the HR front, E2/E3 pay scales, CPSU Cadre Hierarchy implementation and 3rd PRC etc, did not succeed at all.</span> </b><b><span>Only on Superannuation benefits, management could succeed by extending 5% contribution.</span> </b><b><span>BSNL Executives will never forget the record number of promotion orders, more than 13,000, issued in June, 2018 even by upgrade of thousand of posts.</span> </b><b><span>Management miserably failed in bringing HR reforms and restructuring of the organization which played a very important role in making BSNL an incipient sick company. Somehow the management could not understand the huge significance and role of the huge work force in the organization.</span> </b></p><p><b><span>For the new team of top management the challenges are many. First of all to make DoT sensitive towards BSNL. With the new Telecom Minister, it may become easier. Infusion of working capital for BSNL is the major challenge. The immediate requirement as on today is Rs 6000 Cr to meet the expenditure on OPEX and CAPEX. BSNL cannot wait for the implementation of the revival plan as it may take minimum 6 months to generate revenue for BSNL.</span> </b></p><p><b><span>Secondly the massive HR reforms required in BSNL. This is an organization having huge work force and its role and importance in the revival of BSNL should be recognized first. The redeployment of the employees, according to the business requirements cannot be delayed further. The mistakes of earlier management should not be repeated by the new team of management.</span> </b></p><p><b><span>Finally to get the best out of the employees, they have to be highly motivated. Their contribution towards revival of BSNL is to be recognized first. Employees commitment, dedication and readiness to take the challenges in the field units by coming out of the office rooms, voluntarily working a few extra hours, every day, mean business.</span> </b></p><p><b><span>The top Management should not delay the initiatives in this regard. We wish them all the success.</span> </b></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_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> </article> <div class="post-meta"> <div class="post-rating"> <div class="post-rating__title">Article rating:</div> <div id="post-ratings-557" class="post-ratings" data-nonce="79f57c6f5f"><img id="rating_557_1" src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/stars/rating_off.gif" alt="1 Star" title="1 Star" onmouseover="current_rating(557, 1, '1 Звезда');" onmouseout="ratings_off(0, 0, 0);" onclick="rate_post();" onkeypress="rate_post();" style="cursor: pointer; border: 0px;" / loading=lazy loading=lazy><img id="rating_557_2" src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/stars/rating_off.gif" alt="2 Stars" title="2 Stars" onmouseover="current_rating(557, 2, '2 Звезды');" onmouseout="ratings_off(0, 0, 0);" onclick="rate_post();" onkeypress="rate_post();" style="cursor: pointer; border: 0px;" / loading=lazy loading=lazy><img id="rating_557_3" src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/stars/rating_off.gif" alt="3 Stars" title="3 Stars" onmouseover="current_rating(557, 3, '3 Звезды');" onmouseout="ratings_off(0, 0, 0);" onclick="rate_post();" onkeypress="rate_post();" style="cursor: pointer; border: 0px;" / loading=lazy loading=lazy><img id="rating_557_4" src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/stars/rating_off.gif" alt="4 Stars" title="4 Stars" onmouseover="current_rating(557, 4, '4 Звезды');" onmouseout="ratings_off(0, 0, 0);" onclick="rate_post();" onkeypress="rate_post();" style="cursor: pointer; border: 0px;" / loading=lazy loading=lazy><img id="rating_557_5" src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/stars/rating_off.gif" alt="5 stars" title="5 stars" onmouseover="current_rating(557, 5, '5 Звезд');" onmouseout="ratings_off(0, 0, 0);" onclick="rate_post();" onkeypress="rate_post();" style="cursor: pointer; border: 0px;" / loading=lazy loading=lazy>(No ratings yet) <br /><span class="post-ratings-text" id="ratings_557_text"></span></div> <div id="post-ratings-557-loading" class="post-ratings-loading"> <img src="https://gamevid.ru/wp-content/plugins/wp-postratings/images/loading.gif" width="16" height="16" class="post-ratings-image" / loading=lazy loading=lazy>Loading...</div> </div> <div class="post-share"> <div class="post-share__title">Share with friends:</div> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8" async="async"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,gplus,twitter" data-counter=""></div> </div> </div> </div> <div class="yarpp-related"> <div class="yarpp-related__title">Articles on a similar topic</div> <ul class="related"> <style> </style> <ul class="related-items"> <li><img src="/uploads/24d53cc603395bf9654937f33102f6e2.jpg" width="150" height="95" / loading=lazy loading=lazy><a href="https://gamevid.ru/en/news/kak-mozhno-skachat-foto-iz-instagram-kak-sohranit-foto-iz-instagrama/">How to save photos from Instagram to your computer How to download a selection from Instagram</a></li> <li><img src="/uploads/cef31cf696e9c4a78e080242afb948da.jpg" width="150" height="95" / loading=lazy loading=lazy><a href="https://gamevid.ru/en/news/kak-vernut-predydushchuyu-versiyu-android-ustroistv-kak-vernut-staruyu-versiyu/">How to return the old version of Android after updating How to return Android version 4</a></li> <li><img src="/uploads/86c88eb554cbe5fad0b9481f7eff35ad.jpg" width="150" height="95" / loading=lazy loading=lazy><a href="https://gamevid.ru/en/reviews/istoriya-poyavleniya-i-raznovidnosti-kompyuternyh-myshei-interesnye/">Interesting facts about the computer mouse Who created the mouse</a></li> <li><img src="/uploads/c8b9256d64105bab33e01c5a428c54fe.jpg" width="150" height="95" / loading=lazy loading=lazy><a href="https://gamevid.ru/en/ipod/kak-izmenit-razreshenie-ekrana-kak-uznat-i-pomenyat-razreshenie-ekrana/">How to find out and change the screen resolution (the image is too large) How to set the monitor resolution</a></li> </ul> </ul> </div> <aside class="comments-block"> <div id="disqus_thread"> </div> </aside> </main> </div> </div> <footer class="footer"> <div class="footer-copy">© 2024 All rights reserved</div> <nav class="footer-nav"> <ul class="footer-nav__items"> <li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://gamevid.ru/en/sitemap.xml">Site Map</a></li> </ul> </nav> </footer> <div class="modal-hidden"> <div class="search-modal"> <div class="modal_close arcticmodal-close">Close</div> <div class="search-title">Find on the website</div> <div class="search-form"> <form method="get" action="/"> <input type="text" value="" name="s" placeholder="Site search" class="search-form__field"> <input type="submit" value="" class="search-form__button search-open"> </form> </div> <div class="search-example">For example: <span>types of drywall</span></div> </div> </div> <script type="text/javascript"> function dem_ready(e) { "use strict"; var t, n = ".democracy", i = e(n), o = ".dem-screen", a = ".dem-add-answer-txt", s = e(".dem-loader").first(), d = {}; i.length && (d.opts = i.first().data("opts"), d.ajaxurl = d.opts.ajax_url, d.answMaxHeight = d.opts.answs_max_height, d.speed = parseInt(d.opts.anim_speed), d.lineAnimSpeed = parseInt(d.opts.line_anim_speed), setTimeout(function() { var t = i.find(o).filter(":visible"), n = function() { t.each(function() { d.setHeight(e(this), 1) }) }; t.demInitActions(1), e(window).on("resize.demsetheight", n), e(window).load(n), d.maxAnswLimit(); var a = e(".dem-cache-screens"); a.length > 0 && a.demCacheInit() }, 10), e.fn.demInitActions = function(t) { return this.each(function() { var n = e(this), i = "data-dem-act"; n.find("[" + i + "]").each(function() { e(this).attr("href", ""), e(this).click(function(t) { t.preventDefault(), e(this).blur().demDoAction(e(this).attr(i)) }) }); var o = !!n.find("input[type=radio][data-dem-act=vote]").first().length; o && n.find(".dem-vote-button").hide(), d.setAnswsMaxHeight(n), d.lineAnimSpeed && n.find(".dem-fill").each(function() { var t = e(this); setTimeout(function() { t.animate({ width: t.data("width") }, d.lineAnimSpeed) }, d.speed, "linear") }), d.setHeight(n, t), n.find("form").submit(function(t) { t.preventDefault(); var n = e(this).find('input[name="dem_act"]').val(); n && e(this).demDoAction(e(this).find('input[name="dem_act"]').val()) }) }) }, e.fn.demSetLoader = function() { var e = this; return s.length ? e.closest(o).append(s.clone().css("display", "table")) : t = setTimeout(function() { d.demLoadingDots(e) }, 50), this }, e.fn.demUnsetLoader = function() { return s.length ? this.closest(o).find(".dem-loader").remove() : clearTimeout(t), this }, e.fn.demAddAnswer = function() { var t = this.first(), n = t.closest(o), i = n.find("[type=checkbox]").length > 0, s = e('<input type="text" class="' + a.replace(/\./, "") + '" value="">'); if (n.find(".dem-vote-button").show(), n.find("[type=radio]").each(function() { e(this).click(function() { t.fadeIn(300), e(a).remove() }), "radio" == e(this)[0].type && (this.checked = !1) }), t.hide().parent("li").append(s), s.hide().fadeIn(300).focus(), i) { var d = n.find(a); e('<span class="dem-add-answer-close">×</span>').insertBefore(d).css("line-height", d.outerHeight() + "px").click(function() { var t = e(this).parent("li"); t.find("input").remove(), t.find("a").fadeIn(300), e(this).remove() }) } return !1 }, e.fn.demCollectAnsw = function() { var t = this.closest("form"), n = t.find("[type=checkbox],[type=radio],[type=text]"), i = t.find(a).val(), o = [], s = n.filter("[type=checkbox]:checked"); if (s.length > 0) s.each(function() { o.push(e(this).val()) }); else { var d = n.filter("[type=radio]:checked"); d.length && o.push(d.val()) } return i && o.push(i), o = o.join("~"), o ? o : "" }, e.fn.demDoAction = function(t) { var i = this.first(), a = i.closest(n), s = { dem_pid: a.data("opts").pid, dem_act: t, action: "dem_ajax" }; return "undefined" == typeof s.dem_pid ? (console.log("Poll id is not defined!"), !1) : "vote" != t || (s.answer_ids = i.demCollectAnsw(), s.answer_ids) ? "delVoted" != t || confirm(i.data("confirm-text")) ? "newAnswer" == t ? (i.demAddAnswer(), !1) : (i.demSetLoader(), e.post(d.ajaxurl, s, function(e) { i.demUnsetLoader(), i.closest(o).html(e).demInitActions() }), !1) : !1 : (d.demShake(i), !1) }, e.fn.demCacheShowNotice = function(e) { var t = this.first(), n = t.find(".dem-youarevote").first(); return "blockForVisitor" == e && (t.find(".dem-revote-button").remove(), n = t.find(".dem-only-users").first()), t.prepend(n.show()), setTimeout(function() { n.slideUp("slow") }, 1e4), this }, d.cacheSetAnswrs = function(t, n) { var i = n.split(/,/); if (t.hasClass("voted")) { var o = t.find(".dem-answers"), a = o.data("voted-class"), s = o.data("voted-txt"); e.each(i, function(n, i) { t.find('[data-aid="' + i + '"]').addClass(a).attr("title", function() { return s + e(this).attr("title") }) }), t.find(".dem-vote-link").remove() } else { var d = t.find("[data-aid]"), r = t.find(".dem-voted-button"); e.each(i, function(e, t) { d.filter('[data-aid="' + t + '"]').find("input").prop("checked", "checked") }), d.find("input").prop("disabled", "disabled"), t.find(".dem-vote-button").remove(), r.length ? r.show() : (t.find('input[value="vote"]').remove(), t.find(".dem-revote-button-wrap").show()) } }, e.fn.demCacheInit = function() { return this.each(function() { var t = e(this), i = t.prev(n); if (i.length || (i = t.closest(n)), !i.length) return void console.log("Main dem div not found"); var a = i.find(o).first(), s = i.data("opts").pid, r = Cookies.get("demPoll_" + s), c = "notVote" == r ? !0 : !1, f = !("undefined" == typeof r || c), l = t.find(o + "-cache.vote").html(), h = t.find(o + "-cache.voted").html(); if (l) { var u = f && h; if (a.html((u ? h : l) + "").removeClass("vote voted").addClass(u ? "voted" : "vote"), f && d.cacheSetAnswrs(a, r), a.demInitActions(1), !c && !f && 1 == t.data("opt_logs")) { var m, p = function() { clearTimeout(m) }, v = function() { m = setTimeout(function() { if (!i.hasClass("checkAnswDone")) { i.addClass("checkAnswDone"); var t = i.find(".dem-link").first(); t.demSetLoader(), e.post(d.ajaxurl, { dem_pid: i.data("opts").pid, dem_act: "getVotedIds", action: "dem_ajax" }, function(e) { t.demUnsetLoader(), e && (a.html(h), d.cacheSetAnswrs(a, e), a.demInitActions(), a.demCacheShowNotice(e)) }) } }, 700) }; i.hover(v, p), i.click(v) } } }) }, d.detectRealHeight = function(e) { var t = e.clone().css({ height: "auto" }).insertBefore(e), n = "border-box" == t.css("box-sizing") ? parseInt(t.css("height")) : t.height(); return t.remove(), n }, d.setHeight = function(t, n) { var i = d.detectRealHeight(t); n ? t.css({ height: i }) : t.css({ opacity: 0 }).animate({ height: i }, d.speed, function() { e(this).animate({ opacity: 1 }, 1.5 * d.speed) }) }, d.setAnswsMaxHeight = function(t) { if ("-1" !== d.answMaxHeight && "0" !== d.answMaxHeight && d.answMaxHeight) { var n = t.find(".dem-vote, .dem-answers").first(), i = parseInt(d.answMaxHeight); n.css({ "max-height": "none", "overflow-y": "visible" }); var o = "border-box" == n.css("box-sizing") ? parseInt(n.css("height")) : n.height(), a = o - i; if (a > 100) { n.css("position", "relative"); var s, r = e('<span class="dem__collapser"><span class="arr"></span></span>').appendTo(n), c = function() { r.addClass("expanded").removeClass("collapsed") }, f = function() { r.addClass("collapsed").removeClass("expanded") }; t.data("expanded") ? c() : (f(), n.height(i).css("overflow-y", "hidden")), r.hover(function() { t.data("expanded") || (s = setTimeout(function() { r.trigger("click") }, 1e3)) }, function() { clearTimeout(s) }), r.click(function() { if (clearTimeout(s), t.data("expanded")) f(), t.data("expanded", !1), t.height("auto"), n.stop().css("overflow-y", "hidden").animate({ height: i }, d.speed, function() { d.setHeight(t, !0) }); else { c(); var e = d.detectRealHeight(n); e += 7, t.data("expanded", !0), t.height("auto"), n.stop().animate({ height: e }, d.speed, function() { d.setHeight(t, !0), n.css("overflow-y", "visible") }) } }) } } }, d.maxAnswLimit = function() { i.on("change", "[type=checkbox]", function() { var t = e(this).closest(n).data("opts").max_answs, i = e(this).closest(o).find("[type=checkbox]"), a = i.filter(":checked").length; a >= t ? i.filter(":not(:checked)").each(function() { e(this).prop("disabled", "disabled").closest("li").addClass("dem-disabled") }) : i.each(function() { e(this).removeProp("disabled").closest("li").removeClass("dem-disabled") }) }) }, d.demShake = function(e) { var t = e.css("position"); for (t && "static" !== t || e.css("position", "relative"), t = 1; 2 >= t; t++) e.animate({ left: -10 }, 50).animate({ left: 10 }, 100).animate({ left: 0 }, 50) }, d.demLoadingDots = function(e) { var n = e, i = n.is("input"), o = i ? n.val() : n.html(); "..." === o.substring(o.length - 3) ? i ? n[0].value = o.substring(0, o.length - 3) : n[0].innerHTML = o.substring(0, o.length - 3) : i ? n[0].value += "." : n[0].innerHTML += ".", t = setTimeout(function() { d.demLoadingDots(n) }, 200) }) }! function(e) { if ("function" == typeof define && define.amd) define(e); else if ("object" == typeof exports) module.exports = e(); else { var t = window.Cookies, n = window.Cookies = e(); n.noConflict = function() { return window.Cookies = t, n } } }(function() { function e() { for (var e = 0, t = {}; e < arguments.length; e++) { var n = arguments[e]; for (var i in n) t[i] = n[i] } return t } function t(n) { function i(t, o, a) { var s; if ("undefined" != typeof document) { if (arguments.length > 1) { if (a = e({ path: "/" }, i.defaults, a), "number" == typeof a.expires) { var d = new Date; d.setMilliseconds(d.getMilliseconds() + 864e5 * a.expires), a.expires = d } try { s = JSON.stringify(o), /^[\{ \[]/.test(s) && (o = s) } catch (r) {} return o = n.write ? n.write(o, t) : encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), t = encodeURIComponent(String(t)), t = t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), t = t.replace(/[\(\)]/g, escape), document.cookie = [t, "=", o, a.expires && "; expires=" + a.expires.toUTCString(), a.path && "; path=" + a.path, a.domain && "; domain=" + a.domain, a.secure ? "; secure" : ""].join("") } t || (s = {}); for (var c = document.cookie ? document.cookie.split("; ") : [], f = /(%[0-9A-Z]{ 2} )+/g, l = 0; l < c.length; l++) { var h = c[l].split("="), u = h[0].replace(f, decodeURIComponent), m = h.slice(1).join("="); '"' === m.charAt(0) && (m = m.slice(1, -1)); try { if (m = n.read ? n.read(m, u) : n(m, u) || m.replace(f, decodeURIComponent), this.json) try { m = JSON.parse(m) } catch (r) {} if (t === u) { s = m; break } t || (s[u] = m) } catch (r) {} } return s } } return i.set = i, i.get = function(e) { return i(e) }, i.getJSON = function() { return i.apply({ json: !0 }, [].slice.call(arguments)) }, i.defaults = {}, i.remove = function(t, n) { i(t, "", e(n, { expires: -1 })) }, i.withConverter = t, i } return t(function() {}) }); var demjquerywait = setInterval(function() { "undefined" != typeof jQuery && (clearInterval(demjquerywait), jQuery(document).ready(dem_ready)) }, 50); </script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js?ver=4.7.8'></script> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll": "1" }; /* ]]> */ </script> <script type='text/javascript' src='https://gamevid.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript' src='https://gamevid.ru/wp-content/plugins/wp-postratings/js/postratings-js.js?ver=1.84'></script> <script type='text/javascript' src='https://gamevid.ru/wp-content/plugins/disqus-comment-system/media/js/disqus.js?ver=4.7.8'></script> <script type='text/javascript' src='https://gamevid.ru/wp-content/plugins/disqus-comment-system/media/js/count.js?ver=4.7.8'></script> </div> <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>