dorado7中碰到的xss问题解决

关于dorado7中xss问题解决.

之前的写法是拿到参数,然后拼成html放到htmlcontainer中.

其实逻辑很简单,接收错误信息,然后页面上显示出来.

这个时候还是发现淘宝检测出xss漏洞.传递的参数?error_code=&error_msg=31'13""42>24<99

var error_code="${request.getParameter('error_code')}";

var error_msg="${request.getParameter('error_msg')}";

var endHtml = "<h3>对不起!充值失败!</h3>";

endHtml = endHtml +"请联系管理员."+"<br/>错误代码:"+error_code+"<br/>错误信息:"+error_msg;

alert("endHtml:"+endHtml);

$("#notice").html(endHtml);

想来想去,dorado直接获取参数都有问题.

或者经过ajaxaction,调用StringEscapeUtils.escapeHtml转换数据

都不理想,

想来想去用最古老的方法.使用jsp来处理.

<div id="notice" class="notice n-error">

   <h3>对不起!充值失败!</h3>请联系管理员.<br/>错误代码:<%=StringEscapeUtils.escapeHtml(request.getParameter("error_code"))%><br/>错误信息:<%=request.getParameter("error_msg") %>

</div>

这样做测试的时候 偶然发现dorado貌似做了些处理.

如果error_msg直接传入<script>alert(1);</script> doraodo报错.

修改成

<div id="notice" class="notice n-error">

    <h3>对不起!充值失败!</h3>请联系管理员.<br/>错误代码:<%=StringEscapeUtils.escapeHtml(request.getParameter("error_code"))%><br/>错误信息:<%=StringEscapeUtils.escapeHtml(request.getParameter("error_msg")) %>

</div>

就一切ok了.

xss

相关推荐