2015-02-16 6 views
0

Я прочитал от here что:Что такое «XSS-атаки на основе DOM»?

DOM на основе XSS атак: полезная нагрузка выполняется в результате изменения среды DOM в браузере жертвы, используемой сценарии на стороне оригинал клиента, так что код клиентской стороны запускается в непредвиденном порядке . То есть сама страница не изменяется, но код клиентской стороны , содержащийся на странице, выполняется по-разному из-за вредоносных изменений , которые произошли в среде DOM.

Может ли кто-нибудь привести пример? Не так легко представить, как Stored XSS Attack и Reflected XSS Attack.

ответ

1

Этот текст выглядит как копия части description of DOM-based XSS from the OWASP wiki (или наоборот).

В принципе, идея состоит в том, что, в отличие от «отраженного» или «хранимого» XSS, злоумышленнику фактически не нужно вводить код, включенный в документ, отправленный с сервера, вместо этого он использует сценарий, который уже существует и использует некоторое свойство или часть данных, которые может изменить атакующий.

Пример, который они приводят, имеет сценарий, который вызывает document.write, используя часть свойства document.location.href. Не заставляя сервер хранить или отображать что-либо, злоумышленник может получить код, выполняемый на этой странице, помещая <script> в URL.

1

В XSS на основе DOM ответ HTTP с сервера никогда не изменяется, но код на стороне клиента, содержащийся на странице, выполняется по-разному из-за вредоносных изменений, которые произошли в среде DOM. Вот пример XSS на основе DOM (взято из OWASP's website):

Предположим, что следующий код используется для создания формы, позволяющей пользователю выбрать его/ее предпочтительный язык. В строке запроса также указывается язык по умолчанию, как параметр «default».

Select your language: 
<select><script>  
document.write("<OPTION value=1>"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"</OPTION>");  
document.write("<OPTION value=2>English</OPTION>");  
</script></select> 

страница вызывается с URL, например:

http://www.some.site/page.html?default=French 

DOM Based XSS нападение на этой странице может быть достигнуто путем отправки следующий URL в жертву:

http://www.some.site/page.html?default=<script>alert(document.cookie)</script> 

Веб-страница на странице (после обработки начального javascript с помощью document.write) будет выглядеть так:

Select your language: 
<select>  
<OPTION value=1><script>alert(document.cookie)</script></OPTION> 
<OPTION value=2>English</OPTION> 
</select> 

БОНУС: Self-XSS

Facebook придумали fancy name для XSS жульничества, где мошенники обманным путем заставить пользователей копирования и вставки вредоносного контента в веб-консоли для разработчиков своих браузеров.

+0

Как предотвратить такие атаки, если сам URL-адрес изменен, есть ли что-либо в руках жертвы, чтобы предотвратить такие атаки проактивно. –

Смежные вопросы