26Aug
Чак и ако сте само лагано пратили догађаје хакерских група Анонимоус и ЛулзСец, вероватно сте чули за хацкед веб странице и услуге, као и за оне који су имали озлоглашене Сониове хацкс.Да ли сте се икада запитали како то раде?
Постоји велики број алата и техника које ове групе користе, а док не покушавамо да вам дамо упутство за сами то урадите, корисно је разумети шта се дешава.Два напада која сте доследно чули о њима користе се "(Дистрибутед) Дениал оф Сервице"( ДДоС) и "СКЛ Ињецтионс"( СКЛИ).Ево како они раде.
Имаге би ккцд
Дениал оф Сервице Аттацк
Шта је то?
"Одбијање услуге"( понекад се назива "дистрибуирани дениал оф сервице" или ДДоС) напад се јавља када систем, у овом случају веб сервер, прима толико захтева истовремено да су серверски ресурси преоптерећени, систем једноставно закључаваи искључи се.Циљ и резултат успјешног ДДоС напада је да веб странице на циљном серверу нису доступне легитимним захтјевима за саобраћај.
Како то ради?
Логика напада ДДоС-а може бити најбоље објашњена примјером.
Замислите милион људи( нападача) да се удруже са циљем да спрече пословање компаније Кс тако што ће смањити свој центар за позиве.Нападачи су координирани тако да ће у уторак у 9 ујутро сви позвати телефонски број компаније Кс.Највероватније, телефонски систем Компаније Кс неће моћи управљати милионим позивима одједном, тако да ће све долазне линије повезати нападачи.Резултат је да легитимни позиви купаца( тј. Они који нису нападачи) не прођу јер је телефонски систем везан за руковање позивима од нападача.Дакле, у суштини компанија Кс потенцијално губи посао због легитимних захтева који нису у могућности да прођу.
Напад ДДоС на веб сервер ради на исти начин.Пошто виртуелно нема начина да сазнамо који се саобраћај потиче од легитимних захтева наспрам нападача док веб сервер не обрађује захтев, овај тип напада је обично веома ефикасан.
Извршење напада
Због "бруте силе" природе напада ДДоС-а, морате имати много рачунара који су координирани за напад у исто вријеме.Поново примјер нашег цалл центра, то би захтијевало од свих нападача да обоје знају за позив у 9 ујутро и заправо позвати у то вријеме.Иако ће овај принцип свакако функционисати када се ради о нападу на веб сервер, постаје знатно лакше када се користе зомби рачунари, умјесто стварних рачунарских рачунара.
Као што вероватно знате, постоји пуно варијанти малвера и тројанаца који, једном на вашем систему, леже мирно, а повремено и "кућни телефон" за упутства.Једна од ових упутстава би могла, на пример, бити слање поновљених захтева на веб сервер компаније Кс у 9 ујутро.Дакле, са једним ажурирањем на матичној локацији одговарајућег малвера, један нападач може одмах координирати стотине хиљада компромитованих рачунара да изврши велики ДДоС напад.
Љепота коришћења зомби рачунара није само у њеној ефикасности, већ иу својој анонимности јер нападач уствари не мора да користи свој рачунар да би извршио напад.
СКЛ Ињецтион Аттацк
Шта је то?
"СКЛ ињецтион"( СКЛИ) напад је експлоатација која користи предности лоших техника развоја веба и, обично у комбинацији са неисправном безбедношћу базе података.Резултат успешног напада може да варира од представљања корисничког налога до потпуног компромиса одговарајуће базе података или сервера.За разлику од ДДоС напада, СКЛИ напад је потпуно и лако спречити ако је веб апликација адекватно програмирана.
Извршавање напада
Кад год се пријавите на веб локацију и унесете своје корисничко име и лозинку, да бисте тестирали своје акредитиве, веб апликација може покренути упит као што следи:
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме = 'миусер' И лозинка= 'мипасс';
Напомена: вриједности стринга у СКЛ упиту морају бити приложене појединачним цитатима и због тога се појављују око унетих вриједности корисника.
Дакле, комбинација унетог корисничког имена( миусер) и лозинке( мипасс) мора одговарати уносу у табелу корисника, како би се УсерИД вратио.Уколико се не подударају, ниједан УсерИД се не враћа, тако да су повластице за пријављивање неважеће.Иако се одређена примјена може разликовати, механичари су прилично стандардни.
Дакле, сада погледамо упитник за потврду идентитета који можемо заменити вриједностима које корисник уноси на веб облик:
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме = '[усер]' И Пассворд = '[пасс]'
На први поглед овоможе изгледати као једноставан и логичан корак за лако валидирање корисника, међутим ако се на овом предлошку обави једноставна замена корисничких унетих вриједности, она је подложна нападу СКЛИ-а.
На пример, претпоставимо да је "миусер'-" унето у поље корисничког имена, а "лозинка" се уноси у лозинку.Користећи једноставну супституцију у нашем упитнику, добићемо следеће:
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме = 'миусер' - 'И Пассворд =' вронгпасс '
Кључ ове изјаве је укључивање две дирке( -).Ово је токен за коментар за СКЛ изразе, тако да ће се све што се појављује након два дирса( укључујући) бити игнорисано.У суштини, горњи упит извршава база података као:
СЕЛЕЦТ Усер ИД ФРОМ корисници ВХЕРЕ УсерНаме = 'миусер'
Очаравајући пропуст овде је недостатак провјере лозинке.Укључујући два дирса као део корисничког поља, потпуно смо заобишли услов провере лозинке и били смо у могућности да се пријавимо као "миусер" без познавања одговарајуће лозинке.Овај чин манипулисања упита за производњу нежељених резултата је СКЛ убризгавање.
Која штета може да се изврши?
СКЛ ињекциони напад је узрокован нехомогљивим и неодговорним кодирањем апликација и потпуно је могуће спречити( што ћемо покрити за тренутак), међутим степен штете која се може извршити зависи од подешавања базе података.Да би веб апликација комуницирала са базом базе података, апликација мора доставити пријаву у базу података( напомена, ово је другачије од пријаве корисника на саму веб страницу).У зависности од којих дозвола захтева веб апликација, овај одговарајући бази података базе података може захтевати било шта од дозвољеног читања / писања у постојећим табелама само до потпуног приступа бази података.Ако ово сада није јасно, неколико примера би требало да помогне да се обезбеди нека јасноћа.
На основу горе наведеног примера, можете видети да, уносом, на пример, "иоурусер" - "," админ "- или било које друго корисничко име, одмах се можемо пријавити на сајт као тај корисник без познавања лозинке.Када смо у систему, не знамо да ми заправо нисмо тај корисник, тако да имамо потпун приступ одговарајућем рачуну.Дозволе за базу података неће пружити сигурносну мрежу за ово, јер, обично, веб страница мора имати бар приступ читању / писању у одговарајућу базу података.
Сада претпоставимо да веб страница има потпуну контролу над својом одговарајућом базом података која даје могућност брисања записа, додавања / уклањања табела, додавања нових сигурносних рачуна итд. Важно је напоменути да би неким веб апликацијама била потребна оваква врста дозволе, паније аутоматски лоша ствар да се одобри потпуна контрола.
Да би се илустровала штета која се може учинити у овој ситуацији, користићемо примјер који је наведен у горњој стрипу тако што ћете унети сљедеће у поље корисничког имена: "Роберт"; ДРОП ТАБЛЕ Корисници; - ".Након једноставне замене, упит за потврду идентитета постаје:
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме = 'Роберт';ДРОП ТАБЛЕ Корисници - 'АНД Пассворд =' вронгпасс '
Напомена: тачка-точка се налази у СКЛ упиту да се означава крај одређене изјаве и почетак нове изјаве.
Који се извршава од стране базе података као:
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме = 'Роберт'
ДРОП ТАБЛЕ Корисници
Такође смо користили СКЛИ напад да обришемо целу Корисничку табелу.
Наравно, много горе је могуће учинити јер, у зависности од дозвољених СКЛ дозвола, нападач може променити вредности, думпове( или читаву базу података) у текстуалну датотеку, креирати нове рачуне за пријављивање или чак отмакати читаву инсталацију базе података.
Спречава напад СКЛ убризгавања
Као што смо већ поменули неколико пута, СКЛ ињекциони напад се лако може спречити.Једно од кардиналних правила развоја веба је да никада не слепо верујете корисничком уносу као што смо урадили када смо извршили једноставну замену у нашем претходном упиту предложака.
СКЛИ напад се лако спречава оним што се зове санитирање( или избегавање) ваших улаза.Процес санирања је заправо прилично тривијалан, јер све то у суштини подразумева подразумевано руковање неким појединачним цитираним( ') знацима, тако да се не могу користити за превремено завршавање низа унутар СКЛ израза.
На пример, ако сте желели да претражите "О'неил" у базу података, нисте могли да користите једноставну супституцију, јер би појединачни цитат након О био преурањено завршио низ.Уместо тога, санитишите га тако што ћете користити одговарајућу особину базе података.Претпоставимо да је знак за бекство за један појединачни цитат префацинг сваки цитат са \ симболом.Дакле, "О'неал" би био саниран као "О \ 'неил".
Овај једноставан сан санације прилично спречава напад СКЛИ.Да бисмо илустровали, хајде да пређемо на наше претходне примере и да видимо последичне упите када је кориснички унос санитизован.
миусер '- / вронгпасс :
СЕЛЕЦТ УсерИД ФРОМ корисници ВХЕРЕ УсерНаме =' миусер '-' АНД Пассворд = 'вронгпасс'
Пошто је појединачни цитат после мијусера избачен( што значи да се сматра да је део циљневредност), база података буквално ће потражити корисничко име за "мјузикл" - ".Поред тога, јер су цртице укључене у вредност стринга, а не саму СКЛ израз, оне ће се сматрати дијелом циљне вредности уместо да буду тумачене као коментар СКЛ-а.
Роберт ';ДРОП ТАБЛЕ Корисници; - / вронгпасс :
СЕЛЕЦТ Усер ИД ФРОМ корисници ВХЕРЕ УсерНаме = 'Роберт';ДРОП ТАБЛЕ Корисници - 'АНД Пассворд =' вронгпасс '
Једноставним избегавањем појединачног цитата након Роберта, и тачка-точка и цртице се налазе унутар корисничког низа УсерНаме, па ће база података буквално тражити "Роберт"; ДРОП ТАБЛЕ Корисници;- "уместо да извршите брисање табелу.
У Резиме
Док се веб напади развијају и постају софистициранији или се фокусирају на другу тачку уласка, важно је запамтити да штите од покушаја и истиних напада који су били инспирација неколико слободно доступних "хакер алата" дизајнираних да их експлоатишу.
Неке врсте напада, као што је ДДоС, се не могу лако избегавати док други, као што је СКЛИ, могу.Међутим, оштећења која могу да се изврше овим типовима напада могу да се крећу од неугодности до катастрофалних у зависности од предузетих мера предострожности.