XSS HTTP 参数污染和 getQueryString()
XSS HTTP parameter pollution and getQueryString()
我正在处理 xss 问题,发现一个问题我不知道如何解决。
我收到来自 Acunetx 的报告说:
Details
POST (multipart) input query was set to idMenu=14&n907758=v929899
Parameter precedence: first occurrence
Affected link:
/MYAPP/jspfs/plantilla.jsp?idMenu=14&n907758=v929899&int1=-1&accion1=edit
Affected parameter: idMenu=14
在我的 jsp 我有这样的东西:
<input type="hidden" name="query" value="<%=StringEscapeUtils.escapeHtml4(request.getQueryString())%>" />
<script>
$(document).ready(function () {
function send() {
location.href="<%=Utils.getParameter("ruta0") + "jspfs/plantillasTickets/plantillasTickets.jsp"%><%=query%>&idMenu=<%=idMenu%>&idioma="+valIdioma+"&grupo="+valGrupo;
}
</script>/>
因此,用于挂载 url 的 getQueryString()
方法正在获取值 idMenu=14&n907758=v929899&int1=-1&accion1=edit
,该值被解释为新参数 n907758
.
注意:为了解决其他 xss 问题,我使用了一个过滤器来规范请求值,但在这种情况下,我不知道如何区分注入的正确参数。
有解决这个问题的想法吗?
我已经通过更改代码解决了 Acunetix 攻击。希望能帮助大家解决这类问题。
<%-- the imput query has been deleted --%>
<script>
$(document).ready(function () {
function send() {
<%
query = StringEscapeUtils.escapeHtml4(request.getQueryString());
%>
location.href="<%=Utils.getParameter("ruta0") + "jspfs/plantillasTickets/plantillasTickets.jsp" + query%>&idMenu=<%=idMenu%>&idioma="+valIdioma+"&grupo="+valGrupo;
}
</script>/>
我正在处理 xss 问题,发现一个问题我不知道如何解决。
我收到来自 Acunetx 的报告说:
Details
POST (multipart) input query was set to idMenu=14&n907758=v929899
Parameter precedence: first occurrence
Affected link:
/MYAPP/jspfs/plantilla.jsp?idMenu=14&n907758=v929899&int1=-1&accion1=edit
Affected parameter: idMenu=14
在我的 jsp 我有这样的东西:
<input type="hidden" name="query" value="<%=StringEscapeUtils.escapeHtml4(request.getQueryString())%>" />
<script>
$(document).ready(function () {
function send() {
location.href="<%=Utils.getParameter("ruta0") + "jspfs/plantillasTickets/plantillasTickets.jsp"%><%=query%>&idMenu=<%=idMenu%>&idioma="+valIdioma+"&grupo="+valGrupo;
}
</script>/>
因此,用于挂载 url 的 getQueryString()
方法正在获取值 idMenu=14&n907758=v929899&int1=-1&accion1=edit
,该值被解释为新参数 n907758
.
注意:为了解决其他 xss 问题,我使用了一个过滤器来规范请求值,但在这种情况下,我不知道如何区分注入的正确参数。
有解决这个问题的想法吗?
我已经通过更改代码解决了 Acunetix 攻击。希望能帮助大家解决这类问题。
<%-- the imput query has been deleted --%>
<script>
$(document).ready(function () {
function send() {
<%
query = StringEscapeUtils.escapeHtml4(request.getQueryString());
%>
location.href="<%=Utils.getParameter("ruta0") + "jspfs/plantillasTickets/plantillasTickets.jsp" + query%>&idMenu=<%=idMenu%>&idioma="+valIdioma+"&grupo="+valGrupo;
}
</script>/>