常见的web攻击手段

来源:互联网 发布:如何开发三维软件 编辑:程序博客网 时间:2024/06/05 07:52

《大型分布式网站架构设计与实践》

常见的web攻击手段

一些常见的web攻击手段,如XSS攻击、CSRF攻击、SQL注入攻击、DDOS攻击等。


XSS攻击

XSS攻击的全称是跨站脚本攻击(Cross Site Scripting),他是web应用程序最常见的攻击手段之一。跨站脚本攻击指的是攻击者在网页中嵌入恶意脚本程序,当用户打开该网页时,脚本程序便开始在客户端的浏览器上执行,以盗取客户端的cookie、用户名密码、下载执行木马程序,甚至获取客户端的admin权限。

XSS攻击的原理
在用户的输入表单上带上一段脚本程序,攻击的威力取决于用户输入的脚本。比如页面有个一表单:

<input type="text" name="nick" value="zhangsan" >

当用户输入的数据时:

"/> <script>alert('xss攻击');</script><!-时

页面内容就会变为:

<input type="text" name="nick" value="" /> <script>alert('xss攻击');</script><!-时 >"

就会弹出:xss攻击

XSS防范
xss之所以会发生,是因为用户输入的数据变成代码。因此,我们需要对用户输入的数据进行html转义处理。


CRSF攻击

CRSF攻击的全称是跨站请求伪造(cross site request forgery),是一种对网站的恶意利用,和xss不同,xss利用的是站点内的信任用户,而csrf则是通过伪装来自受信任用户的请求来利用受信任的网站。

CRSF攻击原理
当用户A浏览并登录了受信任站点A,登录信息通过验证后,站点B会在返回给浏览器的信息中带上已登录的cookie,cookie信息会在浏览器端保存一定时间。完成以后,用户没有登出的情况下,访问恶意站点C,这是恶意站点C的某个页面想站点B发起请求,而这个请求会带上浏览器端说保存的站点B的cookie,站点B根据请求所带的cookie,以为请求时用户A发起的。

CRSF攻击防御

  • 将cookie设置为HttpOnly:这样通过程序无法读到cookie信息,避免了攻击者伪造cookie的情况出现。
  • 增加token:在请求中放入攻击者不能伪造的信息,并且该信息不存在于cookie中。系统开发人员可以在http请求中以参数的形式加入一个随机产生的token,并且在服务端进行token检验,如果请求中没有token或者token内容不正确,则认为是csrf攻击而拒绝该请求。
  • 通过Referer识别:根据HTTP协议,在HTTP头中 有一个字段叫Referer,它记录了改HTTP请求的来源地址。网站对每一个请求验证其Referer值,如果是本网站就合法,否则就拒绝。

SQL注入攻击

就是把SQL命令伪装成正常的HTTP请求参数,传递到服务端,欺骗服务器最终执行而已的sql命令,达到入侵的目的。

SQL注入攻击示例

String qSql= "select * from tb_info where  name='"+inputName+"' and password='"+inputPassword+"'";

当用户输入的密码(inputPassword)为‘ or ‘1’=’ 1’时

select * from tb_info where  name='zhangsan' and password='' or '1' = '1';

这样就能获取到所有的信息。

SQL注入攻击防范

  • 使用预编译语句:作为一种更为安全的动态字符串的构建方法,预编译语句使用参数占位符来代替需要动态传入的参数,这样攻击者无法改变SQL语句的结构,SQL语句的语义也不会发生变化。
  • 使用ORM框架:Mybatis 、Ibatis、Hibernate等
  • 避免密码明文存储:对密码进行单向Hash,如MD5对密码进行摘要。今年彩虹表的破解法能根据用户密码的Hash码逆向得出密码的原文。因此使用:哈希加盐法(Hash+Salt)
  • 处理好响应的异常

文件上传漏洞

文件上传漏洞是指恶意攻击者利用一些站点没有对文件的类型很好的校验,上传了可执行的文件或者脚本,并且通过脚本获取服务器上相应的权限,或者有道外部用户访问、下载上传的病毒或者木马文件。

对于上传的文件,不能简单的根据后缀名称判断文件的类型。对于很多类型的文件,起始地几个字节内容是固定的,因此,根据这几个字节内容,就可以确定文件类型,这几个字节也被称为魔数。


DDOS攻击

DDOS(Distributed Denial of Service)即分布式拒绝服务攻击,是目前最为强大、最难以防御的攻击方式之一。

DDOS攻击原理
DDOS指的是攻击者借助公共网络,将庞大的计算机设备联合起来作为攻击平台,对一个或多个目标进行攻击,从而达到瘫痪目标主机的目的。

DDOS攻击类型

  • 依赖蛮力的ICMP Flood、UDP Flood
  • 依赖协议特征和具体软件漏洞进行攻击:Slowloris攻击、Hash碰撞攻击
  • 利用协议、系统的缺陷,又具备海量的流量,如SYN Flood、DNS Query Flood

其他攻击手段

其他比较常见的攻击手段还有:DNS域名劫持、CDN回源攻击、服务器权限提升、缓冲区溢出等等。

1 0
原创粉丝点击