Session Extending - продовження сесії

22:48 03.07.2008

Під час проведення Cross-Site Scripting атак з викраденням кукісів, з метою їх подальшого використання для отримання доступу до акаунту (зокрема адмінського), важливою складовою є тривалість сесії. У тому випадку, якщо використовується сесія в кукісі для ідентифікації (а не пароль чи хеш - бо в такому разі проблеми з тривалістю сесії будуть відсутні, і якщо немає обмежень на час життя кукіса, атака апріорі буде успішною). Від тривалості сесії безпосередньо залежить успішність атаки. Бо якщо час життя сесії завершиться, даний кукіс (дана сесія) буде марним.

Тому при проведені XSS атаки потрібно звертати увагу на тривалість сесії. У випадку коли сайт вразливий до Insufficient Session Expiration, то жодних ускладнень з атакою не виникне, і сесія буде працюваи тривалий час (від декількох годин до необмеженої кількості часу). Достатній час, щоб успішно провести операцію по захопленню акаунта.

Якщо ж на сайті немає Insufficient Session Expiration уразливостей (адміністратори сайта подбали про цей аспект), то потрібно буде або дуже швидко проводити процедуру захоплення акаунта (поки активна сесія), або іншим чином вирішити це питання. Зокрема цю задачу можна вирішити шляхом продовження сесії і для цього я розробив власний метод - MustLive Session Extending Method.

Мій метод, що я розробив в 2006 році, призначений для продовження зохопленної сесії і може використовуватися при проведенні XSS атак. Даний метод був неодноразово успішно апробований на практиці ;-) .

Суть метода полягає в тому, щоб посилати запити на сайт, що атакується. Запити посилаються періодично, причому період можна задати довільний, головне щоб він був менший за час життя сесії (котрий визначається експерементально). Сам запит до сайту посилається разом з захопленим кукісом, тим самим продовжуючи його сесію. І за допомогою даного методу можна на будь-який час (доки це буде необхідно) продовжити захоплену сесію (або декілька сесій).

Тому веб розробникам та адміністраторам сайтів варто пам’ятати про можливість обходу обмеження на тривалість сесії. І навіть відсутність Insufficient Session Expiration уразливостей не врятує від атаки професіонала. Виходячи з цього, єдиним засобом протидії від Cross-Site Scripting атак є виправлення усіх XSS дір на сайті.


Leave a Reply

You must be logged in to post a comment.