Существуют ли кроссплатформенные инструменты для записи XSS-атак непосредственно в базу данных?
-
20-09-2019 - |
Вопрос
Я недавно нашел эта запись в блоге на инструменте, который записывает XSS-атаки непосредственно в базу данных.Похоже, это очень хороший способ просканировать приложение на наличие слабых мест в моих приложениях.
Я пытался запустить его Мононуклеоз, поскольку моя платформа разработки — Linux.К сожалению, он выходит из строя с System.ArgumentNullException
глубоко внутри Microsoft.Practices.EnterpriseLibrary
и мне кажется, что я не могу найти достаточную информацию о программном обеспечении (кажется, это одноразовый проект, без домашней страницы и дальнейшего развития).
Кто-нибудь знает подобный инструмент?Предпочтительно это должно быть:
- кроссплатформенность (Java, Python, .NET/Mono, даже кроссплатформенный C подойдет)
- открытый исходный код (мне очень нравится иметь возможность проверять свои инструменты безопасности)
- способен взаимодействовать с широким спектром продуктов БД (самые важные из них:MySQL, Oracle, SQL Server, ...)
Редактировать: Я хотел бы уточнить свою цель:Мне нужен инструмент, который напрямую пишет результат об успешной атаке внедрения XSS/SQL в базу данных.Идея состоит в том, что я хочу проверить, что каждое место в моем приложении работает правильно. выходное кодирование.Обнаружение и предотвращение попадания данных в первую очередь - это совершенно другое дело (и может оказаться невозможным, когда я показываю данные, записанные в БД сторонним приложением).
Редактировать 2: Корнелиу Тусня, автор инструмента, ссылку на который я дал выше, с тех пор выпустил этот инструмент как бесплатное программное обеспечение на codeplex: http://xssattack.codeplex.com/
Решение
Я думаю, что в Metasploit есть большинство атрибутов, которые вам нужны.Возможно, он даже единственный, в котором есть все, что вы указываете, поскольку все остальные, о которых я могу думать, имеют закрытый исходный код.Существует несколько существующих модулей, которые имеют дело с XSS, и вам стоит обратить внимание на один из них:XSS-заражение таблицы HTTP-инъекций Microsoft SQL.Судя по звукам этого модуля, он способен делать именно то, что вы хотите.Я полагаю, что фреймворк написан на Ruby и его можно легко расширить с помощью ваших собственных модулей, которые вам могут понадобиться/захотеть сделать.Надеюсь, это поможет.
Другие советы
Не уверен, что это то, что вам нужно, это фаззер параметров для HTTP/HTTPS.
Я давно его не использовал, но IIRC действует как прокси-сервер между вами и рассматриваемым веб-приложением и вставляет строки атаки XSS/SQL Injection в любые поля ввода, прежде чем решить, был ли ответ «интересным» или нет, таким образом, является ли приложение уязвимым или нет.
http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project
Судя по вашему вопросу, я предполагаю, что вам нужен именно тот тип фаззера, который специально предназначен для XSS и веб-приложений;если я прав - то это может вам помочь!
Это часть проекта Open Web Application Security Project (OWASP), с которым «джа» связал вас выше.
Здесь есть несколько плагинов Firefox для проведения XSS-тестирования:http://labs.securitycompass.com/index.php/exploit-me/
Мой друг постоянно говорит, что php-идентификаторы это довольно хорошо.Сам не пробовал, но похоже, что это примерно соответствует вашему описанию:
- открытый исходный код (LGPL),
- Кроссплатформенность. PHP нет в вашем списке, но, может быть, все в порядке?
- Обнаруживает «все виды XSS, SQL-инъекций, внедрения заголовков, обхода каталогов, RFE/LFI, DoS и LDAP-атак» (это из FAQ)
- Журналы в базы данных.
Я не думаю, что существует такой инструмент, кроме того, на который вы нам указали.Думаю, для этого есть веская причина:Вероятно, это не лучший способ проверить, что каждый вывод правильно закодирован для применимого контекста.
Из чтения об этом инструменте кажется, что предпосылка состоит в том, чтобы вставить случайные векторы xss в базу данных, а затем вы просматриваете свое приложение, чтобы увидеть, успешен ли какой-либо из этих векторов.Это скорее хитрая методология, если не сказать больше.
Я думаю, что гораздо лучшей идеей было бы провести проверку кода.
Возможно, вам будет полезно взглянуть на некоторые ресурсы, доступные по адресу: http://owasp.org - а именно Стандарт проверки безопасности приложений (ASVS), Руководство по тестированию и Руководство по проверке кода.