Учебники

Тестирование проникновения Python — XSS Web Attack

Атаки с использованием межсайтовых сценариев — это тип внедрения, который также относится к атаке на стороне клиента. Здесь вредоносные коды внедряются в законный веб-сайт. Концепция политики единого происхождения (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.