无名[] 2023-03-06 17:25 采纳率: 23.8%
浏览 44
已结题

如何设计一个xss过滤器

设计一个xss过滤器要求如下,请问各位该如何设计

注入过滤器select|insert|into|update|count|delete|from|where|and|or|trancate" +
      "|drop|execute|like|grant|use|union|order|by|net user|schema|add|asc|char|mid|case|when|else|current_user|\|| |'|"|;|=|`|*| |\n|%|(|)|@|&|!|#|\r|/|

xss过滤器|'|"|;|/|=|`|*| | |\n|\\|%|(|)|@|&|!|#|<|>|[|]|{|}|||script|javascript|alert|eval|window|document|toString|prompt|from|data|update|src|iframe|

SQL过滤器注意事项“
1.SQL注入防护效果 预编译>阻断器>过滤器
2.过滤器禁止单次过滤,应采用循环过滤防止存在重写绕过(形如sselectelect)
3.过滤前统一大小写,防止出现大小写绕过

XSS过滤器注意事项:
1.xss防护最优选择"输入输出双防护",即同时使用输入时进行过滤,输出时采用实体化编码。
2.过滤器禁止单次过滤,因采用循环过滤防止存在重写绕过(形如sscriptcript)
3.过滤前统一大小写,防止出现大小写绕过
4.设置http-only参数为true,这样JS就不能读取cookie信息了;

(1)预定义的字符是:
    & (和号)成为 &
     " (双引号)成为 "
    ’ (单引号)成为'
     < (小于)成为 <
     >(大于)成为 &g

  • 写回答

2条回答 默认 最新

  • 陈书予 2023年6月份城市(北京)之星TOP 1 2023-03-06 17:33
    关注

    满足要求的XSS过滤器,可以采取以下步骤:

    1. 首先,定义一个过滤器类,该类包含一个过滤方法,用于接受需要过滤的输入字符串,然后返回已过滤的字符串。
    2. 在过滤方法中,首先将输入字符串转换为小写字母,以防止大小写绕过。
    3. 然后,使用正则表达式匹配输入字符串中的特殊字符和关键字,如单引号、双引号、分号、等号、小于号、大于号等。如果发现任何匹配项,则将其替换为安全的字符或字符串。
    4. 对于XSS过滤,可以采用输入输出双防护的策略。在输入时,过滤掉可能包含恶意脚本的字符和字符串,如
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月6日

悬赏问题

  • ¥20 统信uos升级apt后启动失败
  • ¥15 求指导储层饱和度及含水率测井解释
  • ¥200 建三维地震工区写入sgy到指定目录
  • ¥30 靶向捕获测序探针设计自学
  • ¥15 写代码写代码单片机代码写代码写数字按键代码
  • ¥15 django按照距离进行排序
  • ¥15 (标签-微信|关键词-微信公众号)
  • ¥15 matlab中mjs用不了
  • ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥60 riscv-pulpino总线上挂载axi从机