Скриване на скриптове защитават уебсайт

Интернет е изпитал на върха на бързото си развитие и в момента не разполагат със собствени сайтове, освен ако домашен любимец (въпреки че някои маргинални успяват да поддържат блогове за своите домашни любимци). Ако се анализират и сравняват количеството на ресурсите, създадени и броя на повече или по-малко запознат с въпросите на човешкото мрежова сигурност, ние получаваме доста плачевен картина. Основният бич saitostroitel'stva, според мен, са свободно достъпни скриптове. Просто така се случи, че през годините преминава през ръцете ми огромен брой от тези същества, а често те оставят много лошо впечатление. Най-ужасното нещо - това е тяхната отворен код, в който хакери се опитват да открият един тон на уязвимости, а често
срещнали достоверността на тези скриптове за потребителите, смята създателят на жителите на небето, ако не, тогава със сигурност kevinmitnikami на програмиране.

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

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

Да предположим, че ние отбеляза скриптове, написани от чуждестранни приятели и реших да напиша двигателя "от нулата". Похвално. Работата е завършена, критични грешки се коригират, mastdaynye Фиксирани бъгове .... А сега какво? А сега можете да направите прекъсване на захранването с нива са повишени хакери са се превърнали в нарицателно скрипт хлапе. Така че, ето няколко ефективни техники.

Скриването на език за програмиране

Защо ще хакер да знаете, че нашият сайт е написан на PHP или Perl? Абсолютно никаква причина. Чувствайте се свободни да се преименува на скриптове и да им даде удължаване .asp, а след това съответно инсталира сървър за обработка на файлове .asp като Пл / PHP. Тя позволява да се отреже част от нетърпеливите skriptkiddisov вече на първото посещение.

Скриването на структурата на сайта

RewriteEngine На
RewriteRule ^ ([а-ZA-Z] +) / ([0-9] +). Html index.pl?cat=$1;id=$2
RewriteRule ^ ([а-ZA-Z] +) index.pl?cat=$1

За да бъде картината пълна, да видим какво точно сървърът връща заглавията при прилагането на тази страница .html и ги синхронизира с титли, изключителен сценарий. Както се казва, че никой не позна 🙂

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

отворена (FILE, $ файл) || умре ( "не можа да се отвори файл $ файл");

Разбира се, тези неща са много полезни, когато се търсят грешки и отстраняване на грешки. Но защо да ми каже на нападателя да се знае структурата на сървъра и името на файла на бедните сценария не е в състояние да четат? Да. Ще отида още един път. Всички умират, ние ще замени fat_err, А в тялото на тази функция, пише следното ( "tekst_oshibki $!"):

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

Това, както знаете, най-простият пример за изпълнение. Можете дори да хвърлят злополучен нападател дезинформацията, например, да се замени постовете на невъзможност за отваряне на файлове MySQL съобщения. Нека се опитва да намери SQL инжекция 😉 Всичко е отново ограничен само от въображението. Експериментирайте с посоката, която ти дадох.

Отхвърляне неочаквани фатални грешки

"Но след като умра! А какво да кажем за неочаквани грешки "-?! Възкликва замисления читателя, и ще бъде абсолютно прав. Тя ще изглежда невъзможно да се проследи всички грешки: има деление на нула, има неправилен начин, то се нарича несъществуваща функция, тогава zaglyuchil ще доведе до катастрофата на изображението :: Magick ... Всичко това, а дори и десет хиляди други грешки. Какво да се прави? Помощ идва Оценка блок.

Той е забележително, че всеки код, поставен в него, няма да доведе до фатална грешка сценария. Дори и да има синтактична грешка! Поради това някои разработчици, включително и себе си, да сключват почти всички код в Оценка.

Да вземем например следния код:

Той, странно, ще бъде изпълнена! И "край" ще отпечата. В този случай, в променливата $ @ ще съдържа грешка, поради което изпълнението на Оценка стоп.

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

Защита срещу груба сила

Още няколко съвета

fat_error () ако $ заявка =

И все пак. Не, аз повтарям, няма пропуски да се справи с тази част няма. Ядрени нули и други sukulinzhektsii смачкат гора.

Ако се съмнявате собствените си умения, и все пак са решили да пишат свой собствен двигател, мога да ви посъветва да се симулира хакерство. Да, не съм запечатан. Позволете код банална Sql-инжекция серия proksik и обезобразят собствения си уебсайт, че се справят с почти всички начинаещи, който е прочел поне няколко стаи Hacker. След това отиваме вече под нормалната си IP и премахване на обезобразяване. След написването на доставчика, че нашата мегапроект прецака от такъв сценарий и помолен да обясни какво се случва. Конкуренцията между общежитие доста големи, и знам, че много случаи, когато челюстите безплатно да намерите кода за грешка, и посочи към тях. Има вероятност, че имате късмет, и компетентен
Специалист разглеждане кода си, в допълнение към специално намерят пропуски, оставени от други хора, които сте оставили поради недоглеждане / некомпетентност.

50000 посетители на ден) ресурс, притежаван от огромен холдинг. Защита не е от груба сила. Сценарий - samopisny. Направят изводи, господа.

Вие прекалено мързеливи, за да направи себе си двигател? Или пък са доста слаби в кодирането и искате да се възползвате от готови решения? Вашият бизнес. Не забравяйте да поставите последната кръпка, посетете средства за сигурност. Но това не е всичко.

Напълно модифициран двигател е проблематично, обаче, да избягат от skriptkiddisov съвсем реални. Не е тайна, че много начинаещи и не толкова хакерите използват Google за търсене на жертви. Как уязвими са погледна двигатели? На текстове. Ако съвестта ви е девствена, защото на неговата пълна липса на като клас, изтриване на авторските права на всички, но се знае, че тя може да бъде проследено от двигателя, това е неморално и дори незаконно. По-нежен начин - това е замяната на латински букви в авторските права на техните кирилица еквивалент. В действителност, това, което пречи на мястото на фразата "Създадено с kSearch" буква "о", "д", "A" в кирилицата братята си? Външно, всичко ще бъде както, но никой от хакер ще дойде към вашия сайт чрез Google.

Голяма част от ССФ, форуми и други скриптове за определяне на администратора на лицето, което отговаря всяка функция, като например "is_admin". Вземете, например, двигател YaBB, където такава функционалност. Да предположим, че имаме статични IP адреси, или динамичен с ограничен обхват (например, да вземе "123.123.123.00-123.123.123.255" обхват), а с другата да не влезе в администраторския панел.

В самото начало на функцията, въведете следния код:

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

За тези, които знаят как да програмирате поне на първо ниво, има и друг начин, предишният по-хубава.

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

  • Максимална филтър входящата информация от потребителя, проверява всеки използва променлива се използва, тъй като броят на идентификаторите, вход излишна информация само да обърка атакуващия, без да го включили процес.
  • Скриване на грешки. Ако смятате, че средният потребител, те не отговарят (хехе), Sui умре без обяснение.
    • Скрива използва езика и структурата на сървъра.
  • Обърка нападателя. Ляв входни параметри изведат грешки feykovye. Дезинформация - нашият всички.
  • При използване на други двигатели на хората се маскират от тях, колкото можете, и аз съм дотолкова, доколкото времето на компетентност и свободно време.

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

Покажете тази статия на приятел: