Web的安全问题越来越严重,漏洞总是在不停的出现,而我们以前一直在做的都是打补丁,就这样漏洞、补丁、补丁、漏洞的恶性循环着。其实很多的攻击都是可以预防的,只要我们做好前期的工作。
根据最新的统计显示,跨站脚本、信息泄漏和SQL注入这三个安全漏洞是最容易受到攻击的,而跨站脚本攻击XSS又在其中占了一半以上的份额,所以这里我们要谈谈如何做好基本的对付XSS的防御工作,让我们的Web环境更加安全。
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
我们先来了解一下XSS主要的攻击手段:
1、依赖跨站漏洞,需要在被攻击网站的页面种入脚本的手法,包括Cookie盗取,通过javascript获取被攻击网站种下的cookie,并发送给攻击者,从cookie中提取密码等隐私,利用cookie伪造session,发起重放攻击。另外还有包括Ajex信息盗取,通过javascript发起ajex请求,从ajex结果中获取隐私,模拟用户完成多页表单。
2、不依赖跨站漏洞的手法,包括单向HTTP动作,通过img.src等方法发起跨站访问,冒充被攻击者执行特权操作。但是很难拿到服务器的返回值。还包括双向HTTP动作,如果服务器产生一段动态的script,那么可以用script.src的方法发起跨站访问并拿到服务器的返回值。
下面看看具体的防御措施:
1、防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句
不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过滤;其次任何内容写到页面之前都必须加以encode,避免不小心把html tag弄出来。这一个层面做好,至少可以堵住超过一半的XSS攻击。
2、Cookie防盗
首先避免直接在cookie中泄露用户隐私,例如email、密码等等。其次通过使cookie和系统ip绑定来降低cookie泄露后的危险。这样攻击者得到的cookie没有实际价值,不可能拿来重放。
3、尽量采用POST而非GET提交表单
POST操作不可能绕开javascript的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。
4、严格检查refer
检查http refer是否来自预料中的url。这可以阻止第2类攻击手法发起的http请求,也能防止大部分第1类攻击手法,除非正好在特权操作的引用页上种了跨站访问。
5、将单步流程改为多步,在多步流程中引入效验码
多步流程中每一步都产生一个验证码作为hidden表单元素嵌在中间页面,下一步操作时这个验证码被提交到服务器,服务器检查这个验证码是否匹配。首先这为第1类攻击者大大增加了麻烦。其次攻击者必须在多步流程中拿到上一步产生的效验码才有可能发起下一步请求,这在第2类攻击中是几乎无法做到的。
6、引入用户交互
简单的一个看图识数可以堵住几乎所有的非预期特权操作。
7、只在允许anonymous访问的地方使用动态的javascript。
8、对于用户提交信息的中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。
9、内部管理网站的问题
很多时候,内部管理网站往往疏于关注安全问题,只是简单的限制访问来源。这种网站往往对XSS攻击毫无抵抗力,需要多加注意。
虽然XSS的攻击很灵活,只要我们能做好上述几点,是可以组织大部分XSS的,再及时打好补丁可以最大程度的减少来自跨站脚本攻击XSS的威胁。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/superbirds/archive/2008/10/11/3055735.aspx
分享到:
相关推荐
**XSS跨站脚本攻击漏洞修复方法** XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的网络安全威胁,它允许攻击者在用户的浏览器上执行恶意代码,从而窃取用户敏感信息、操纵用户行为或者对网站进行破坏。本文将...
第5章 XSS Worm,讲解了Web 2.0的最大威胁——跨站脚本蠕虫,剖析了Web 2.0相关概念和其核心技术,这些知识对于理解和预防XSS Worm十分重要。第6章 Flash应用安全,就当前的Flash应用安全做出了深入阐述。第7章 深入...
XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的网络安全漏洞,它允许攻击者在用户浏览器上执行恶意脚本。这种攻击通常发生在Web应用中,当网站未能正确地过滤或转义用户输入的数据,使得这些数据可以作为可...
XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的Web应用安全威胁,其核心在于利用网站对用户输入数据的处理不当,允许攻击者注入恶意脚本到网页中,这些脚本在用户浏览器上执行,进而窃取用户的敏感信息、篡改...
跨站脚本漏洞(XSS)是网络安全领域中常见的攻击方式之一,主要发生在Web应用程序中。这种漏洞允许攻击者在用户浏览器中注入恶意脚本,从而可以窃取用户的敏感信息,比如Cookie、会话令牌或者执行其他恶意操作。在...
xss 跨站脚本攻击是一种常见的 web 应用程序漏洞,攻击者可以inject 恶意脚本到网页中,从而获取用户的敏感信息或控制用户的浏览器行为。下面是 xss 跨站脚本攻击的一些常见类型: 1. 普通的 XSS JavaScript 注入:...
XSS(Cross Site Scripting)跨站脚本攻击是一种常见的网络安全漏洞,它允许攻击者在用户浏览器上执行恶意脚本,从而获取敏感信息或者操控用户的行为。这种攻击主要发生在Web应用中,攻击者通过注入恶意代码,使受害...
第5章 XSS Worm,讲解了Web 2.0的最大威胁——跨站脚本蠕虫,剖析了Web 2.0相关概念和其核心技术,这些知识对于理解和预防XSS Worm十分重要。第6章 Flash应用安全,就当前的Flash应用安全做出了深入阐述。第7章 深入...
XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的安全威胁,它利用Web应用程序的安全漏洞,将恶意脚本注入到合法的网页中,进而攻击最终用户。XSS攻击主要分为以下两种类型: 1. **存储型XSS**(Persistent ...
xss跨站脚本攻击是一种常见的Web应用安全漏洞,攻击者可以通过在网站上注入恶意代码,盗取用户敏感信息,控制企业数据,非法转账,发送恶意邮件等。下面是xss跨站脚本攻击的知识点总结: 1.xss跨站脚本攻击的定义 ...
【跨站脚本攻击(XSS)概述】 XSS,全称Cross Site Scripting,是一种常见的Web应用程序安全漏洞,攻击者利用此漏洞向网页中注入恶意脚本,当其他用户浏览该页面时,这些脚本会被执行,从而可能窃取用户的敏感信息...
XSS(Cross Site Scripting)跨站脚本攻击是一种网络安全漏洞,主要针对Web应用程序,让攻击者能够在受害者的浏览器上执行恶意脚本。攻击者通过在网页中插入有害的HTML代码,当用户浏览该页面时,这些代码会被执行,...
跨站脚本(Cross Site Scripting,简称XSS)攻击是一种常见的Web应用程序安全漏洞,它允许攻击者将恶意脚本注入到看似可信的网站上。当用户浏览这些被注入恶意脚本的页面时,恶意脚本会在用户的浏览器环境中执行,...
实验结果显示,WAVFinder在检测Web应用程序中的跨站脚本漏洞方面表现出色,相较于同类工具具有明显的优势,能够更有效地保护Web应用免受XSS攻击。 总之,《Web跨站脚本漏洞检测工具的设计与实现》一文不仅深入分析...
### XSS跨站脚本攻击详解 #### 一、XSS跨站脚本攻击概述 XSS(Cross-Site Scripting),即跨站脚本攻击,是一种常见的网络安全威胁,主要通过在受害者的浏览器环境中注入恶意脚本,从而实现对用户的攻击。这种攻击...
XSS 跨站脚本攻击是一种常见的 Web 应用程序安全漏洞,攻击者可以通过在 Web 页面中插入恶意 Script 代码来攻击用户。为了防止 XSS 攻击,需要了解 XSS 的分类和特点。 XSS 漏洞介绍 XSS 跨站脚本攻击(Cross Site...
XSS攻击,全称为**跨站脚本攻击**(Cross Site Scripting),是一种常见的网络安全漏洞,它发生在Web应用程序未能正确过滤用户输入的数据时。攻击者可以借此机会将恶意脚本注入到正常的应用程序流程中,进而对其他...