ZAP HTML报告声称XSS攻击: 参数:用户名 攻击:警报(1);
如何修复我的HTML,以便ZAP不会说我的用户名内容有XSS攻击?我知道它与输入验证/白名单有关吗?
我试图遵循这个:https://tododev.wordpress.com/2013/12/27/detecting-and-fixing-xss-using-owasp-tools/
但它让我更加困惑,我是初学者。
答案 0 :(得分: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>
希望这有帮助!