zoukankan      html  css  js  c++  java
  • 关于web安全的一些随记 XSS 、 Cookies

    xss 相关问题解决过程中的一些随记

    最近网站在安全检测中一直出现xss问题,查看反馈报告发现两类问题

    1.jQuery版本过低导致

      这个可以通过升级jQuery版本来解决:本次我的是从3.x.x 升级到3.5.0以上

      但是在jQuery版本过老的情况下,不建议跨度太大的升级,否则会导致一系列的不兼容以及方法失效等问题

      这样可以采用模糊jQuery版本的方法,比如更改jQuery文件名称,并修改jQuery源文件中的版本号信息

      比如:1.2.0 可以改为 01.02.00 这样可以避免被检查到真实的jQuery版本

      注意在修改jQuery链接时,要把之前的地址从页面中删除,因为注释掉仍然会被检测到(在此问题上我头大了好久,大概是憨憨行为)

    2.感觉像是a标签中href属性中容易被篡改插入js代码导致的问题

    搜索了很多解决方案,但感觉不是很靠谱。原因是项目是一个老项目,经过很多交接过程,到我这里已经有很多问题不可预知,因此不适合改动大的处理办法。

    于是在查找了一些方法后,最终还是准备尝试通过过滤href中的链接是否符合开头为 http 或 https 来尝试解决这个问题

    主要方法如下:

    //页面加载初始化 过滤a标签 href属性中的xss
    function filterXSS_tag_a_Init() {
    
        console.log('init');
    
        let a = document.getElementsByTagName('a');
    
        console.log(a.length);
    
        for (var i = 0; i < a.length; i++) {
    
            filterXSS_tag_a_click(a[i]);
            a[i].setAttribute('onclick', 'filterXSS_tag_a_click(this)');
        }
    
    }
    
    //在a标签点击时 过滤a标签 href属性中的xss
    function filterXSS_tag_a_click(obj) {
    
        if (obj.href.indexOf('http') != 0 && obj.href.indexOf('https') != 0) {
     
            console.log('无效的链接');
            obj.href = '#';
            obj.innerText = '#';
        }
    }
    View Code

    js中给a标签添加onclick事件:setAttribute('onclick', 'filterXSS_tag_a_click(this)');
    不选择使用jQuery的原因也是因为代码过于老,引入新的东西会有可能对之前的功能造成影响

    以上两个方法 一个在页面初加载时,先对页面内所有a标签先进行一次过滤,并为所有a标签添加onclick事件

    另一个在标签的onclick事件中被调用,防止中间被篡改。

    其实好像可以在加载时只为a标签添加onclick,并在点击时进行过滤就ok了。

    说明:

    emmm....      第2个问题好像是由于无输入限制,也就是页面可以响应直接输入的js代码等导致,最后并不是通过上面的js代码解决的

    而是通过修改webconfig文件的 validateRequest 属性解决的

    具体可参考下面微软官方链接

    ----------------------------------------------------------------------------分割线------------------------------------------------------------------------------------ 

    微软官方文档关于防止ASP.NET中的跨站点脚本攻击:

    https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff649310(v=pandp.10)?redirectedfrom=MSDN

     关于xss(留存):

    https://www.cnblogs.com/digdeep/p/4679832.html

    关于Cookies(留存):

    https://wiki.owasp.org/index.php/Testing_for_cookies_attributes_(OTG-SESS-002)

    https://www.itnota.com/enable-secure-httponly-cookies-iis/

  • 相关阅读:
    你现在的技能,是不是只剩下给别人点赞了?
    web编码(转)
    Android 官方文档:(二)应用清单 —— 2.26 &lt;uses-permission&gt;标签
    BackTrack5 (BT5)无线password破解教程之WPA/WPA2-PSK型无线password破解
    开源 java CMS
    EM算法原理
    OpenCV2马拉松第14圈——边缘检測(Sobel,prewitt,roberts)
    winzip15.0注冊码
    什么是积分墙?
    Bitmap工具类
  • 原文地址:https://www.cnblogs.com/catherinehu/p/14177617.html
Copyright © 2011-2022 走看看