无名[] 2023-03-06 17:25 采纳率: 25%
浏览 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日

悬赏问题

  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败