Hacker News

ЦСП за пентестере: Разумевање основа

Коментари

1 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News
<х2>Зашто сваки пентестер мора да савлада политику безбедности садржаја <п>Политика безбедности садржаја (ЦСП) постала је један од најкритичнијих одбрамбених механизама на страни прегледача од скриптовања на више локација (КССС), убацивања података и напада кликова. Ипак, у ангажманима на тестирању пенетрације, ЦСП заглавља остају једна од најчешће погрешно конфигурисаних — и погрешно схваћених — безбедносних контрола. Студија из 2024. која је анализирала преко 1 милион веб локација открила је да је само 12,8% уопште применило ЦСП заглавља, а од њих скоро 94% је садржало најмање једну слабост политике која би се могла искористити. За пентестере, разумевање ЦСП-а није обавезно – то је разлика између процене на површинском нивоу и извештаја који заправо јача безбедносни став клијента. <п>Било да спроводите процене веб апликација, тражење грешака или уграђујете безбедност у пословну платформу која рукује осетљивим подацима о клијентима, знање о ЦСП-у је основно. Овај водич разлаже шта је ЦСП, како функционише испод хаубе, где не успева и како пентестери могу систематски да процењују и заобилазе слабе политике. <х2>Шта политика безбедности садржаја заправо ради <п>У својој суштини, ЦСП је декларативни безбедносни механизам који се испоручује преко ХТТП заглавља одговора (или ређе, ознаке <стронг><мета>). Он даје упутства претраживачу који извори садржаја — скрипте, стилови, слике, фонтови, оквири и друго — смеју да се учитавају и извршавају на датој страници. Када ресурс крши смернице, прегледач га блокира и опционо пријављује кршење наведеној крајњој тачки. <п>Првобитна мотивација иза ЦСП-а је била ублажавање КССС напада. Традиционална одбрана КССС-а као што је санација улаза и кодирање излаза је ефикасна, али крхка — један пропуштен контекст или грешка кодирања може поново да уведе рањивост. ЦСП додаје слој дубинске одбране: чак и ако нападач убаци ознаку злонамерне скрипте у ДОМ, правилно конфигурисана политика спречава прегледач да је изврши. <п>ЦСП ради на <стронг>моделу беле листе. Уместо да покушава да блокира познати лош садржај, он дефинише шта је изричито дозвољено. Све остало је подразумевано одбијено. Ова инверзија безбедносног модела је моћна у теорији, али у пракси, одржавање строгих смерница у комплексним веб апликацијама – посебно платформама које управљају десетинама интегрисаних модула као што су ЦРМ, фактурисање, аналитика и системи за резервацију – је ноторно тешко. <х2>Анатомија заглавља ЦСП-а: Директиве и извори <п>ЦСП заглавље се састоји од <стронг>директива, од којих свака контролише одређени тип ресурса. Разумевање ових директива је од суштинског значаја за сваког пентестера који процењује политику циља. Најважније директиве обухватају <стронг>дефаулт-срц (резервни за било коју директиву која није експлицитно подешена), <стронг>сцрипт-срц (извршење ЈаваСцрипта), <стронг>стиле-срц (ЦСС), <стронг>имг-срц (слике), <стронг>цоннецт-срц, Веб везу, <стронг>фраме-срц (уграђени ифрамес) и <стронг>објецт-срц (додаци као што су Фласх или Јава аплети). <п>Свака директива прихвата један или више <стронг>изворних израза који дефинишу дозвољено порекло. Они се крећу од специфичних имена хоста (<стронг>хттпс://цдн.екампле.цом) до ширих кључних речи: <ул> <ли><стронг>'селф' — дозвољава ресурсе из истог порекла као и документ <ли><стронг>'ноне' — блокира све ресурсе тог типа <ли><стронг>'унсафе-инлине' — дозвољава уграђене скрипте или стилове (ефикасно неутралише КССС заштиту) <ли><стронг>'унсафе-евал' — дозвољава евал(), сетТимеоут(стринг) и слично извршавање динамичког кода <ли><стронг>'нонце-{рандом}' — дозвољава одређене инлине скрипте означене одговарајућим криптографским нонце <ли><стронг>'стрицт-динамиц' — верује скриптама учитаним од стране већ поузданих скрипти, занемарујући листе дозвољених заснованих на хосту <ли><стронг>подаци: — дозвољава УРИ-је података као изворе садржаја <п>Заглавље ЦСП-а у стварном свету може изгледати овако: <стронг>Цонтент-Сецурити-Полици: дефаулт-срц 'селф'; сцрипт-срц 'селф' хттпс://цдн.јсделивр.нет 'нонце-абц123'; стиле-срц 'селф' 'унсафе-инлине'; имг-срц *; објецт-срц 'ноне'. Као пентестер, ваш посао је да прочитате ову политику и одмах идентификујете где је јака, где слаба, а где се може искористити.<х2>Уобичајене погрешне конфигурације ЦСП-а које пентестери треба да циљају <п>Разлик између постављања ЦСП заглавља и примене <стронг>ефикасног ЦСП заглавља је огроман. У пракси, већина смерница садржи слабости које су уведене због погодности програмера, интеграција трећих страна или једноставног неспоразума. Током процене, пентестери би требало да систематски провере ове уобичајене грешке. <п>Најразорнија погрешна конфигурација је присуство <стронг>'унсафе-инлине' у <стронг>сцрипт-срц директиви. Ова једина кључна реч чини целокупну анти-КССС предност ЦСП-а у суштини бескорисном, јер омогућава претраживачу да изврши било коју уметнуту ознаку <стронг><сцрипт> — управо оно што би КССС корисни терет убацио. Упркос томе, отприлике 87% сајтова са ЦСП-ом укључује <стронг>'унсафе-инлине' у своју скрипту-срц, према истраживању које је објавио Гоогле-ов безбедносни тим. Слично, <стронг>'унсафе-евал' отвара врата за извршавање кода преко функција стринг-то-цоде, које нападачи могу повезати са тачкама убризгавања заснованим на ДОМ-у. <п>Превише широке листе дозвољених хостова су још један златни рудник. Стављање на белу листу целог ЦДН домена као што је <стронг>*.гооглеапис.цом или <стронг>*.цлоудфларе.цом значи да сваки ресурс хостован на тим платформама постаје поуздан извор скрипте. Нападачи могу да отпреме злонамерни ЈаваСцрипт на ове услуге и да га изврше у оквиру безбедносног контекста циља. Алатке као што је <стронг>ЦСП Евалуатор (који је развио Гоогле) могу брзо означити ове претерано дозвољене уносе. Пентестери такође треба да траже изворе џокер знакова (<стронг>*), недостајућа ограничења <стронг>објецт-срц и одсуство директива <стронг>басе-ури и <стронг>форм-ацтион — два често занемарена вектора за ексфилтрирање података или отмицу слања обрасца. <х2>Практичне технике заобилажења ЦСП-а <п>Када пентестер идентификује ЦСП политику током извиђања, следећи корак је утврђивање да ли се може заобићи. Постоји неколико добро документованих техника, а њихова примењивост у потпуности зависи од специфичних директива и изворних израза у политици циља. <блоцккуоте> <п>„Политика безбедности садржаја је јака само онолико колико је јака њена најслабија директива. Један претерано дозвољен изворни израз може разоткрити иначе робусну политику — а искусни пентестери тачно знају где да траже.“ <п><стронг>Злоупотреба крајње тачке ЈСОНП-а је један од најпоузданијих метода заобилажења. Ако ЦСП стави на белу листу домен који хостује ЈСОНП крајњу тачку (многи Гоогле АПИ-ји, на пример), нападач може да направи параметар повратног позива који извршава произвољан ЈаваСцрипт. На пример, ако <стронг>сцрипт-срц укључује <стронг>аццоунтс.гоогле.цом, ЈСОНП крајња тачка на <стронг>/о/оаутх2/ревоке?цаллбацк=алерт(1) може да се користи као извор скрипте. Пентестери треба да наброје све домене са беле листе и да провере сваки за ЈСОНП, Ангулар хостинг библиотеке (који омогућава убацивање шаблона преко <стронг>нг-апп) или отворене рањивости преусмеравања које се могу повезати са <стронг>сцрипт-срц листама дозвољених. <п><стронг>Отмица основног УРИ-ја функционише када смерницама недостаје <стронг>басе-ури директива. Убацивањем ознаке <стронг><басе хреф="хттпс://аттацкер.цом">, све релативне путање скрипте на страници се решавају у односу на сервер нападача. Ако апликација учитава скрипте користећи релативне УРЛ адресе – уобичајени образац – скрипте које хостује нападач се извршавају са контекстом целог странице. <стронг>Убризгавање висеће ознаке је још једна недовољно искоришћена техника: чак и када је извршење скрипте блокирано, нападач може да убаци непотпуне ХТМЛ ознаке које узрокују да прегледач пошаље садржај странице (укључујући ЦСРФ токене или осетљиве податке) спољном серверу као део УРЛ-а захтева. <п>За модерне апликације које користе нонце-басед ЦСП, пентестери би требало да траже <стронг>нонце поновну употребу (нонце који се не мењају између захтева), <стронг>нонце цурење кроз странице са грешкама или кеширане одговоре и могућности за убацивање атрибута у постојеће ознаке скрипте са беле листе путем ДОМ манипулације. Гаџети скрипти — легитимне скрипте којима политика већ верује, а које се могу натерати да изврше унос који контролише нападач — представљају можда најсофистициранију категорију заобилажења и захтевају дубоко познавање ЈаваСцрипт кодне базе циља. <х2>Изградња методологије процене ЦСП-а<п>Ефикасна ЦСП евалуација захтева структурирани приступ, а не ад-хоц тестирање. Пентестери би требало да уграде ЦСП анализу у свој стандардни ток рада тестирања веб апликација, почевши од пасивног извиђања и напредујући до активних покушаја експлоатације. <п>Започните прикупљањем свих ЦСП заглавља и мета ознака широм апликације. Смернице се могу разликовати између крајњих тачака — административни панел може имати строжије контроле од маркетиншке одредишне странице, или обрнуто. Користите алатке за програмере прегледача, инспекцију одговора Бурп Суите-а или алатке командне линије као што је <стронг>цурл -И да бисте ухватили заглавља. Убаците сваку јединствену политику у аутоматизоване алатке за процену: Гоогле-ов ЦСП Евалуатор, Мозилла-ина опсерваторија и <стронг>цсп-бипасс спремиште на ГитХуб-у пружају брзе почетне процене. <п>Даље, мапирајте смернице са стварним понашањем апликације при учитавању ресурса. Да ли постоје скрипте учитане са домена који нису на белој листи (што указује на то да су смернице можда у режиму само за извештаје или да се не примењују)? Да ли се апликација у великој мери ослања на уграђене скрипте које би се поквариле под строгом политиком – што сугерише да су програмери можда олабавили ЦСП да би задржали функционалност? За платформе са сложеном архитектуром — помислите на алате за управљање пословањем са интегрисаним модулима који обухватају аналитичке контролне табле, заказивање термина, обраду плаћања и тимску сарадњу — одржавање чврстог ЦСП-а на свакој површини функције је прави инжењерски изазов. Пентестери треба да обрате велику пажњу на недавно додане функције или интеграције трећих страна, јер су оне највероватније увеле изузетке од смерница. <ол> <ли>Ухватите и каталогизирајте ЦСП заглавља са сваке јединствене крајње тачке и типа одговора <ли>Покрените аутоматску анализу смерница користећи ЦСП Евалуатор и сличне алате <ли>Наброј све домене са беле листе за ЈСОНП крајње тачке, Ангулар библиотеке и отворена преусмеравања <ли>Тестирајте једнократну предвидљивост, поновну употребу или цурење у смерницама заснованим на нонце <ли>Проверите да се режим само за извештаје не погреши за принудни режим <ли>Покушајте документоване технике заобилажења против идентификованих слабости <ли>Документујте налазе са упутствима за санацију, укључујући специфичне измене директива <х2>Писање ефективних ЦСП налаза у Пентест извештајима <п>Идентификовање слабости ЦСП-а је само пола посла — њихово ефикасно саопштавање развојним тимовима одређује да ли ће се оне заиста поправити. Налаз који једноставно каже да „ЦСП дозвољава небезбедно постављање“ без контекста ће вероватно бити уклоњен са приоритета. Уместо тога, пентестери треба да покажу <стронг>конкретан утицај сваке слабости повезујући је са стварним или теоретским КССС вектором специфичним за циљну апликацију. <п>Структурирајте своје налазе ЦСП-а тако да укључују тренутну политику (дословно), конкретну директиву или изворни израз који је рањив, доказ концепта који показује експлоатацију или јасан наратив напада и препоручену исправљену политику. Где је могуће, наведите тачно заглавље које развојни тим треба да примени. За организације које покрећу сложене веб апликације — платформе као што је Меваиз које обједињују ЦРМ, фактурисање, платни списак, управљање људским ресурсима и десетине других модула у јединствен интерфејс за преко 138.000 корисника — препоруке за поправку ЦСП-а морају узети у обзир пун обим интеграција трећих страна и динамичког учитавања садржаја. Политика која је превише агресивна ће нарушити функционалност; онај који је превише попустљив пружа лажно самопоуздање. <п>На крају крајева, ЦСП није сребрни метак и пентестери би требало да га у складу са тим уоквире у својим извештајима. То је моћан слој у стратегији дубинске одбране која најбоље функционише заједно са робусном валидацијом улаза, кодирањем излаза, интегритетом подресурса (СРИ) и безбедним развојним праксама. Организације које исправе ЦСП третирају га као живу политику — политику која се развија упоредо са њиховом применом, редовно се тестира и никада се не ослања на <стронг>'небезбедно-инлине' као трајну пречицу. За пентестере, савладавање ЦСП анализе трансформише рутинску проверу заглавља у један од највреднијих резултата у процени било које веб апликације. <х2>Честа питања <х3>Шта је Политика безбедности садржаја (ЦСП) и зашто би пентестерима било стало?<п>Политика безбедности садржаја је безбедносни механизам на страни прегледача који контролише које ресурсе веб страница може да учитава, помажући у спречавању КССС, убацивања података и напада кликова. Пентестери морају разумети ЦСП јер је то једна од најчешће погрешно конфигурисаних безбедносних контрола — студије показују да скоро 94% примењених политика садржи слабости које се могу искористити. Савладавање основа ЦСП-а омогућава пентестерима да идентификују критичне рањивости које аутоматизовани скенери често у потпуности пропусте. <х3>Које су најчешће погрешне конфигурације ЦСП-а које пентестери проналазе? <п>Најчешће погрешне конфигурације ЦСП-а обухватају коришћење <цоде>унсафе-инлине и <цоде>унсафе-евал директива, претерано дозвољене изворе џокер знакова, недостајуће директиве <цоде>фраме-преци које омогућавају укидање кликова и стављање на белу листу целих ЦДН домена који хостују садржај који може да контролише нападач. Пентестери такође треба да траже директиве које недостају као што су <цоде>басе-ури и <цоде>форм-ацтион, које се могу искористити за пхисхинг и ексфилтрацију података чак и када контроле скрипте изгледају строге. <х3>Како предузећа могу да заштите своје веб апликације помоћу одговарајућих ЦСП заглавља? <п>Предузећа би требало да почну са стриктним ЦСП-ом који користе списак дозвољених скрипти заснованих на нонце или хеш уместо белих листа домена. Прво примените у режиму само за извештаје да бисте идентификовали кварове пре примене. Платформе попут <а хреф="хттпс://апп.меваиз.цом">Меваиз, пословног оперативног система са 207 модула по цени од 19 УСД месечно, помажу тимовима да безбедно управљају својим присуством на вебу док прате најбоље савремене безбедносне праксе на свим дигиталним тачкама додира. <х3>Које алате користе пентестери за процену ефикасности ЦСП-а? <п>Пентестери обично користе Гоогле-ов ЦСП Евалуатор, алатке за програмере претраживача и проширења Бурп Суите-а да анализирају заглавља ЦСП-а у потрази за слабостима. Ручно тестирање је и даље од суштинског значаја — аутоматизовани алати пропуштају заобилазнице зависне од контекста као што су крајње тачке ЈСОНП-а и убризгавање Ангулар шаблона на домене са беле листе. Темељна процена комбинује аутоматизовано скенирање са ручним прегледом сваке директиве у односу на познате технике заобилажења и специфични технолошки низ апликације. <сцрипт типе="апплицатион/лд+јсон">{"@цонтект":"хттпс:\/\/сцхема.орг","@типе":"ФАКПаге","маинЕнтити":[{"@типе":"Куестион","наме":"Шта је Политика безбедности садржаја (ЦСП) и зашто би пентестери царе?","аццептедАнсвер":{"@типе":"Ансвер","тект":"Политика безбедности садржаја је безбедносни механизам на страни претраживача који контролише које ресурсе веб страница може да учитава, помажући у спречавању напада КССС-а, убацивања података и кликова који Пентестери морају да разумеју ЦСП јер је то једна од најчешће погрешно конфигурисаних безбедносних контрола које показују деплои14 студије које показују скоро деплои19. слабости Овладавање основама ЦСП-а омогућава пентест"}},{"@типе":"Куестион","наме":"Које су најчешће погрешне конфигурације ЦСП-а које пентестери проналазе?","аццептедАнсвер":{"@типе":"Одговор","тект":"Најчешће погрешне конфигурације ЦСП-а укључују коришћење небезбедног, погрешног уметања директног уноса и небезбедног извора. фраме-прецис директиве које омогућавају кликање и стављање на белу листу читавих ЦДН домена који хостују садржај који нападач може да контролише. Пентестери такође треба да траже директиве које недостају као што су басе-ури и форм-ацтион, које се могу искористити за пхисхинг и екфил података"}},{"@типе":"Куестион","наме":"Како могу да заштите своје веб апликације са ЦСП-ом. заглавља?","аццептедАнсвер":{"@типе":"Ансвер","тект":"Предузећа треба да почну са стриктним ЦСП-ом који користе листе дозвољених скрипти које нису засноване на једном или хеш-у. Прво примените у режиму само за извештаје да бисте идентификовали кварове пре примене, као што је платформа $107 за покретање пословања. тимови безбедно управљају својим присуством на вебу док прате савремене безбедносне најбоље праксе на свим дигиталним додирним тачкама."}},{"@типе":"Куестион","наме":"Које алате пентестери користе за процену ефикасности ЦСП-а?","аццептедАнсвер":{"@типе":"Ансвер","тект":"Пентестерс обично користе алатке за Пентестере за развој ЦСП-а за претраживаче, алатке за ЦСП за анализу претраживача и ЦСП-а. заглавља за недостатке и даље су од суштинског значаја \у2014 аутоматизовани алати пропуштају заобилазнице које зависе од контекста као што су крајње тачке ЈСОНП и убризгавање углова на беле листе.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime