Атака ZAP XSS пытается исправить с помощью проверки ввода, но не работает?

В отчете ZAP HTML говорится о XSS-атаке: Параметр: имя пользователя Атака: предупреждение (1);

Как мне исправить мой HTML, чтобы ZAP не сообщал о XSS-атаке на мой логин? Я знаю, что это связано с проверкой ввода / внесением в белый список?

Я пытался следить за этим: https://tododev.wordpress.com/2013/12/27/detecting-and-fixing-xss-using-owasp-tools/

но это сбило меня с толку, а я новичок.


person neuravinci    schedule 26.11.2016    source источник


Ответы (1)


Вам следует использовать OWASP Java Encoder вместо ESAPI. Пример использования OWASP Java Encoder в вашем коде:

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="org.owasp.encoder.Encoder" %>
<%-- HTML context --%>
<body><b><%= Encode.forHtml(textValue) %>" /></b></body>
<%-- HTML Attribute context --%>
<input type="text" name="address"
value="<%= Encode.forHtmlAttribute(addressData) %>" />
<%-- HTML Content context --%>
<textarea name="text">
<%= Encode.forHtmlContent(textAreaContent>" />
<%-- Javascript Block context --%>
<script type="text/javascript"> var msg = "<%= Encode.
forJavaScriptBlock(message) %>"; alert(msg); </script>
<%-- Javascript Variable context --%>
<button onclick="
alert('<%= Encode.forJavaScriptAttribute(alertMsg) %>');
">click me</button>

Надеюсь это поможет!

person Hasan K    schedule 17.01.2017