<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>План урока</title> </head> <body> <div align="Center"> <p><b>Название урока:</b> Как эксплуатировать проблемы одновременной работы нескольких потоков.</p> </div> <p><b>Тема для изучения:</b> </p> <!-- Start Instructions --> Веб-приложения могут обрабатывать множество HTTP-запросов одновременно. Часто разработчики используют конструкции не приспособленные к многопоточной работе, и это создаёт возможность использования ошибок связанных с одновременными обращениями. Например когда одна и та же страница открывается одновременно разными пользователями и один их них видит на ней данные другого. Под приспособленностью к многопоточной работе подразумевается способность полей классов и объектов всегда находиться в верном состоянии при выполнении множества одних и тех же операций вызываемых разными потоками. Поскольку все потоки используют одно и то же рабочее пространство вызываемых методов, и в данном пространстве хранятся данные всех свойств отдельно взятых классов, то множественные одновременные попытки обращений к ним могут привести к неожиданным результатам. <br> <!-- Stop Instructions --> <p><b>Основные цели:</b> </p> В приложении урока пользователь может воспользоваться уязвимостю данного типа для того чтобы просматривать авторизационные данные другого пользователя, если одновременно с ним попытается вызвать одну и ту же функцию. <b>Здесь вам придётся использовать два браузера</b>. <br> </body> </html>