zoukankan      html  css  js  c++  java
  • xss:跨站脚本攻击

    这个问题是16年5月份刚接手信贷系统项目时所要解决的一个问题,这里做一个梳理。

    什么是跨站脚本攻击(XSS)?

    XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

    三种类型:

    XSS漏洞按照攻击利用手法的不同,有以下三种类型:
    类型A,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:
    Alice给Bob发送一个恶意构造了Web的URL
    Bob点击并查看了这个URL。
    恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
    具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。
    Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。
    类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:
    Alice经常浏览某个网站,此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。
    Charly发现Bob的站点包含反射性的XSS漏洞。
    Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。
    Alice在登录到Bob的站点后,浏览Charly提供的URL。
    嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。
    类型C,存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:
    Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
    Charly注意到Bob的站点具有类型C的XSS漏洞。
    Charly发布一个热点信息,吸引其它用户纷纷阅读。
    Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。
    类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用。

    ————————————————————————以上摘自百度

    因为ALS757软件工作环境是局域网中,所以不存在联网等问题,此处只要考虑显示时过滤掉特殊字符:

    在工具类中写一个方法:

    public static String convertJS2HTML(String str){

    if(str==null) return "";

    str=str.replaceAll("x","y");//x为被替换内容,y为即将替换成的内容。

    }

    因为此处涉及到公司机密,不便写出详细代码,大致思路就是这样。

    版权归本人所有,转载请注明出处。
  • 相关阅读:
    【洛谷P4708】—画画(Burnside引理)
    【HDU 6087】—Rikka with Sequence(可持久化平衡树)
    【HDU 6087】—Rikka with Sequence(可持久化平衡树)
    【Codeforces 643G】—Choosing Ads(线段树)
    【Codeforces 643G】—Choosing Ads(线段树)
    less sass学习总结(——待续哦——)
    网站常识
    网站发布流程
    解惑 和 遇到的问题
    页面无法访问 css文件加载问题
  • 原文地址:https://www.cnblogs.com/wqfeng-2017/p/6667457.html
Copyright © 2011-2022 走看看