Խոցելիություն Adblock Plus-ում, որը թույլ է տալիս կոդի կատարումը կասկածելի զտիչներ օգտագործելիս

Adblock Plus գովազդային արգելափակիչում բացահայտված խոցելիություն, թույլ տալով կազմակերպել JavaScript կոդի կատարումը կայքերի համատեքստում, հարձակվողների կողմից պատրաստված չստուգված ֆիլտրերի օգտագործման դեպքում (օրինակ, երրորդ կողմի կանոնների միացման ժամանակ կամ MITM հարձակման ժամանակ կանոնների փոխարինման միջոցով):

Զտիչներով ցուցակների հեղինակները կարող են կազմակերպել իրենց կոդի կատարումը օգտագործողի կողմից բացված կայքերի համատեքստում՝ ավելացնելով կանոններ օպերատորի հետ:վերագրանցել«, որը թույլ է տալիս փոխարինել URL-ի մի մասը։ Վերագրանցման օպերատորը թույլ չի տալիս փոխարինել հոսթին URL-ում, սակայն թույլ է տալիս ազատորեն շահարկել հարցումների փաստարկները: Միայն տեքստը կարող է օգտագործվել որպես փոխարինող դիմակ, և թույլատրվում է սկրիպտի, օբյեկտի և ենթափաստաթղթերի պիտակների փոխարինում արգելափակված է.

Այնուամենայնիվ, կոդի կատարումը կարող է իրականացվել լուծման ճանապարհով:
Որոշ կայքեր, այդ թվում՝ Google Maps-ը, Gmail-ը և Google Images-ը, օգտագործում են գործարկվող JavaScript բլոկների դինամիկ բեռնման տեխնիկան, որոնք փոխանցվում են մերկ տեքստի տեսքով: Եթե ​​սերվերը թույլ է տալիս հարցումների վերահղում, ապա վերահասցեավորումն այլ հոսթին կարելի է հասնել՝ փոխելով URL-ի պարամետրերը (օրինակ, Google-ի համատեքստում վերահղումը կարող է կատարվել API-ի միջոցով »:google.com/search»): Բացի հոսթներից, որոնք թույլ են տալիս վերահղում, հարձակում կարող է իրականացվել նաև այն ծառայությունների դեմ, որոնք թույլ են տալիս տեղադրել օգտվողի բովանդակությունը (կոդերի հոսթինգ, հոդվածների տեղադրման հարթակներ և այլն):

Առաջարկվող հարձակման մեթոդը ազդում է միայն այն էջերի վրա, որոնք դինամիկ կերպով բեռնում են JavaScript կոդի տողերը (օրինակ՝ XMLHttpRequest-ի կամ Fetch-ի միջոցով) և այնուհետև կատարում են դրանք։ Մեկ այլ կարևոր սահմանափակում է վերահղման օգտագործման կամ ռեսուրսը թողարկող սկզբնական սերվերի կողմում կամայական տվյալների տեղադրման անհրաժեշտությունը: Այնուամենայնիվ, հարձակման արդիականությունը ցույց տալու համար ցույց է տրվում, թե ինչպես կազմակերպել ձեր կոդի կատարումը maps.google.com-ը բացելիս՝ օգտագործելով «google.com/search» վերահղումը:

Ֆիքսումը դեռ պատրաստման փուլում է։ Խնդիրն ազդում է նաև արգելափակողների վրա Adblock и uBlock. Խնդիրը չի ազդում uBlock Origin արգելափակիչի վրա, քանի որ այն չի աջակցում «վերագրելու» օպերատորին: Ժամանակին uBlock Origin-ի հեղինակը
մերժեց ավելացրեք վերագրանցման աջակցություն՝ վկայակոչելով անվտանգության հնարավոր խնդիրները և հյուրընկալողի մակարդակի անբավարար սահմանափակումները (վերագրելու փոխարեն առաջարկվել էր հարցման շերտի տարբերակ՝ դրանք փոխարինելու փոխարեն հարցման պարամետրերը մաքրելու համար):

Adblock Plus-ի մշակողները իրական հարձակումները քիչ հավանական են համարում, քանի որ կանոնների ստանդարտ ցուցակների բոլոր փոփոխությունները վերանայվում են, իսկ երրորդ կողմի ցուցակները միացնելը չափազանց հազվադեպ է օգտվողների շրջանում: MITM-ի միջոցով կանոնների փոխարինումը կանխվում է HTTPS-ի լռելյայն օգտագործմամբ՝ ստանդարտ բլոկների ցուցակները ներբեռնելու համար (այլ ցուցակների համար նախատեսվում է արգելել ներբեռնումը HTTP-ի միջոցով ապագա թողարկումում): Հրահանգները կարող են օգտագործվել կայքի կողմից հարձակումը արգելափակելու համար CSP (Բովանդակության անվտանգության քաղաքականություն), որի միջոցով դուք կարող եք հստակորեն որոշել այն հոստերները, որոնցից կարող են բեռնվել արտաքին ռեսուրսները:

Source: opennet.ru

Добавить комментарий