Поиск слов при помощи дополнительных операторов

Here we start out with a simple "settings" file, named settings.asp. This file will be included on each page, and will contain the basic settings for this guestbook.

Since the password (logincode) is NOT in the database, you can leave the database in the webroot with a mappath statement to make the install easier. However, the best place for the database is outside of your webroot, in which case you would want to change the database_path string to your full path ("C:\inetpub\database\post.mdb" for example)

There is also an important settings to allow html, or not. Many times folks abuse a guestbook by filling it with links, and other junk. It would be a good idea to disallow html, unless you really need it.

The language setting is just a set of variables for text used within the system, for each language there is a different text that is used. Very easy to add a "new" language to the system.

Details

The login is a simple login check page, which checks the login code entered on the form
with the one stored in the settings.asp file.

" title of your guestbook. pagetitle = " Demo" " language " english = en, german = ger, french = fr lang = " en" " admin password logincode = " 1234" " number of entries to show. show_posts = " 25" " minimum length of post to be allowed. minimum_length = 4 " set to "no" for no html, set to "yes" to allow html (not recommended!) allow_html = " no" " leave as is, unless you want to move your database. database_path = Server .MapPath(" post.mdb" ) <%Option Explicit %> <% if Request .Form(" mynumber" ) = " " then response .redirect(" login.asp?l=password_blank" ) End If " set variables from form FormPwd = Request .Form(" mynumber" ) FormPwd = replace (FormPwd," "" ," """ ) " run login or return to login page if formpwd = logincode then Session(" LoginID" ) = formpwd else response .redirect(" login.asp?l=incorrect_login_or_password" ) End if " final redirect response .redirect(" post.asp" ) %>

The login uses session variables to store the login information, so to log off we simple abandon the session. The redirect appends the date to avoid seeing a "cached" login page after being logged out. This is not a security issue, but just for convenience.

<% session.abandon response .redirect(" post.asp?d=" & date ) %>

Now the main code is the post.asp page, this page is the same whether you are logged in as admin or just a guest visiting the page. If you are logeed in you see the same data as a guest, only you have more options available, you can delete posts, or restore deleted posts, or empty the "recycle bin" (where deleted posts are stored until you clear them out).

As you can see from the code below, we check for the loggedin session right from the start,
then we can use this throughout the rest of the script to display data based on your status as admin or guest.

<% option explicit %> <% LoggedIn = Session(" loginID" )

Once you are logged in you see more options available.

The file is split up into "parts" depending on what querystring is passed.

The section below checks to see if you are logged in and then check so see if
you have attempted to empty the "deleted" items from the database.

" ============Empty Deleted Items from the database============ If LoggedIn <> " " Then if request .querystring(" del" ) = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " & _ database_path mySQL = " DELETE FROM tblpost where active = 2;" dConn.execute(mySQL) dconn.close set dconn = nothing response .redirect(" post.asp" ) end if end if

As you can see from the rest of the main "post" code, different items are displayed or actions performed based on being logged in or not, and if so what querystring value you have passed to the page.

" ============set based on delete or undelete============ If LoggedIn <> " " Then showdeleted = request .querystring(" showdeleted" ) if showdeleted = 1 then active = 2 removetype = 1 delete_text = undelete_text delimage = " undelete.gif" else active = 1 removetype = 2 delete_text = delete_text delimage = " delete.gif" end if else active = 1 end if " ============Delete/Undelete Items from the guestbook display============ remove = request .querystring(" remove" ) if remove = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & database_path removetype = request .querystring(" removetype" ) mySQL = " UPDATE tblPost SET Active = " & removetype & " WHERE ID = " & _ ID & " ;" response .write " updating" dConn.execute(mySQL) dConn.Close set dConn = Nothing response .redirect(" post.asp" ) end if " ============End Delete Section============ Set dataRS = Server .CreateObject (" ADODB.RecordSet" ) dataSQL = " Select TOP " & show_posts & " message, remote_addr, sysdate, " &_ " systime, id FROM tblPost WHERE active = " & active &_ " order by sysdate DESC, systime DESC;" " Response.Write dataSQL " response.end Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & database_path dataRS.Open dataSQL, dConn, 1 , 3 recordcount = dataRS.recordcount if recordcount > 0 then data = dataRS.GetRows() " Data is retrieved so close all connections dataRS.Close Set dataRS = Nothing dconn.close set dconn = nothing " Setup for array usage iRecFirst = LBound (data, 2 ) iRecLast = UBound (data, 2 ) end if " ============IF IS A POST BACK============ message = trim (request .form(" message" )) if request .form(" ispostback" ) = 1 AND (len (message) > minimum_length) then if allow_html = " no" then message = RemoveHTMLtags(message) else message = PreSubmit2(message) end if strSQL = " tblPost" " Open a recordset Set cRS2 = Server .CreateObject (" ADODB.recordset" ) Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &_ database_path cRS2.Open strSQL, dConn, 1 ,3 cRS2.AddNew cRS2(" message" ) = message cRS2(" sysdate" ) = date () cRS2(" systime" ) = time () cRS2(" remote_addr" ) = request .ServerVariables(" remote_addr" ) cRS2(" Active" ) = 1 cRS2.Update cRS2.Close Set cRS2 = Nothing dConn.Close Set dConn = Nothing response .redirect(" post.asp" ) end if " ============End POSTBACK Section============ %> <%=pagetitle%> </ title > </ head > <P style=" FONT-WEIGHT: bold" ><%=pagetitle%> <table border=2 bordercolor=" silver" CELLSPACING=0 CELLPADDING=4> <form action=" post.asp" method=" post" name=" form1" id=" form1" > <tr class=" smalltext"> <td><textarea cols=" 50" rows=" 4" name=" message" style=" <span>font-family: Arial, Helvetica, sans-serif;" </span> class=" cssborder" title=" <%=add_text%>" ></ textarea > </ td > <td nowrap><input type=" submit" value=" <%=add_text%>" style=" height: 50px;" class=" cssborder" ></ td > </ tr > <input type=" hidden" name=" ispostback" value=" 1" > </ form > </ table > <% if recordcount > 0 then %> <table border=" 2" cellspacing=" 0" cellpadding=" 4" bordercolor=" silver" width=" 500" > <tr> <th><%= message_text %> </ th > <% If LoggedIn <> " " then %> <th><%= delete_text %> </ th > <% end if %> </ tr > <% " <span> Loop through the records (second dimension of the array) </span> For I = iRecFirst To iRecLast Response .Write " <tr class="smalltext">" & _ " <td colspan="top">" & data(0 , I) & " [" & data(3 ,I) & " | " & data(2 , I) & " | " & data(1 , I) & " ]</td>" if LoggedIn <> " " then response .write " <span><td nowrap valign="top" align="center">" </span> response .write " <img src='https://olegshein.ru/wp-content/uploads/2023/09/" %20&%20delimage%20&%20' loading=lazy></td>" end if Next " I %> </ table > <% end if If LoggedIn <> " " Then response .write logoutlink else response .write loginlink end if " close db just in case on error resume next dConn.Close Set dConn = Nothing on error goto 0 %> <p>That is basically it, this is a very simple little guestbook, that should be easy to add to an site that supports ASP and MS Access database connections (No ODBC is necesary).</p> <p>Любой поиск уязвимостей на веб-ресурсах начинается с разведки и сбора информации.<br> Разведка может быть как активной - брутфорс файлов и директорий сайта, запуск сканеров уязвимостей, ручной просмотр сайта, так и пассивной - поиск информации в разных поисковых системах. Иногда бывает так, что уязвимость становится известна еще до открытия первой страницы сайта. </p><p> <b>Как такое возможно? </b><br> Поисковые роботы, безостановочно бродящие по просторам интернета, помимо информации, полезной обычному пользователю, часто фиксируют то, что может быть использовано злоумышленниками при атаке на веб-ресурс. Например, ошибки скриптов и файлы с чувствительной информацией (начиная от конфигурационных файлов и логов, заканчивая файлами с аутентификационными данными и бэкапами баз данных).<br> С точки зрения поискового робота сообщение об ошибке выполнения sql-запроса - это обычный текст, неотделимый, например, от описания товаров на странице. Если вдруг поисковый робот наткнулся на файл с расширением.sql, который почему-то оказался в рабочей папке сайта, то он будет воспринят как часть содержимого сайта и так же будет проиндексирован (включая, возможно, указанные в нём пароли).</p><p>Подобную информацию можно найти, зная устойчивые, часто уникальные, ключевые слова, которые помогают отделить «уязвимые страницы» от страниц, не содержащих уязвимости. <br> Огромная база специальных запросов с использованием ключевых слов (так называемых дорков) существует на exploit-db.com и известна под названием Google Hack Database.</p><p><b>Почему google? </b><br> Дорки ориентированы в первую очередь на google по двум причинам:<br> − наиболее гибкий синтаксис ключевых слов (приведен в Таблице 1) и специальных символов (приведен в Таблице 2);<br> − индекс google всё же более полный нежели у других поисковых систем;</p><p>Таблица 1 – Основные ключевые слова google<br></p><table><tbody><tr><td width="214"><b>Ключевое слово </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">site<br></td> <td width="214">Поиск только на указанном сайте. Учитывает только url<br></td> <td width="214">site:somesite.ru - найдет все страницы по данному домену и поддоменам<br></td> </tr><tr><td width="214">inurl<br></td> <td width="214">Поиск по словам, присутствующим в uri. В отличие от кл. слова “site”, ищет совпадения после имени сайта<br></td> <td width="214">inurl:news - найдет все страницы, где в uri встретится данное слово<br></td> </tr><tr><td width="214">intext<br></td> <td width="214">Поиск в теле страницы<br></td> <td width="214">intext:”пробки” - полностью аналогично обычному запросу “пробки”<br></td> </tr><tr><td width="214">intitle<br></td> <td width="214">Поиск в заголовке страницы. Текст, заключенный между тэгами <title><br></td> <td width="214">intitle:”index of” - найдет все страницы с листингом директории<br></td> </tr><tr><td width="214">ext<br></td> <td width="214">Поиск страниц с указанным расширением<br></td> <td width="214">ext:pdf - найдет все pdf-файлы<br></td> </tr><tr><td width="214">filetype<br></td> <td width="214">В настоящее время полностью аналогично кл. слову “ext”<br></td> <td width="214">filetype:pdf - аналогично<br></td> </tr><tr><td width="214">related<br></td> <td width="214">Поиск сайтов со схожей тематикой<br></td> <td width="214">related:google.ru - покажет свои аналоги<br></td> </tr><tr><td width="214">link<br></td> <td width="214">Поиск сайтов, ссылающихся на данный<br></td> <td width="214">link:somesite.ru - найдет все сайты, на которых есть ссылка на данный<br></td> </tr><tr><td width="214">define<br></td> <td width="214">Показать определение слова<br></td> <td width="214">define:0day - определение термина<br></td> </tr><tr><td width="214">cache<br></td> <td width="214">Показать содержимое страницы в кэше (если имеется)<br></td> <td width="214">cache:google.com - откроет страницу из кэша<br></td> </tr></tbody></table><p>Таблица 2 – Специальные символы запросов google<br></p><table><tbody><tr><td width="214"><b>Символ </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Точная фраза<br></td> <td width="214">intitle:«RouterOS router configuration page» - поиск роутеров<br></td> </tr><tr><td width="214">*<br></td> <td width="214">Любой текст<br></td> <td width="214">inurl:«bitrix*mcart» - поиск сайтов на bitrix с уязвимым модулем mcart<br></td> </tr><tr><td width="214">.<br></td> <td width="214">Любой символ<br></td> <td width="214">Index.of - аналогично запросу index of<br></td> </tr><tr><td width="214">-<br></td> <td width="214">Исключить слово<br></td> <td width="214">error -warning - показать все страницы, где есть error, но нет warning<br></td> </tr><tr><td width="214">..<br></td> <td width="214">Диапазон<br></td> <td width="214">cve 2006..2016 - показать уязвимости по годам начиная с 2006<br></td> </tr><tr><td width="214">|<br></td> <td width="214">Логическое «или»<br></td> <td width="214">linux | windows - показать страницы, где встречается либо первое либо второе слово<br></td> </tr></tbody></table><br> Стоит понимать, что любой запрос к поисковой системе - это поиск только по словам.<br> Бесполезно искать на странице мета-символы (кавычки, скобки, знаки пунктуации и т. п). Даже поиск по точной фразе, указанной в кавычках, - это поиск по словам, с последующим поиском точного совпадения уже в результатах.<p>Все дорки Google Hack Database разделены логически на 14 категорий и представлены в таблице 3.<br> Таблица 3 – Категории Google Hack Database<br></p><table><tbody><tr><td width="168"><b>Категория </b><br></td> <td width="190"><b>Что позволяет найти </b><br></td> <td width="284"><b>Пример </b><br></td> </tr><tr><td width="168">Footholds<br></td> <td width="190">Веб-шеллы, публичные файловые менеджеры<br></td> <td width="284">Найти все взломанные сайты, где залиты перечисленные вебшеллы:<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">Файлы реестра, конфигурационные файлы, логи, файлы, содержащие историю введенных команд<br></td> <td width="284">Найти все файлы реестра, содержащие информацию об аккаунтах:<br><i>filetype:reg reg +intext:«internet account manager» </i><br></td> </tr><tr><td width="168">Sensitive Directories<br></td> <td width="190">Каталоги с различной информацией (личные документы, конфиги vpn, скрытые репозитории и т.д.)<br></td> <td width="284">Найти все листинги директорий содержащих файлы, относящиеся к vpn:<br><i>«Config» intitle:«Index of» intext:vpn </i><br> Сайты, содержащие git-репозитории:<br><i>(intext:«index of /.git») («parent directory») </i><br></td> </tr><tr><td width="168">Web Server Detection<br></td> <td width="190">Версию и иную информацию о веб-сервере<br></td> <td width="284">Найти административные консоли сервера JBoss:<br><i>inurl:"/web-console/" intitle:«Administration Console» </i><br></td> </tr><tr><td width="168">Vulnerable Files<br></td> <td width="190">Скрипты, содержащие известные уязвимости<br></td> <td width="284">Найти сайты, использующие скрипт, позволяющий выгрузить произвольный файл с сервера:<br><i>allinurl:forcedownload.php?file= </i><br></td> </tr><tr><td width="168">Vulnerable Servers<br></td> <td width="190">Инсталляционные скрипты, веб-шеллы, открытые административные консоли и т.д<br></td> <td width="284">Найти открытые PHPMyAdmin консоли, запущенные от 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">Различные ошибки и предупреждения часто раскрывающие важную информацию - начиная от версии CMS до паролей<br></td> <td width="284">Сайты, имеющие ошибки в выполнении sql-запросов к базе:<br><i>«Warning: mysql_query()» «invalid query» </i><br></td> </tr><tr><td width="168">Files containing juicy info<br></td> <td width="190">Сертификаты, бэкапы, электронные письмы, логи, sql-скрипты и т.д<br></td> <td width="284">Найти инициализационные sql-скрипты:<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">Всё что может содержать пароли - логи, sql-скрипты и т.д<br></td> <td width="284">Логи, упоминающие пароли:<br><i>filetype: </i><i>log </i><i>intext: </i><i>password | </i><i>pass | </i><i>pw </i><br> sql-скрипты содержащие пароли:<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">Информацию связанную с онлайн покупками<br></td> <td width="284">Найти пинкоды:<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">Информацию, не относящуюся непосредственно к веб-ресурсу, но затрагивающую сеть либо прочие не веб-сервисы<br></td> <td width="284">Найти скрипты автоматической настройки прокси, содержащие информацию о внутренней сети:<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">Страницы, содержащие формы входа<br></td> <td width="284">Веб-страницы saplogon:<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">Принтеры, роутеры, системы мониторинга и т.д<br></td> <td width="284">Найти конфигурационную панель принтера:<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">Сайты на уязвимых версиях CMS<br></td> <td width="284">Найти уязвимые плагины, через которые можно загрузить произвольный файл на сервер:<br><i>inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled </i><br></td> </tr></tbody></table><br> Дорки чаще ориентированы на поиск по всем сайтам сети интернет. Но ни что не мешает ограничить область поиска на каком-либо сайте или сайтах.<br> Каждый запрос к google можно сосредоточить на определённом сайте, добавив к запросу ключевое слово «site:somesite.com». Данное ключевое слово может быть дописано к любому дорку.<p><b>Автоматизация поиска уязвимостей </b><br> Так родилась идея написать простенькую утилиту, автоматизирующую поиск уязвимостей с помощью поисковой системы (google) и опирающуюся на Google Hack Database.</p><p>Утилита представляет из себя скрипт, написанный на nodejs с использованием phantomjs. Если быть точным, то скрипт интерпретируется самим phantomjs.<br> Phantomjs - это полноценный веб-браузер без графического интерфейса, управляемый с помощью js-кода и обладающий удобным API.<br> Утилита получила вполне понятное название – dorks. Запустив её в командной строке (без опций) получаем короткую справку с несколькими примерами использования:<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy><br> Рисунок 1 - Список основных опций dorks</p><p>Общий синтаксис утилиты: dork «команда» «список опций».<br> Подробное описание всех опций представлено в таблице 4. </p><p>Таблица 4 – Синтаксис dorks<br></p><table border="1"><tbody><tr><td width="214"><b>Команда </b><br></td> <td width="214"><b>Опция </b><br></td> <td width="214"><b>Описание </b><br></td> </tr><tr><td rowspan="4" width="214">ghdb<br></td> <td width="214">-l<br></td> <td width="214">Вывести нумерованный список категорий дорков Google Hack Database<br></td> </tr><tr><td width="214">-c «номер или название категории»<br></td> <td width="214">Загрузить дорки указанной категории по номеру или названию<br></td> </tr><tr><td width="214">-q «фраза»<br></td> <td width="214">Загрузить дорки, найденные по запросу<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (только вместе с опциями -c|-q)<br></td> </tr><tr><td rowspan="8" width="214">google<br></td> <td width="214">-d «дорк»<br></td> <td width="214">Задать произвольный дорк (опция может использоваться много раз, допускается сочетание с опцией -D)<br></td> </tr><tr><td width="214">-D «файл»<br></td> <td width="214">Использовать дорки из файла<br></td> </tr><tr><td width="214">-s «сайт»<br></td> <td width="214">Задать сайт (опция может использоваться много раз, допускается сочетание с опцией -S)<br></td> </tr><tr><td width="214">-S «файл»<br></td> <td width="214">Использовать сайты из файла (перебор дорков будет выполнен по каждому сайту независимо)<br></td> </tr><tr><td width="214">-f «фильтр»<br></td> <td width="214">Задать дополнительные ключевые слова (будет добавлено к каждому дорку)<br></td> </tr><tr><td width="214">-t «количество мс»<br></td> <td width="214">Интервал между запросами к google<br></td> </tr><tr><td width="214">-T «количество мс»<br></td> <td width="214">Таймаут, если встретилась каптча<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (будут сохранены только те дорки, по которым что-то нашлось)<br></td> </tr></tbody></table><br> С помощью команды ghdb можно получить все дорки с exploit-db по произвольному запросу, либо указать целиком всю категорию. Если указать категорию 0 - то будет выгружена вся база (около 4.5 тысяч дорков).<p>Список категорий доступных на данный момент представлен на рисунке 2.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy></p><p>Рисунок 2 - Список доступных категорий дорков GHDB</p><p>Командой google будет произведена подстановка каждого дорка в поисковик google и проанализирован результат на предмет совпадений. Дорки по которым что-то нашлось будут сохранены в файл.<br> Утилита поддерживает разные режимы поиска:<br> 1 дорк и 1 сайт;<br> 1 дорк и много сайтов;<br> 1 сайт и много дорков;<br> много сайтов и много дорков;<br> Список дорков и сайтов можно задать как через аргумент, так и через файл.</p><p><b>Демонстрация работы </b><br> Попробуем поискать какие-либо уязвимости на примере поиска сообщений об ошибках. По команде: dorks ghdb –c 7 –o errors.dorks будут загружены все известные дорки категории “Error Messages” как показано на рисунке 3.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy><br> Рисунок 3 – Загрузка всех известных дорков категории “Error Messages”</p><p>Дорки загружены и сохранены в файл. Теперь остается «натравить» их на какой-нибудь сайт (см. рисунок 4).<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy><br> Рисунок 4 – Поиск уязвимостей интересуемого сайта в кэше google</p><p>Спустя какое-то время на исследуемом сайте обнаруживается несколько страниц, содержащих ошибки (см. рисунок 5).</p><p><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy><br> Рисунок 5 – Найденные сообщения об ошибках</p><p>Итог, в файле result.txt получаем полный список дорков, приводящих к появлению ошибки.<br> На рисунке 6 представлен результат поиска ошибок сайта.<br><br> Рисунок 6 – Результат поиска ошибок</p><p>В кэше по данному дорку выводится полный бэктрейс, раскрывающих абсолютные пути скриптов, систему управления содержимым сайта и тип базы данных (см. рисунок 7).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy><br> Рисунок 7 – раскрытие информации об устройстве сайта </p><p>Однако стоит учитывать, что не все дорки из GHDB дают истинный результат. Так же google может не найти точного совпадения и показать похожий результат.</p><p>В таком случае разумнее использовать свой персональный список дорков. Например, всегда стоит поискать файлы с «необычными» расширениями, примеры которых приведены на рисунке 8.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy><br> Рисунок 8 – Список расширений файлов, не характерных для обычного веб-ресурса</p><p>В итоге, по команде dorks google –D extensions.txt –f банк, с самого первого запроса google начинает отдавать сайты с «необычными» расширениями файлов (см. рисунок 9). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy><br> Рисунок 9 – Поиск «нехороших» типов файлов на сайтах банковской тематики</p><p>Стоит иметь ввиду, что google не воспринимает запросы длиннее 32 слов.</p><p>С помощью команды dorks google –d intext:”error|warning|notice|syntax” –f университет <br> можно поискать ошибки интерпретатора PHP на сайтах учебной тематики (см. рисунок 10). <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy><br> Рисунок 10 – Поиск PHP-ошибок времени исполнения</p><p>Иногда пользоваться какой-то одной или двумя категориями дорков не удобно.<br> Например, если известно, что сайт работает на движке wordpress, то нужны дорки именно по wordpress. В таком случае удобно воспользоваться поиском Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt загрузит все дорки по Wordpress, как показано на рисунке 11:<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy><br> Рисунок 11 – Поиск дорков, относящихся к Wordpress</p><p>Снова вернемся к банкам и командой dorks google –D wordpress_dords.txt –f банк попробуем найти что-нибудь интересное, связанное с wordpress (см. рисунок 12).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy><br> Рисунок 12 – Поиск уязвимостей Wordpress</p><p>Стоит заметить, что поиск на Google Hack Database не воспринимает слова короче 4 символов. Например, если CMS сайта не известна, но известен язык - PHP. В таком случае можно отфильтровать нужное вручную с помощью пайпа и системной утилиты поиска dorks –c all | findstr /I php > php_dorks.txt (см. рисунок 13):<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy><br> Рисунок 13 – Поиск по всем доркам, где есть упоминание PHP</p><p>Поиск уязвимостей или какой-то чувствительной информации в поисковой системе следует искать только в случае если по данному сайту есть значительный индекс. Например, если у сайта проиндексировано 10-15 страниц, то глупо что-либо искать подобным образом. Проверить размер индекса просто - достаточно ввести в строку поиска google «site:somesite.com». Пример сайта с недостаточным индексом показан на рисунке 14.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy><br> Рисунок 14 – Проверка размера индекса сайта</p><p>Теперь о неприятном… Периодически google может запросить каптчу - тут ничего не поделать - её придется ввести. Например, у меня, при переборе категории «Error Messages» (90 дорков) каптча выпала только один раз.</p><p>Стоит добавить, что phantomjs поддерживает работу так же и через прокси, как через http, так и через socks интерфейс. Для включения режима прокси надо раскоментировать соответствующую строку в dorks.bat или dorks.sh.</p><p>Инструмент доступен в виде исходного кода</p> <p>Привет читателям <b>сайт </b>)</p><p>В данной статье мы рассмотрим Phoca Guestbook - компонент гостевой книги для <b>Joomla-сайтов </b>.</p><p>Что можно сказать о данном компоненте... Очень простой и удобный в администрировании, имеет достаточное количество настроек для размещения отзывов на Вашем сайте.</p><p><b>Возможности Phoca Guestbook: </b></p><ul><li>выбор прав доступа для пользователей;</li> <li>фильтрация не желаемых слов и фраз;</li> <li>блокировка IP-адресов;</li> <li>ограничение количества печатаемых символов;</li> <li>капча;</li> <li>модернизация сообщений (проверка модератором);</li> <li>внешний вид отзывов (цвет, отображение имя, отображение e-mailи адреса сайта).</li> </ul><p>Итак рассмотрим компонент.</p><p>После установки, <b>Phoca Guestbook </b> не нуждается в глобальных настройках.</p><p><b>Панель управления: </b></p><ul><li>Posts - все сообщения оставленные пользователями;</li> <li>Guestbooks - категории (созданные гостевые книги);</li> <li>Info - Информация и обновление компонента.</li> </ul><p>Как видно, на рисунке справа есть кнопка "Параметры". Если нажать на нее, то можно более обширно настроить гостевую книгу и сам компонент.</p><p><img src='https://i0.wp.com/joomla-secrets.ru/images/guest/2.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto; height: 322px; width: 750px;" cellpadding="0"><tbody><tr><td style="text-align: left;"><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td style="text-align: left;"><p>Display Subject In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле Объект в форме, устанавливается, если поле Тема будет требоваться</p> </td> </tr><tr><td style="text-align: left;"><p>Display Name In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть имя поля в форме, устанавливается, если поле Name будет необходимо</p> </td> </tr><tr><td style="text-align: left;"><p>Display Email In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле e-mail в форму, установите поле e-mail, если потребуется</p> </td> </tr><tr><td style="text-align: left;"><p>Display Website In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле Сайт в форме, установите поле, если сайт будет требоваться</p> </td> </tr><tr><td style="text-align: left;"><p>Display Content In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть содержимое поля в форме</p> </td> </tr><tr><td style="text-align: left;"><p>Enable Javascript Editor</p> </td> <td><p>(Да | Нет) Включить или выключить JavaScript Editor</p> </td> </tr><tr><td style="text-align: left;"><p>Display Path In Javascript Editor</p> </td> <td><p>(Да | Нет) показать или скрыть информацию о пути в редактор JavaScript</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Скрыть | Дисплей) Установите, если форма должна отображаться или нет.</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Top | Нижний) Выберите Текущее местоположение</p> </td> </tr><tr><td style="text-align: left;"><p>Display Required Sign</p> </td> <td><p>(Да | Нет) Установите для отображения полей, которые требуются</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Да | Нет) Установите, для отображения сообщений.</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>ширина (в пикселях)</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>высота (в пикселях)</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>Установить ширину таблицы (таблица, в которой отображается форма, в пикселях)</p> </td> </tr></tbody></table><p><img src='https://i1.wp.com/joomla-secrets.ru/images/guest/3.png' width="100%" loading=lazy></p><table border="1" style="height: 184px; margin-left: auto; margin-right: auto; width: 753px;" cellpadding="0"><tbody><tr style="text-align: center;"><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td> </td> <td><p>Если не зарегистрированный пользователь оставляет сообщение, то можно дать ему имя по умолчанию. Например: Гость</p> </td> </tr><tr><td><p>Username Or Name</p> </td> <td><p>(Имя пользователя | Имя) выберите имя которое должно быть отображено в Гостевой книге (Имя пользователя или реальное имя пользователя)</p> </td> </tr><tr><td><p>Disable User Check</p> </td> <td><p>(Нет | Да) Проверка пользователя (отключение этого параметра не рекомендуется)</p> </td> </tr><tr><td><p>Registered Users Only</p> </td> <td><p>(Да | Нет) Если Да, то только зарегистрированные пользователи могут добавлять новые сообщения</p> </td> </tr><tr><td> </td> <td><p>(Да | Нет) Если да, то сообщение будет отображаться после одобрения администратора</p> </td> </tr><tr><td> </td> <td><p>Отправить письмо</p> </td> </tr></tbody></table><p><img src='https://i1.wp.com/joomla-secrets.ru/images/guest/4.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto; height: 206px; width: 721px;" cellpadding="0"><tbody><tr><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td><p>Display Name In Post</p> </td> <td><p>(Да | Нет) показать или скрыть имя (имя пользователя) (гостевой книге)</p> </td> </tr><tr><td><p>Display Email In Post</p> </td> <td><p>(Да | Нет) показать или скрыть электронную почту (гостевой книге)</p> </td> </tr><tr><td><p>Display Website In Post</p> </td> <td><p>(Да | Нет) показать или скрыть сайт в (гостевой книге)</p> </td> </tr><tr><td> </td> <td><p>Установить формат даты</p> </td> </tr><tr><td> </td> <td><p>Установить цвет шрифта</p> </td> </tr><tr><td><p>Second Font Color</p> </td> <td><p>Установить второй цвет шрифта (цвет шрифта даты)</p> </td> </tr><tr><td><p>Background Color</p> </td> <td><p>Установить цвет фона</p> </td> </tr><tr><td> </td> <td><p>Установка цвета границы</p> </td> </tr><tr><td><p>Pagination Default Value</p> </td> <td><p>Установите значение по умолчанию для нумерации страниц</p> </td> </tr><tr><td> </td> <td><p>Установить нумерацию страниц. Отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Pagination Hide All</p> </td> <td><p>(Да | Нет) все значения будут скрыты (нумерация страниц)</p> </td> </tr></tbody></table><p><img src='https://i1.wp.com/joomla-secrets.ru/images/guest/5.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto;" cellpadding="0"><tbody><tr><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td><p>Forbidden Word Filter</p> </td> <td><p>Установить запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Forbidden Whole Word Filter</p> </td> <td><p>Установить все запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Save post with forbidden words</p> </td> <td><p>(Да | Нет) Если да, то посты, которые включают в себя запрещенные слова, будут сохранены в гостевой книге (запрещенные слова будут скрыты, если сохранены)</p> </td> </tr><tr><td> </td> <td><p>Добавить IP которые вы хотите заблокировать. Отделите каждый IP запятой (,)</p> </td> </tr><tr><td><p>Maximum Characters</p> </td> <td><p>Установить максимальное число символов, они могут быть сохранены в базе данных</p> </td> </tr><tr><td> </td> <td><p>Установить максимальное количество URL, которые могут быть отображены в сообщении (0: нет, ссылки будут отображаться в сообщениях, -1: все URL-адреса будут отображаться в сообщениях, например 3: только три ссылки из всех URL будут отображаться в сообщениях)</p> </td> </tr><tr><td><p>Not Allowed URL Identification Words</p> </td> <td><p>Набор слов, который будет определять допускать ли URL-адреса в сообщении. Отделите каждое слово запятая (,). Пример:: / /,. HTM,. ASP,. JSP,. PHP, WWW.,. COM,. ORG,.</p> </td> </tr><tr><td> </td> <td><p>Включение или отключение защиты Captcha</p> </td> </tr><tr><td> </td> <td><p>Измените этот параметр только в том случае, вы не будете видеть капчу.</p> </td> </tr><tr><td><p>Enable Captcha - Users</p> </td> <td><p>(Все | Не зарегистрированы) Параметр отображения капчи для груп пользователей (показывать ли капчу зарегистрированным)</p> </td> </tr><tr><td><p>Standard Captcha Characters</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в стандартном изображении Captcha</p> </td> </tr><tr><td><p>Math Captcha Characters</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в Math изображения Captcha</p> </td> </tr><tr><td><p>TTF Символы</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в TTF изображения Captcha</p> </td> </tr><tr><td><p>TTF Captcha Characters</p> </td> <td><p>Для отображения ре-капчи, введите публичный код</p> </td> </tr><tr><td><p>reCAPTCHA Public Key</p> </td> <td><p>Установить рекапчи Public Key</p> </td> </tr><tr><td><p>Enable Akismet Spam Protection</p> </td> <td><p>(Нет | Да) Посылает все данные новой записи geustbook в Akismet - веб-сервис для проверки спама</p> </td> </tr><tr><td><p>Block Spam (Akismet)</p> </td> <td><p>(Нет | Да) Блокировать посты, которые не прошли проверку в Akismet</p> </td> </tr><tr><td> </td> <td><p>Установить Akismet API ключ, который необходимо использовать в Akismet-Spam. Получите ваш на https://akismet.com/signup/ бесплатно</p> </td> </tr><tr><td> </td> <td><p>Основной URL вашего сайта.(URL должен включать префикс http://)</p> </td> </tr><tr><td> </td> <td> </td> </tr><tr><td><p>Enable HTML Purifier</p> </td> <td><p>(Нет | Да) Включить или выключить HTML Purifier</p> </td> </tr><tr><td> </td> <td><p>Установить суффикс сессии (Это функция безопасности, чтобы изменить имя сессии, установите уникальный суффикс, например: a100b20c3)</p> </td> </tr><tr><td><p>Enable Hidden Field</p> </td> <td><p>(Нет | Да) Включить или выключить скрытые поля. Некоторые спам-ботов пытаются заполнить все поля на месте, если они заполняют это скрытое поле, которое человек не видит, запись не будет добавлена в гостевой книге.</p> </td> </tr><tr><td> </td> <td><p>(Да | Нет) Включить кэш.</p> </td> </tr><tr><td><p>Enable Detecting Incoming Page</p> </td> <td><p>(Да | Нет) Включить или выключить обнаружение входящих страниц. Это функция безопасности. Если вы включите её,то страницу, с которой пришел пост к гостевой книге, будет сохраняться и отображаться в интерфейсе.</p> </td> </tr></tbody></table> <p><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal1.jpg' height="156" width="132" loading=lazy><b>Компонент Phoca Guestbook </b> - это отличная гостевая книга на вашем сайте. Как и другие расширения от создателей Phoca , данный компонент выполнен достаточно профессионально и оснащен необходимыми параметрами. С помощью Phoca Guestbook можно создать не только гостевую книгу, но и форму отправки сообщений, страницу обсуждение и опросов, страницы с предложениями и замечаниями, и прочие материалы на что хватит фантазии, при этом всё это можно использовать параллельно.</p> <h2>Особенности и преимущества</h2> <ul><li>возможность создания нескольких гостевых книг</li> <li>настройка стилей, расположения и заполняемых полей</li> <li>выбор полей, которые будут показаны в сообщении</li> <li>различные виды защиты от спам-ботов</li> <li>возможность предмодерации сообщений</li> <li>установка максимального количества символов и запрет нежелательных слов</li> <li>возможность блокировки пользователей по IP</li> <li>уведомления о новых сообщениях</li> </ul><h2>Установка и панель управления</h2> <p>Проект устанавливается точно также как и большинство расширений, <b>но </b> после того, как установка завершится появятся 2 кнопки - <b>Install </b> и <b>Upgrade </b>. В случае новой установки нужно выбрать Install, в случае обновления компонента - Upgrade. Теперь можно перейти к панели управления, который можно найти по пути: Компоненты - Phoca Guestbook.</p> <p><img src='https://i1.wp.com/spinch.net.ua/images/stories/compon/phocagal2.JPG' height="108" width="367" loading=lazy></p> <h3>Раздел Posts</h3> <p>Здесь отображаются все комментарии, которые можно просматривать и в случае необходимости изменять и удалять. Также здесь предусмотрена возможность создания нового отзыва.</p> <h3>Раздел Guestbooks</h3> <p>Данный компонент имеет возможность создания нескольких гостевых книг, с различными темами - опросом, критикой, предложений и т.п. Таким образом для каждой темы создается отдельный Gusetbook, для этого нужно нажать кнопку <b>Создать </b>, и дальше обязательным является указание заголовка.</p> <h3>Info</h3> <p>Этот раздел содержит в себе краткую информацию о разработчике, установленной версии компонента и полезные ссылки. Кроме того есть большая кнопка Check Update, при нажатии на которую вы будете перемещены на другую страницу, где показана последняя версия (<i>current version </i>) и установленная(<i>your version </i>).</p> <h2><img src='https://i2.wp.com/spinch.net.ua/images/stories/compon/phocagal3.JPG' height="69" width="135" loading=lazy>Настройка компонента Phoca Guestbook</h2> <p>Перейти к настройкам можно только из панели управления (<b>Control panel </b>), где около Справки находится иконка <b>Настроек </b>. После перехода в которые откроется всплывающее окно с вкладками: Form, General, Post, Security, Права.</p> <p><img src='https://i2.wp.com/spinch.net.ua/images/stories/compon/phocagal4.JPG' width="100%" loading=lazy></p> <h4>Form</h4> <ul><li><b>Display Subject|Name|Email|Website|Content| In Form </b> - показывать или нет Тему/имя/эл.почту/сайт/поле сообщения для отправки отзыва. Если <i>required </i> - обязательно.</li> <li><span><b>Enable Javascript Editor </b> - отображать или нет визуальный редактор для поля сообщения </span></li> <li><span><b>Display Path In Javascript Editor </b> - показывать или нет html-теги внизу редактора </span></li> <li><span><b>Display Form </b> - показывать или скрывать форму (если скрыть, то при нажатии на ссылку форма откроется) </span></li> <li><span><b>Form Position </b> - расположение формы вверху (<i>Top </i>) или внизу (<i>Bottom </i>) сообщений </span></li> <li><span><b>Display Required Sign </b> - показывать или нет авторизацию, если она нужна для отправки сообщений </span></li> <li><span><b>Display Posts </b> - можно скрыть сообщения (например, когда Guestbook используется, как форма обратной связи) </span></li> <li><span><b>Editor Width|Height </b> - ширина/высота поля с сообщениями </span></li> <li><b>Table Width </b><span>- ширина таблицы в которой отображается форма </span></li> </ul><h4>General</h4> <ul><li><b>Predefined Name </b> - имя по-умолчанию</li> <li><b>Username Or Name </b> - логин или имя зарегистрированного пользоваться будут отображаться</li> <li><b>Disable User Check </b> - требуется или нет проверка пользователей по E-mail</li> <li><b>Registered Users Only </b> - если <i>Да </i>, то отправка сообщений доступна только зарегистрированным пользователям</li> <li><b>Review Item </b> - если <i>Да </i>, то сообщение будут показано после одобрения администратора</li> <li><b>Send Email </b> - выбрать пользователя, кому будут отправляться сообщения</li> </ul><h4>Post</h4> <ul><li><b>Display Name|Email|Website In Post </b> - показывать или нет имя/эл.почту/сайт в сообщениях</li> <li><b>Date Format </b> - установка формата даты</li> <li><b>Font ColorPick Color </b> - выбор цвета шрифтв</li> <li><b>Second Font ColorPick Color </b> - выбор второго цвета шрифта</li> <li><b>Background ColorPick Color </b> - выбор цвета фона</li> <li><b>Border ColorPick Color </b> - выбор цвета границ</li> <li><b>Pagination Default Value </b> - количество комментариев на странице (по умолчанию)</li> <li><b>Pagination </b> - установка, через запятую выбор количества комментариев на странице</li> <li><b>Pagination Hide All - </b> если <i>Да </i>, то опция Все (all) будет недоступна при выборе количества</li> </ul><h4>Security</h4> <ul><li><b>Forbidden Word Filter </b> - список запрещенных слов</li> <li><b>Forbidden Whole Word Filter </b> - список запрещенных слов целиком</li> <li><b>Save post with forbidden word </b> - сохранять или нет сообщения с запрещенными словами</li> <li><b>IP Ban </b> - список заблокированных IP-адресов</li> <li><b>Maximum Characters </b> - максимальное количество символов в сообщении</li> <li><b>Maximum Url </b> - максимальное количество ссылок в сообщении</li> <li><b>Not Allowed URL Identification Words </b> - список символов, которые запрещено использовать в ссылках (<i>html, //, www и т.п. </i>)</li> <li><b>Enable Captcha </b> - установить <i>No </i> или выбрать типа капчи, которая будет использоваться</li> <li><b>Captcha URL </b> - установить формат ссылки на изображение капчи, если оно не показывается</li> <li><b>Enable Captcha-Users </b> - кому показывать капчу - всем или пользователям без регистрации</li> <li><b>Standard|Math|TTF Captcha Characters </b> - виды символов для различных типов капчи</li> <li><b>reCAPTCHA Public/Private Key </b> - указать ключи, которые можно получить на сайте - www.google.com/recaptcha/admin/create</li> <li><b>Enable Akismet Spam Protection </b> - использовать или нет анти-спам защиту от Akismet</li> <li><b>Block Spam (Akismet) / Akismet API Key / Akismet URL </b> - если используете этот сервис, то нужно заполнить поля</li> <li><b>Specific Itemid </b> - указать специальный ID для компонента</li> <li><b>Enable HTML Purifier </b> - использовать или нет очистку html-кода</li> <li><b>Session Suffix </b> - установка специального суффикса против смены имени сессии</li> <li><b>Enable Hidden Field </b> - если включить скрытые поля, то их будут заполнять только боты, а не люди, таким образом сообщение не будет отправляться</li> <li><b>Enable Cache </b> - использовать или нет кэширование</li> <li><b>Enable Detecting Incoming Page </b> - определять или нет страницу, с которой был отправлен комментарий</li> </ul><h4>Права</h4> <p>Здесь можно определить необходимые права доступа различным группам пользователей.</p> <h2>Создание гостевой книги на сайте</h2> <p>Для того чтобы гостевая книга отображалась на вашем сайте, нужно создать для неё пункт меню, с типом - Guestbook.</p> <p><img src='https://i2.wp.com/spinch.net.ua/images/stories/compon/phocagal5.JPG' height="159" width="357" loading=lazy></p> <p>Далее, в <b>Обязательных параметрах </b> выбирается название гостевой книги, которая будет доступна в пункте меню, а ниже в <b>Основных параметрах </b> можно установить скрывать или нет отображение навигации на странице с комментариями.</p> <p>Для Joomla 1.5 также есть модуль, который позволяет отображать последние комментарии от компонента, но он доступен на официальном сайте только для тех, кто пожертвовал деньги проекту.</p> <p>Спонсором данной статьи выступает кофе blasercafe , лучший выбор чая и кофе для Вас и Вашей семьи.</p> <h1>Как правильно искать с помощью google.com</h1> <p>Все наверное умеют пользоваться такой поисковой системой, как гугл =) Но не все знают, что если грамотно составить поисковой запрос с помощью специальных конструкций, то можно достичь результатов того, что Вы ищете намного эффективнее и быстрее =) В этой статье я постараюсь показать что и как Вам нужно делать, чтобы искать правильно </p><p>Гугл поддерживает несколько расширенных операторов поиска, имеющими специальное значение при поиске на google.com. Типично, эти операторы изменяют поиск, или даже говорят гуглу делать полностью различные типы поиска. Например, конструкция <b>link: </b> является специальным оператором, и запрос <u>link:www.google.com </u> не даст вам нормального поиска, но вместо этого найдет все web-страницы, которые имеют связи к google.com. <br> альтернативные типы запросов </p><p><b>cache: </b> Если Вы будете включать другие слова в запрос, то Гугл подсветит эти включенные слова в пределах кэшируемого документа. <br> Например, <u>cache:www.сайт web </u> покажет кэшируемое содержимое с подсвеченным словом "web". </p><p><b>link: </b> рассматриваемый выше поисковой запрос покажет веб-страницы, на которых содержатся ссылки к указанному запросу. <br> Например: <u>link:www.сайт </u> отобразит все страницы на которых есть ссылка на http://www.сайт </p><p><b>related: </b> Отобразит web-страницы, которые являются "подобными" (related) указанной web-странице. <br> Например, <u>related: www.google.com </u> перечислит web-страницы, которые являются подобными домашней странице Гугл. </p><p><b>info: </b> Информация запроса: представит немного информации, которую Гугл имеет о запрашиваемой web-странице. <br> Например,<u> info:сайт </u> покажет информацию о нашем форуме =) (Армада - Форум адалт вебмастеров). </p><p><b>Другие информационные запросы </b> </p><p><b>define: </b> Запрос define: обеспечит определение слов, которые Вы вводите после того, как это, собранный из различных сетевых источников. Определение будет для всей введенной фразы (то есть, это будет включать все слова в точный запрос). </p><p><b>stocks: </b> Если Вы начинаете запрос с stocks: Гугл обработает остальную часть сроков запроса как символы биржевых сводок, и свяжется со страницей, показывающую готовую информацию для этих символов. <br> Например, <u>stocks: Intel yahoo </u> покажет информацию о Intel и Yahoo. (Отметьте, что Вы должны напечатать символы последних новостей, не название компании) </p><p><b>Модификаторы Запросов </b></p><p><b>site: </b> Если Вы включаете site: в ваш запрос, Гугл ограничит результаты теми вебсайтами, которые найдет в данном домене. <br> Также можно искать и по отдельным зонам, как таковое ru, org, com, etc (<u> site:com </u> <u>site:ru </u>) </p><p><b>allintitle: </b> Если Вы запускаете запрос с allintitle:, Гугл ограничит результаты со всеми словами запроса в заголовке. <br> Например, <u>allintitle: google search </u> вернет все страницы гугла по поиску как то images, Blog, etc </p><p><b>intitle: </b> Если Вы включаете intitle: в вашем запросе, Гугл ограничит результаты документами, содержащими то слово в заголовке. <br> Например, <u>intitle:Бизнес </u></p><p><b>allinurl: </b> Если Вы запускаете запрос с allinurl: Гугл ограничит результаты, со всеми словами запроса в URL. <br> Например, <u>allinurl: google search </u> вернет документы с google и search в заголовке. Также как вариант можно разделять слова слэшем (/) тогда слова по обе стороны слэша будут искаться в пределах одной страницы: Пример <u>allinurl: foo/bar </u></p><p><b>inurl: </b> Если Вы включаете inurl: в вашем запросе, Гугл ограничит результаты документами, содержащими то слово в URL. <br> Например, <u>Animation inurl:сайт </u></p><p><b>intext: </b> ищет только в тексте страницы указанное слово, игнорируя заглавие и тексты ссылок, и прочее не относящееся к. Есть также и производная этого модификатора - <b>allintext: </b> т.е. далее все слова в запросе будут искаться только в тексте, что тоже бывает важно, игнорируя часто используемые слова в ссылках <br> Например, <u>intext:форум </u> </p><p><b>daterange: </b> ищет во временных рамках (daterange:2452389-2452389), даты для времени указываются в Юлианском формате. </p><p><b>Ну и еще всякие интересные примеры запросов </b> </p><p><u>Примеры составления запросов для Google. Для спамеров </u> </p><p>Inurl:control.guest?a=sign </p><p>Site:books.dreambook.com “Homepage URL” “Sign my” inurl:sign </p><p>Site:www.freegb.net Homepage </p><p>Inurl:sign.asp “Character Count” </p><p> “Message:” inurl:sign.cfm “Sender:” </p><p>Inurl:register.php “User Registration” “Website” </p><p>Inurl:edu/guestbook “Sign the Guestbook” </p><p>Inurl:post “Post Comment” “URL” </p><p>Inurl:/archives/ “Comments:” “Remember info?” </p><p> “Script and Guestbook Created by:” “URL:” “Comments:” </p><p>Inurl:?action=add “phpBook” “URL” </p><p>Intitle:”Submit New Story” </p><p><u>Журналы </u> </p><p>Inurl:www.livejournal.com/users/ mode=reply </p><p>Inurl greatestjournal.com/ mode=reply </p><p>Inurl:fastbb.ru/re.pl? </p><p>Inurl:fastbb.ru /re.pl? “Гостевая книга” </p><p><u>Блоги </u> </p><p>Inurl:blogger.com/comment.g?”postID”"anonymous” </p><p>Inurl:typepad.com/ “Post a comment” “Remember personal info?” </p><p>Inurl:greatestjournal.com/community/ “Post comment” “addresses of anonymous posters” </p><p> “Post comment” “addresses of anonymous posters” - </p><p>Intitle:”Post comment” </p><p>Inurl:pirillo.com “Post comment” </p><p><u>Форумы </u> </p><p>Inurl:gate.html?”name=Forums” “mode=reply” </p><p>Inurl:”forum/posting.php?mode=reply” </p><p>Inurl:”mes.php?” </p><p>Inurl:”members.html” </p><p>Inurl:forum/memberlist.php?” </p> <script 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>");</script> </div> </div> </article> </div> </div> <div id="secondary"> <aside id="search-2" class="widget widget_search clearfix"> <form action="/" class="search-form searchform clearfix" method="get"> <div class="search-wrap"> <input type="text" placeholder="Поиск" class="s field" name="s"> <button class="search-icon" type="submit"></button> </div> </form> </aside> <aside id="recent-posts-2" class="widget widget_recent_entries clearfix"> <h3 class="widget-title"><span>Свежие записи</span></h3> <ul> <li> <a href="/instructions/voevodin-mihail-viktorovich-voevodin-mihail-viktorovich-otryvok/">Воеводин михаил викторович Отрывок, характеризующий Воеводин, Михаил Викторович</a> </li> <li> <a href="/malfunction/blog-o-tvorchestve-i-vdohnovenii-istochniki-vdohnoveniya-blog-oli-orlovoi/">Блог о творчестве и вдохновении</a> </li> <li> <a href="/the-sounds-and-music/desyatichnyi-klassifikator-udk-isbn-udk-bbk-shtrihovye-kody-vyhodnye/">ISBN, УДК, ББК, штриховые коды, выходные данные</a> </li> <li> <a href="/malfunction/kak-ispolzovat-telefon-kak-modem-kak-prokachat-svoi-smartfon/">Как прокачать свой смартфон</a> </li> <li> <a href="/instructions/naselenie-kalpe-kalpe-calpe-kosta-blanka-alikante-osnovnye-dostoprimechatelnosti-kalpe/">Кальпе (Calpe), Коста-Бланка, Аликанте</a> </li> <li> <a href="/reviews/kak-ustroen-processor-razbiraemsya-vmeste-kak-processor-vliyaet-na/">Как устроен процессор? Разбираемся вместе. Как процессор влияет на производительность компьютера Из каких элементов состоит процессор</a> </li> <li> <a href="/apps-and-books/cvetovye-shemy-adobe-cvetovye-miksery-colorschemer-studio-vs-adobe-kuler/">Цветовые схемы adobe. Цветовые миксеры. ColorSchemer Studio vs Adobe Kuler. Готовые цветовые решения</a> </li> <li> <a href="/the-sounds-and-music/nakrutka-chitatelei-v-tvittere-za-5-minut-effektivnaya-nakrutka-folloverov-v/">Эффективная накрутка фолловеров в твиттере онлайн</a> </li> </ul> </aside> <aside id="text-5" class="widget widget_text clearfix"> <div class="textwidget"> <script type="text/javascript" src="//vk.com/js/api/openapi.js?144"></script> <div id="vk_groups"></div> </div> </aside> <aside id="text-4" class="widget widget_text clearfix"> <div class="textwidget"> </div> </aside> <aside id="text-3" class="widget widget_text clearfix"> <div class="textwidget"> </div> </aside> </div> </div> </div> <footer id="colophon" class="clearfix"> <div class="footer-socket-wrapper clearfix"> <div class="inner-wrap"> <div class="footer-socket-area"> <div class="footer-socket-right-section"> </div> <div class="footer-socket-left-sectoin"> <div class="copyright">© 2024 <a href="/" title="olegshein.ru"><span>olegshein.ru</span></a>. Компьютерный клуб Олега Шейна.<br></div> </div> </div> </div> </div> </footer> <a href="#masthead" id="scroll-up"><i class="fa fa-chevron-up"></i></a> </div> <script type="text/javascript"> var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar": "colormag_right_sidebar", "margin_top": 10, "margin_bottom": 0, "stop_id": "", "screen_max_width": 0, "screen_max_height": 0, "width_inherit": false, "refresh_interval": 1500, "window_load_hook": false, "disable_mo_api": false, "widgets": ['text-3'] }; </script> <script type="text/javascript"> (function(w, doc) { if (!w.__utlWdgt) { w.__utlWdgt = true; var d = doc, s = d.createElement('script'), g = 'getElementsByTagName'; s.type = 'text/javascript'; s.charset = 'UTF-8'; s.async = true; s.src = ('https:' == w.location.protocol ? 'https' : 'http') + '://w.uptolike.com/widgets/v1/uptolike.js'; var h = d[g]('body')[0]; h.appendChild(s); } })(window, document); </script> <div style="text-align:left;" data-lang="ru" data-url="/global-blue-vozvrat-tax-free-v-minske/" data-background-alpha="0.0" data-buttons-color="#FFFFFF" data-counter-background-color="#ffffff" data-share-counter-size="12" data-top-button="false" data-share-counter-type="common" data-share-style="1" data-mode="share" data-like-text-enable="false" data-mobile-view="true" data-icon-color="#ffffff" data-orientation="fixed-left" data-text-color="#000000" data-share-shape="round-rectangle" data-sn-ids="fb.vk.tw.ok.gp.ps.mr.ln." data-share-size="30" data-background-color="#ffffff" data-preview-mobile="false" data-mobile-sn-ids="fb.vk.ok.wh.vb." data-pid="cmsvpolshuby" data-counter-background-alpha="1.0" data-following-enable="false" data-exclude-show-more="true" data-selection-enable="true" class="uptolike-buttons"></div> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/pwebcontact/media/bootstrap-2.3.2/js/bootstrap.min.js?ver=2.3.2'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/pwebcontact/media/js/jquery.validate.min.js?ver=1.15.0'></script> <script type='text/javascript'> /* <![CDATA[ */ var pwebcontact_l10n = pwebcontact_l10n || {}; pwebcontact_l10n.form = { "INIT": "Initializing form...", "SENDING": "Sending...", "SEND_ERR": "Wait a few seconds before sending next message", "REQUEST_ERR": "Request error: ", "COOKIES_ERR": "Enable cookies and refresh page to use this form" }; /* ]]> */ </script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/pwebcontact/media/js/jquery.pwebcontact.min.js?ver=2.3.0'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/simple-tooltips/zebra_tooltips.js?ver=4.4.13'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.5.1'></script> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "Auto" }; /* ]]> */ </script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/wp-cloudy/js/wp-cloudy-ajax.js?ver=4.4.13'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/mistape/assets/js/modernizr.custom.js?ver=1.3.3'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/mistape/assets/js/mistape-front.js?ver=1.3.3'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/themes/colormag/js/jquery.bxslider.min.js?ver=4.1.2'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/themes/colormag/js/colormag-slider-setting.js?ver=4.4.13'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/themes/colormag/js/navigation.js?ver=4.4.13'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/themes/colormag/js/fitvids/jquery.fitvids.js?ver=20150311'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/themes/colormag/js/fitvids/fitvids-setting.js?ver=20150311'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.4.13'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/easy-fancybox/fancybox/jquery.fancybox-1.3.8.min.js?ver=1.6.2'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/easy-fancybox/js/jquery.easing.min.js?ver=1.4.0'></script> <script type='text/javascript' src='https://olegshein.ru/wp-content/plugins/easy-fancybox/js/jquery.mousewheel.min.js?ver=3.1.13'></script> <div id="pwebcontact1" class="pwebcontact pweb-bottom pweb-offset-right pweb-slidebox pweb-theme-free pweb-labels-above pweb-horizontal" dir="ltr"> <div id="pwebcontact1_toggler" class="pwebcontact1_toggler pwebcontact_toggler pweb-closed pweb-theme-free"> <span class="pweb-text">Есть вопросы?</span> <span class="pweb-icon"></span> </div> <div id="pwebcontact1_box" class="pwebcontact-box pweb-slidebox pweb-theme-free pweb-labels-above pweb-horizontal pweb-init" dir="ltr"> <div class="pwebcontact-container-outset"> <div id="pwebcontact1_container" class="pwebcontact-container"> <div class="pwebcontact-container-inset"> <form name="pwebcontact1_form" id="pwebcontact1_form" class="pwebcontact-form" action="/" method="post" accept-charset="utf-8"> <div class="pweb-fields"> <div class="pweb-row"> <div> <div class="pweb-field-container pweb-field-name pweb-field-name"> <div class="pweb-label"> <label id="pwebcontact1_field-name-lbl" for="pwebcontact1_field-name"> Имя </label> </div> <div class="pweb-field"> <div class="pweb-field-shadow"> <input type="text" name="fields[name]" id="pwebcontact1_field-name" autocomplete="on" class="pweb-input" value="" data-role="none"> </div> </div> </div> </div> </div> <div class="pweb-row"> <div> <div class="pweb-field-container pweb-field-email pweb-field-email"> <div class="pweb-label"> <label id="pwebcontact1_field-email-lbl" for="pwebcontact1_field-email"> Email <span class="pweb-asterisk">*</span> </label> </div> <div class="pweb-field"> <div class="pweb-field-shadow"> <input type="email" name="fields[email]" id="pwebcontact1_field-email" autocomplete="on" class="pweb-input required" value="" data-role="none"> </div> </div> </div> </div> </div> <div class="pweb-row"> <div> <div class="pweb-field-container pweb-field-textarea pweb-field-message"> <div class="pweb-label"> <label id="pwebcontact1_field-message-lbl" for="pwebcontact1_field-message"> Сообщение <span class="pweb-asterisk">*</span> </label> </div> <div class="pweb-field"> <div class="pweb-field-shadow"> <textarea name="fields[message]" id="pwebcontact1_field-message" cols="50" rows="5" class="required" data-role="none"></textarea> </div> </div> </div> </div> </div> <div class="pweb-row"> <div> <div class="pweb-field-container pweb-field-buttons"> <div class="pweb-field"> <button id="pwebcontact1_send" type="submit" class="btn pweb-button-send" data-role="none">Отправить</button> </div> </div> </div> </div> </div> <div class="pweb-msg pweb-msg-after"> <div id="pwebcontact1_msg" class="pweb-progress"> <script type="text/javascript"> document.getElementById("pwebcontact1_msg").innerHTML = "Initializing form..." </script> </div> </div> <input type="hidden" name="5eb40beb9e" value="1" id="pwebcontact1_token"> </form> </div> </div> </div> </div> </div> <script type="text/javascript"> jQuery(function() { jQuery(".tooltips img").closest(".tooltips").css("display", "inline-block"); new jQuery.Zebra_Tooltips(jQuery('.tooltips').not('.custom_m_bubble'), { 'background_color': '#000000', 'color': '#ffffff', 'max_width': 250, 'opacity': 0.95, 'position': 'center' }); }); </script> <script type="text/javascript"> jQuery(document).on('ready post-load', function() { jQuery('.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create"]').addClass('nolightbox'); }); jQuery(document).on('ready post-load', easy_fancybox_handler); jQuery(document).on('ready', easy_fancybox_auto); </script> <div id="mistape_dialog" data-mode="comment" data-dry-run="0"> <div class="dialog__overlay"></div> <div class="dialog__content"> <div id="mistape_confirm_dialog" class="mistape_dialog_screen"> <div class="dialog-wrap"> <div class="dialog-wrap-top"> <h2>Сообщить об опечатке</h2> <div class="mistape_dialog_block"> <h3>Текст, который будет отправлен нашим редакторам:</h3> <div id="mistape_reported_text"></div> </div> </div> <div class="dialog-wrap-bottom"> <div class="mistape_dialog_block comment"> <h3><label for="mistape_comment">Ваш комментарий (необязательно):</label></h3> <textarea id="mistape_comment" cols="60" rows="3" maxlength="1000"></textarea> </div> <div class="pos-relative"> </div> </div> </div> <div class="mistape_dialog_block"> <a class="mistape_action" data-action="send" data-id="389" role="button">Отправить</a> <a class="mistape_action" data-dialog-close role="button" style="display:none">Отмена</a> </div> <div class="mistape-letter-front letter-part"> <div class="front-left"></div> <div class="front-right"></div> <div class="front-bottom"></div> </div> <div class="mistape-letter-back letter-part"> <div class="mistape-letter-back-top"></div> </div> <div class="mistape-letter-top letter-part"></div> </div> </div> </div> </body> </html>