随着移动互联网的日渐成熟,APP的使用比例越来越高,但是这并不影响WEB应用的广泛使用。而WEB应用攻击也没有随APP的崛起而转移,WEB应用攻击仍旧是网络安全的重大威胁因素。下面是近年来WEB应用主流的攻击类型:
1、防止SQL注入
SQL注入是一门将制作好的SQL注入用户输入字段的一种技术,它是网页形式的一部分——用来绕过自定义登录到网站。然而,SQL注入也可以用于登录或者接管一个网站,因此要确保其能防止攻击很重要。
自1998年发现首例SQL注入攻击后,其攻击量不断增长。这些恶意查询的影响远远超出简单的数据外泄,其可能造成的破坏性也大于数据泄漏所导致的后果。这些攻击可用于提高特权、执行命令、感染或破坏数据、拒绝服务等。
如何防止SQL注入:
不信任用户的输入;
不使用动态拼接sql,可使用参数化的sql或直接使用存储过程进行数据查询存取;
不使用管理员权限的数据库连接;
对机密信息进行加密或hash掉密码和敏感信息;
应用异常尽可能少在web提示,最好使用自定义信息对应用的异常信息进行包装;
采用工具或网络平台检测是否存在SQL注入。
2、、XSS跨站脚本攻击
跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的方法。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网页时,特定的脚本就会以浏览者用 户的身份和权限来执行。通过XSS可以比较容易地修改用户数据、窃取用户信息,以及造成其它类型的攻击。
如何防止XSS跨站脚本攻击:
将重要的cookies标记为http only,这样JavaScript中的document.cookie语句就不能获取到cookie了;
只允许用户输入我们期望的数据,如年龄的textbox中只允许输入数字,其余过滤;
对数据进行Html Encode处理,如<转化为<;、&转化为&;
过滤或移除特殊的Html标签,如:script、iframe;
过滤JavaScript事件的标签,如“onclick=”、“onfocus”等等。
3、CSRF跨站请求伪造
CSRF,Cross-Site Request Forgery,是指攻击者通过伪装来自受信任用户的请求来利用受信任的站点,强制对已完成认证的用户进行非预期的个人信息或设定信息等某种状态更新,属于被动攻击。例如,利用已通过认证的用户权限更新设定信息、利用已通过认证的用户权限购买商品、利用已通过认证的用户权限在留言板上发表言论等。
如何防止CSRF跨站请求攻击:
在web站点,将持久化的授权(例如cookie或者http授权)切换为瞬时的授权方法(在每个form中提供隐藏field);
验证码,强化用户与应用的交互,但不是任何请求都加验证码;
“双提交”cookie;
使用Post代替Get;
检查请求header中的referer也能帮助组织CSRF攻击,但服务器不是总能拿到referer,有些浏览器出于安全会隐私考虑会不发referer,所以也不常用; 在浏览其它站点前退出登录站点或者浏览结束后清理浏览器cookies;
生成一个随机的token,在用户提交数据的同时提交这个token,服务器端对比后如果不正确,则拒绝执行操作。
4、OS命令注入
定义:与SQL类似,但注入对象针对操作系统,即能够在服务器上执行任意命令。从Web应用中通过Shell来调用操作系统命令,如果在Shell调用时存在漏洞,就可以执行攻击者的非法OS命令,也就是说,可以通过OS注入攻击执行OS上安装的各种程序。如,发送咨询邮件来注入攻击。
如何防止OS注入:
不调用外部程序;
过滤掉、;,[,],|,<,>,\之类的符号;
设置用户的权限。
5、分布式拒绝服务攻击(DDos)
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
如何防止DDos攻击:
定期扫描
配置防火墙
用足够的机器承受黑客攻击
充分利用网络设备保护网络资源
过滤不必要的服务和端口
检查访问者的来源
过滤所有RFC1918 IP地址
限制SYN/ICMP流量
6、其他攻击
参数篡改
定义:在URL中的某些参数或由用户输入的网页形式领域,数据都在没有得到用户授权的情况下改变了。导致浏览器指向一个不是用户想去的链接、网页或网站。
会话劫持
定义:在一次正常会话过程中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当进行监听,甚至可以是代替某一方主机接管会话。
解决方案
通过正确的方式,把http升级https
合理部署有效安全的SSL证书
对所有参数值进行校验;
根据session ID进行迁移,参数使用服务器端的值。
限制入网的连接;
设置网络拒绝接收假冒本地地址从互联网上发来的数据包;
加密,例如SSH。
SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密到通道。关于更多SSL证书的资讯,请关注GDCA(数安时代)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。