• JQuery安全分析


    JQuery安全分析:

    JQuery的风险均来源于对输入的数据没有进行有效性检验。客户端的Javascript需要检验:来源于服务器的数据、来源于当前页面的用户输入,服务器端需要检验来源于用户端的数据.

    JQUERY的下列方法存在XSS的风险,在使用前应该对输入的内容进行编码或检查

    .html(val)

    $("#MyH").html("as>/" <img src=abc.jpg onerror='alert(0);'>alert('s');");

    .append(val)

    $("#MyH").append("<strong>Hello</strong><script>alert(3);");

    . prepend(val)

    prepend("<strong>Hello</strong><script>alert(3);");

    . before(val)

    //$("#MyH").before("<strong>Hello</strong><script>alert(3);");

     

    .replaceWith(val)

    //$("#MyH").replaceWith("<strong>Hello</strong><script>alert(3);");

    . after(val)

    $("#MyH").after("<strong>Hello</strong><script>alert(3);");

    JQUERY在AJAX时如果设定返回结果为JSON,则有JSON投毒的风险

    原因是:

    JQuery处理JSON采用的是以下代码

    如果服务器返回的数据为

              string ms = "{/"total/":/"400/",/"results/":{/"Name/":/"[//aa///"{//u003c//u003e}

    /",/"Age/":null,/"School/":/"acb;/",/"Address/":null,/"Memo/":/"/"}});alert(23);//";

    则会出现JSON中毒

    简单的Javascript测试 JSON中毒

    var s=eval("({/"name/":/"sss/"});alert(23);({/"name/":/"sss/"})");

    alert(s.name);

    处理办法:使用JSON2.js的JSON解释方法代替JQUERY的该部份内容,或修改JQuery的eval部份,增加对JSON String的有效检验

    JSON为什么是安全的

    JSON采用了一系列的方法去检查eval执行的表达式是否是安全的,是否是只包含有JSON正确格式的数据,所以JSON2.JS来解析JSON串是安全的。

  • 相关阅读:
    程序员修炼之道读书笔记02
    程序员修炼之道读书笔记01
    2021年1月30日 体温上报app03(百度API的获取和配置方法)
    2021年1月28日 体温上报app02
    2021年1月27日 体温上报app01
    2021年1月26日 sqlite数据库
    2021年1月25日 列表与适配器
    16.CSS margin用法
    14.CSS 块级元素与行内元素
    12.CSS 简单认识margin
  • 原文地址:https://www.cnblogs.com/hjtdlx/p/3349114.html
Copyright © 2020-2023  润新知