XssHttpServletRequestWrapper不生效的问题

提问 4 978
LNPC
LNPC VIP3 2023-09-26
版本:renren-security 4.0 开发环境:
第一个问题,news模块前端提交content-type 方式为application/x-www-form-urlencoded,后端XssHttpServletRequestWrapper将news的content字段内容的标签进行过滤了,本不应该过滤 第二个问题,XssHttpServletRequestWrapper中第41行 if (!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))) { 因为前端base传入的content-type为application/json;charset=UTF-8,所以这个if判断永远成立,请确认。
回帖
  • 1. 默认是过滤全部属性的,也就是都会过滤 2. xss需要过滤掉表单数据和json数据,如果不永久成立,那json数据就没办法过滤
    0 回复
  • LNPC
    LNPC VIP3 (楼主)
    2023-09-26
    @Mark XssHttpServletRequestWrapper现在的情况是,46行包括46行往下都走不进去。public static final String APPLICATION_JSON_VALUE = "application/json"; 这个常量永远不能与前端传入的application/json;charset=UTF-8相等,到了if里就被返回了。过滤不生效。是这个意思
    0 回复
  • LNPC
    LNPC VIP3 (楼主)
    2023-09-26
    @Mark 我上述的意思总结就是,现有框架代码传入的json数据,没有进行过滤。到41行的判断就被返回了。
    0 回复
  • 这个判断逻辑需要改一下,改成包含
    0 回复