Атаки с использованием межсайтовых сценариев — это тип внедрения, который также относится к атаке на стороне клиента. Здесь вредоносные коды внедряются в законный веб-сайт. Концепция политики единого происхождения (SOP) очень полезна для понимания концепции межсайтового скриптинга. SOP является наиболее важным принципалом безопасности в каждом веб-браузере. Он запрещает веб-сайтам получать контент со страниц другого происхождения. Например, веб-страница www.tutorialspoint.com/index.html может получить доступ к содержимому с www.tutorialspoint.com/contact.html, но www.virus.com/index.html не может получить доступ к содержимому с www.tutorialspoint.com/contact. HTML Таким образом, мы можем сказать, что межсайтовый скриптинг — это способ обойти политику безопасности SOP.
Типы XSS-атак
В этом разделе мы узнаем о различных типах XSS-атак. Атака может быть классифицирована на следующие основные категории —
- Постоянный или сохраненный XSS
- Непостоянный или отраженный XSS
Постоянный или сохраненный XSS
При такого рода атаках XSS злоумышленник внедряет сценарий, называемый полезной нагрузкой, который постоянно хранится в целевом веб-приложении, например в базе данных. Это причина, это называется постоянная атака XSS. На самом деле это самый разрушительный тип атаки XSS. Например, злоумышленник вставляет вредоносный код в поле комментариев в блоге или в сообщении на форуме.
Непостоянный или отраженный XSS
Это наиболее распространенный тип атаки XSS, при котором полезная нагрузка злоумышленника должна быть частью запроса, который отправляется на веб-сервер и отражается таким образом, чтобы ответ HTTP включал полезную нагрузку из запроса HTTP. Это непостоянная атака, потому что злоумышленник должен доставить полезную нагрузку каждой жертве. Наиболее распространенным примером таких видов XSS-атак являются фишинговые электронные письма, с помощью которых злоумышленник привлекает жертву для запроса к серверу, который содержит полезные данные XSS, и в конечном итоге выполняет сценарий, который отражается и выполняется внутри браузера. ,
пример
Как и SQLi, веб-атаки XSS могут быть реализованы путем манипулирования входными данными с приложением. В следующих примерах мы модифицируем векторы атаки SQLi, описанные в предыдущем разделе, для тестирования веб-атаки XSS. Сценарий Python, приведенный ниже, помогает анализировать атаку XSS с помощью mechanize —
Для начала давайте импортируем модуль механизации .
import mechanize
Теперь укажите имя URL для получения ответа после отправки формы.
url = input("Enter the full url") attack_no = 1
Нам нужно прочитать векторы атаки из файла.
With open (‘vectors_XSS.txt’) as x:
Теперь мы отправим запрос с каждым вектором arrack —
For line in x: browser.open(url) browser.select_form(nr = 0) browser[“id”] = line res = browser.submit() content = res.read()
Следующая строка кода проверит напечатанный вектор атаки.
if content.find(line) > 0: print(“Possible XSS”)
Следующая строка кода запишет ответ в выходной файл.
output = open(‘response/’ + str(attack_no) + ’.txt’, ’w’) output.write(content) output.close() print attack_no attack_no += 1
XSS возникает, когда пользовательский ввод печатает ответ без какой-либо проверки. Поэтому, чтобы проверить возможность атаки XSS, мы можем проверить текст ответа на вектор атаки, который мы указали. Если вектор атаки присутствует в ответе без какого-либо побега или проверки, существует высокая вероятность атаки XSS.