网页上的一些安全漏洞攻击的了解

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
(跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。)

1.1 什么是XSS攻击
经常会用到web脚本的漏洞上面,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
包括:html代码或者客户端脚本(js)

XSS攻击的危害包括
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击

1.2 XSS漏洞的分类
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站点。
(总结:上面的两种情况是:(1)一个是截取客户端的页面进行修改攻击客户端 (2)一个是截取网站中的页面来进行修改,就是一种模拟网站的方式,如果是银行的话,就相当于冒牌银行)

类型C,存储式漏洞(运用最广的),骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:
Bob拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
Charly注意到Bob的站点具有类型C的XSS漏洞。
Charly发布一个热点信息,吸引其它用户纷纷阅读。
Bob或者是任何的其他人如Alice浏览该信息,其会话cookies或者其它信息将被Charly盗走。

总结: 类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用。

 传统防御技术
2.1.1基于特征的防御
XSS漏洞和著名的SQL注入漏洞一样,由于web编写不够完善,不同的网页漏洞是不一样的,所以防御之难。

统XSS防御多采用特征匹配方式:
一般是对“javascript”这个关键字进行检索,一旦发现提交的信息中包含“javascript”,就认为是xss攻击。缺陷:骇客可以通过插入字符或完全编码的方式躲避检测。
eg:
躲避方法1)在javascript中加入多个tab键,得到
< IMG SRC="jav ascript:alert('XSS');" >;
躲避方法2) 在javascript中加入(空格)字符,得到
< IMG SRC="javascri pt:alert('XSS');" >;
躲避方法3) 在javascript中加入(回车)字符,得到
< IMG SRC="jav
ascript:alert('XSS');" >;
躲避方法4)在javascript中的每个字符间加入回车换行符,得到
< IMG SRC="javascrip\r
\nt:alert('XSS');" >
躲避方法5)对"javascript:alert('XSS')"采用完全编码,得到
< IMGSRC=javascrip?74:alert('XSS') >
这些在运行的脚本上不能够检测出来,但是运行的结果还是和原来一样。
所以同样会在我们访问的页面上发出警告。

2.1.2 基于代码修改的防御
和SQL注入防御一样,从Web应用开发的角度来避免:
步骤1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。
步骤2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
步骤3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。

总结:web这些相应的脚本都是很难去预防和检测的。上面我们交道了传统的特征方式和开发网站的时候就预防开发网站。



二、ddos攻击:分布式拒绝服务攻击(这种攻击非常常见)
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。主控程序能够在几秒中内激活成百上千次代理程序的运行。

DDoS攻击通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。
这种攻击方式可分为以下几种:
    通过使网络过载来干扰甚至阻断正常的网络通讯;
    通过向服务器提交大量请求,使服务器超负荷;
    阻断某一用户访问服务器;
    阻断某服务与特定系统或个人的通讯。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值