无名[] 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日

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。