WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

SiXSS (англ. Sql Injection Сross Site Scripting — «Межсайтовый скриптинг при наличии SQL-инъекции») — тип атаки на уязвимые интерактивные информационные системы в вебе; внедрение выполняемых на клиентском компьютере вредоносных скриптов в выдаваемую системой страницу посредством внедрения кода в SQL-инъекцию. Как правило, данная уязвимость возникает на стороне клиента, при наличии вывода принтабельных полей посредством выполнения SQL-инъекции.

Описание

Данная атака может обеспечить доступ к информации на сервере, дать возможность выполнять определенные команды, украсть COOKIES пользователя и многое другое. Она представляет собой совместное использование таких атак как SQL-инъекция и XSS (Cross Site Scripting) в одной атаке. Используется при наличии SQL-уязвимости в php-сценарии в случае отсутствия вывода нужной информации из базы данных и при наличии вывода принтабельных полей из таблицы базы данных.

Пример

Предположим, что на сервере имеется база данных, в которой расположена таблица вида:

CREATE DATABASE cms;

USE cms;

GRANT SELECT ON cms.* TO 'user_noprivs'@'localhost' IDENTIFIED BY
PASSWORD '4f665d3c1e638813';
CREATE TABLE content_table (
id INT PRIMARY KEY AUTO_INCREMENT,
content TEXT
);
INSERT INTO content_table (content) VALUES
('My Bank
[p]
User:
[input type=\"text\" name=\"username\"]
Password:
[input type=\"password\" name=\"pass\"]

[input type=submit value=\"LogIn\"]
');

и присутствует такой файл PHP, как этот :

My Bank

<?php
if(@isset($_GET['id'])){
$myconns=@mysql_connect(\"127.0.0.1\",\"user_noprivs\",\"unbr34k4bё3!\") or
die(\"sorry can't connect\");
@mysql_select_db(\"cms\") or die(\"sorry can't select DB\");
$sql_query = @mysql_query(
\"select content from content_table where id=\".$_GET['id']) or die(\"Sorry
wrong
SQL Query\");
// oops SQL Injection-^
while($tmp = @mysql_fetch_row($sql_query))
echo $tmp[0]; //echoes the result as HTML code
}else{
echo \"Welcome to My Bank
\".Login.\"\";
} 
?>

Как видно, результаты запроса к MySQL должны будут передаваться пользователю. Можем просмотреть данную html-страницу, но на ней мы не увидим ничего особенного. Зайдя на страничку и кликнув по ссылке, пользователь получит приглашение на авторизацию.

Из этого можно сделать вывод о том, что:

Проблема появляется в случае, когда некоторый текст из БД поступает сразу в HTML страницу. Если мы попытаемся использовать классическую атаку SQL-Injection, мы получим некоторую информацию о SQL-сервере и ничего больше. Но появляется уязвимость на стороне клиента. Используя UNION SELECT злоумышленник сможет внедрить произвольный текст.

Атака

Для того, чтобы обойти включенные gpc_magic_quotes, используем "0xXX" HEX вместо текста: mysql] select HEX('[ script]alert(“SiXSS”);[/script]');

+---------------------------------------------------------------------+
| HEX('[ script]alert(\"SiXSS\");[/script]') 
|
+---------------------------------------------------------------------+
| 3C7363726970743E616C6572742822536958535322293B3C2F 7363726970743E |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)

и вставим это в HTTP запрос :

http://www.mybank.com?id=1+union+select+

0x3C7363726970743E616C6572742822536958535322293B3C 2F7363726970743E

Ответом будет та же страничка, но ,кроме того, на стороне клиента выполнится данный скрипт.

([ script]alert(SiXSS);[/script])

Это и будет SQL Injection для Cross Site Scripting (SiXSS)

Пример взят с сайта SecurityLab

Ссылки

Прочее

Классифицируются данные атаки в соотвестствии с классификацией SQL-инъекций и XSS-атак, так как являются совмещением двух различных типов атак.

Примечания

    Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

    Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

    Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




    Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

    Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

    2019-2025
    WikiSort.ru - проект по пересортировке и дополнению контента Википедии