常见的网络攻击
xss(cross site script)
跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
sql注入
sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。
ddos(distributed denial of service):分布式拒绝服务攻击。
通过占用网络服务的资源让服务器应接不暇,从而拒绝正常的业务流量的一种网络攻击方式
①网络层攻击
syn flood攻击
syn flood攻击主要利用TCP三次握手的漏洞,TCP三次握手过程需要建立连接双方的syn、syn+ack、ack数据包,当攻击者随意构造源地址发送syn包时,服务器返回的syn+ack就得不到应答(因为IP地址是随意构造的),此时服务器就是尝试重新发送,并且有至少30s等待时间,导致服务不可用。
udp flood攻击
由于udp是一种无连接的协议,因此攻击者可以伪造大量的源IP地址去发送udp包,此种攻击属于大流量攻击。正常应用情况下,UDP包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。
icmp flood攻击
此攻击属于大流量攻击,其原理就是不断发送不正常的ICMP包(所谓不正常就是ICMP包内容很大),导致目标带宽被占用,但其本身资源也会被消耗。并且目前很多服务器都是禁ping的(在防火墙在可以屏蔽icmp包),因此这种方式已经落伍。
②应用层攻击
cc攻击(Challenge Collapasar)也称http flood
cc攻击的原理,就是针对消耗资源比较大的页面不断发起不正常的请求,导致资源耗尽。因此在发送CC攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页,比如需要查询数据库的页面、读写硬盘文件的等。通过cc攻击,使用爬虫对某些加载需要消耗大量资源的页面发起http请求。
http post dos
原理是在发送http post包时,指定一个非常大的content-length值,然后以极低的速率发包,保持连接不断,导致服务饱和不可用。
缓冲区溢出
缓冲区溢出是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。
原因:造成缓冲区溢出的主要原因是程序中没有仔细检查用户输入。
危害有以下两点:
1、程序崩溃,导致拒绝服务
2、跳转并且执行一段恶意代码
欺骗劫持
①arp欺骗
攻击者向电脑A发送一个伪造的ARP响应,告诉电脑A:电脑B的IP地址192.168.0.2对应的MAC地址是00-aa-00-62-c6-03,电脑A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往电脑B的数据发送给了攻击者。同样的,攻击者向电脑B也发送一个伪造的ARP响应,告诉电脑B:电脑A的IP地址192.168.0.1对应的MAC地址是00-aa-00-62-c6-03,电脑B也会将数据发送给攻击者。
至此攻击者就控制了电脑A和电脑B之间的流量,他可以选择被动地监测流量,获取密码和其他涉密信息,也可以伪造数据,改变电脑A和电脑B之间的通信内容。
②dns劫持
dns劫持又称域名劫持,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址。
如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS劫持的基本原理。
DNS劫持其实并不是真的“黑掉”了对方的网站,而是冒名顶替。