1 跨站脚本攻击(XSS攻击)
XSS(Cross Site Scripting),跨站脚本攻击。XSS是常见的Web攻击技术之一.所谓的跨站脚本攻击指得是:恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击.
2 跨站请求伪造(CSRF攻击)
CSRF(Cross Site Request Forgery), 即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种 网站攻击CSRF攻击的原理:CSRF攻击过程的受害者用户登录网站A,输入个人信息,在本地保存服务器生成的cookie。然后在A网站点击由攻击者构建一条恶意链接跳转到B网站,然后B网站携带着的用户cookie信息去访问B网站.让A网站造成是用户自己访问的假相,从而来进行一些列的操作,常见的就是转账.
3 SQL注入攻击
(1) 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。
(2) 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。
(3) 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。
(4)比如tp框架,配置文件default_filter='htmlspecialchars,addslashes,strip_tags',或者input第三个参数是添加过滤函数的
htmlspecialchars:防XSS攻击,尖括号等转义过滤
addslashes:防SQL注入,在每个双引号(")前添加反斜杠
strip_tags:剥去字符串中的 HTML 标签
4 文件上传漏洞
(3) 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击。 Info漏洞 Info漏洞就是CGI把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。
5.DDoS分布式拒绝服务攻击
分布式拒绝服务攻击原理。分布式拒绝服务攻击DDoS是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。单一的DoS攻击一般是采用一对一方式的,它利用网络协议和操作系统的一些缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与DoS攻击由单台主机发起攻击相比较,分布式拒绝服务攻击DDoS是借助数百、甚至数千台被入侵后安装了攻击进程的主机同时发起的集团行为。
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
当被DDoS攻击时,主要表现为:
(1)被攻击主机上有大量等待的TCP连接。
(2)网络中充斥着大量的无用的数据包,源地址为假。
(3)制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
(4)利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求。
(5)严重时会造成系统死机。
防护策略:一.网络设备设施
1. 扩充带宽硬抗
2. 使用硬件防火墙
3.负载均衡
6.请求重放攻击和中间人攻击
请求重放简单说就是黑客截获了请求方的报文,然后用此报文直接发给后端,让后端误以为黑客是正常的请求方。
重放攻击是一种常见的黑客攻击手段。web应用常见的场景是利用重放攻击手段登陆别人的账号,获取token,然后为所欲为。
重放攻击不需要知道密码,只要拦截报文,就可以攻击。
应对重放攻击
网上大多的思路基本都是利用某一个不可逆的序列作为比较依据,例如“时间戳”、“自定义序列”,然后还有一个重要因是传输的报文加密算法不能被截获,否则就相当于明文传输了。
对于普遍意义的重放攻击(拦截后短时间频繁重发请求),可以考虑后端系统设置短期最大访问次数。
“时间戳”方式的优点是节省服务端的内存,缺点是需要客户端和服务端系统时间尽可能一致。
“自定义序列”的有点是不依赖系统时间,缺点是需要额外的内存。
同样针对普遍意义的重放攻击防护,也需要额外的内存来记录当前请求次数。
中间人攻击
中间人攻击虽然也是拦截,但是这种攻击是屏蔽了客户端和服务端,完全充当了中转服务。这种攻击常见的一种应对方案就是https。