zoukankan      html  css  js  c++  java
  • XSS防范

    一 简介

       Asp.net 1.1后默认提供了防范 XSS(跨站脚本攻击) 的能力, 如果发现有风险的html标签 系统会抛出一个
    HttpRequestValidationExceptioin 异常,

    二 使用

       1.可以设置 validateRequest=false 来禁用这个特性,
       2.可用如下方法捕获该错误并对其进行处理: [请切记关闭后需自行编辑代码处理危险字符]

    以下是引用片段:
    protected void Page_Error(object sender, EventArgs e)
    {
    Exception ex = Server.GetLastError();
    if (ex is HttpRequestValidationException)
    {
    Response.Write("请您输入合法字符串。");
    Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
    }
    }

        3.自行编写代码处理危险字符可以采用 "默认禁止,显式允许"的策略。即先将输入用HtmlEncode()来编码,然后再用Replace()替换出安全标签

    4.根据微软提供的建议,我们要慎重允许下列HTML标签,因为这些HTML标签都是有可能导致跨站脚本攻击的。

    以下是引用片段:

  • <applet>
  • <body>
  • <embed>
  • <frame>
  • <script>
  • <frameset>
  • <html>
  • <iframe>
  • <img>
  • <style>
  • <layer>
  • <link>
  • <ilayer>
  • <meta>
  • <object>
  • 可能这里最让人不能理解的是<img>。但是,看过下列代码后,就应该明白其危险性了。

    以下是引用片段:
    <img src="javascript:alert(''hello'');">
    <img src="java script:alert(''hello'');">
    <img src="java script:alert(''hello'');">

    通过<img>标签是有可能导致Javascript执行的,这样攻击者就可以做他想伪装的任何事情。
    关于<style>也是一样:

    以下是引用片段:
    <style TYPE="text/javascript">...
    alert(''hello'');
    </style>

查看全文
  • 相关阅读:
    codefoeces problem 671D——贪心+启发式合并+平衡树
    bzoj 1598: [Usaco2008 Mar]牛跑步
    bzoj 1050: [HAOI2006]旅行comf&&【codevs1001】
    codefoeces 671 problem D
    利用FFMPEG以及EasyRTMP实现读取H.264文件推RTMP视频流的两种方式
    视频流拉转推工具对比:EasyRTSPLive和FFMPEG拉转推效果对比
    TSINGSEE青犀视频Webrtc实时通信的构建流程:PeerConnection对等通信的实现方式
    TSINGSEE青犀视频云边端架构产品编译Intel Media SDK 编译报错error"SSE4.1 instruction set not enabled"
    H.265编码视频在web网页实现无插件播放,应该通过软解码还是硬解码?
    【案例分析】EasyDSS+EasyCVR融合共享解决方案
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1687521.html
  • Copyright © 2011-2022 走看看