禹立宏++何养育
摘 要
随着电子商务、电子政务、网上银行、证券、手机上网等业务的飞速发展, Web已成为主要的网络应用技术,本文重点对SQL注入攻击、跨站脚本攻击、网页挂马和社会工程学攻击等几种WEB攻击方式的定义、原理及危害进行了论述,最后提出了WEB攻击的防范方法。
【关键词】WEB攻击 防范
随着电子商务、电子政务、网上银行、证券、手机上网等业务的飞速发展,Web已成为主要的网络应用技术,据CNCERT统计显示,Web 流量已经占据整个TCP 流量的80%以上。与此同时,WEB攻击也大量增长,其已经占互联网攻击总数的75%,我国每年被篡改的网站就高达四万个,WEB攻击已经形成了一条组织严密、分工明确的黑色产业链,严重地危害着政治、经济和社会生活。
WEB攻击的主要方式有:SQL注入攻击、跨站脚本攻击、网页挂马和社会工程学攻击等。本文重点论述上述几种攻击定义、原理及危害,最后提出了WEB攻击的防范方法。
1 常见WEB攻击原理
1.1 SQL注入攻击
1.1.1 SQL注入攻击的定义
攻击者利用WEB应用程序对用户输入验证上的疏忽,在输入的数据中加入对某些数据库系统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后台数据库乃至整个应用系统的入侵。
1.1.2 SQL注入攻击的基本原理
(1)寻找注入点:非常实用和经典的寻找注入点方法是在参数后面跟上单引号或and 1=1, and 1=2判断返回网页是否正常。
(2)判断数据库类型:根据注入请求返回的出错信息、网站的脚本类型来判断或猜测。判断数据库类型对SQL注入非常重要,这是由于不同数据库的SQL语句、系统表、函数及扩展功能差异会非常大,这直接会影响接下来的SQL注入语句的选择。
(3)获取数据库内容:获取数据库内容的方法有两种,一是根据注入请求返回的出错信息直接获取数据库表、字段和记录,注入速度较快;二是根据构造注入语句返回差异来逐步猜解数据库内容,注入速度较慢。
(4)尝试写入WEBSHELL:网站后台往往能够提供比前台更多的权限,但对整个网站而言,权限还不够,需要设法上传WEBSHELL来获取更大的权限。通常方法有通过SQL注入语句写文件、利用后台的备份和上传功能等。
1.2 跨站脚本攻击
1.2.1 跨站脚本攻击的定义
跨站脚本攻击又叫XSS或CSS (Cross Site Script) 。它是指恶意攻击者往WEB页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。它可分为存储型和反射型两种跨站脚本攻击。
1.2.2 跨站脚本攻击的原理
存储型跨站脚本攻击原理:将攻击代码提交到服务器端的数据库或文件系统中,不用构造URL,而是保存在文章或论坛帖子中,从而使得访问该页面的用户都有可能受到攻击。
反射型跨站脚本攻击原理:在存在XSS漏洞网页的URL中插入脚本程序构造URL,将URL通过邮件等发送给用户(钓鱼),当用户点击链接时,执行攻击者的脚本,一般是窃取用户的cookie等个人数据、将用户导向恶意网站等。
1.2.3 跨站脚本攻击的危害
该攻击的危害有盗取各类用户帐号,如网银、管理员等帐号;欺骗浏览器访问钓鱼网站,以骗取账号密码等个人信息;将使用者浏览器导向恶意网站,向使用者计算机下载并安装恶意后门程序等。
1.3 网页挂马攻击
1.3.1 网页挂马攻击的定义
网页挂马攻击就是攻击者通过在正常的页面中插入一段恶意代码。若浏览者的浏览器或浏览器加载的组件存在漏洞,那么他在打开该页面的时候,这段代码被执行,然后下载并运行某木马的服务器端程序。
1.3.2 网页挂马攻击的原理
(1)iframe式挂马:攻击者利用大小为0的iframe标签,将恶意代码偷偷加载到网页中。
(2)JS脚本挂马:利用js脚本文件调用恶意代码。
(3)CSS挂马:CSS是网页的样式文件,攻击者往往将恶意代码隐藏至CSS文件中。
(4)ARP挂马:攻击者已经获取局域网内某台服务器的权限,利用该服务器实施ARP欺骗攻击,对局域网内其它服务器而言,它伪装成网关,对网关而言,它伪装成服务器,这样它就截获了其它服务器与网关之间的通信,并在HTTP通信的响应中插入恶意代码,这种挂马方式会影响整个局域网,危害巨大。
1.4 其它方式WEB攻击
1.4.1 信息泄漏
一般通过提交特殊的错误参数,WEB服务器返回特定的详细的敏感信息,漏洞成因一般有:WEB程序对错误处理不严、服务器配置不当、WEB开发和管理不当等。
1.4.2 社会工程学
社会工程学攻击是指通过搜集攻击目标相关信息甚至直接与攻击目标相接触等非技术的手段实施攻击的办法,在收集到攻击目标足够多的信息时,社会工程学的能量是十分强大和恐怖的,但却往往被人忽视。
1.4.3 上传漏洞
上传漏洞是指利用上传功能,绕过上传文件安全控制,通常方法有:仅本地js安全控制检测文件格式类型;Content-type判断绕过;空字节绕过。
2 WEB攻击防范
WEB攻击防范主要通过客户端加固、WEB漏洞扫描、WEB应用防火墙、DDoS防护系统WEB应用主机加固、WEB应用代码分析等方法来实现。
2.1 客户端加固
主要针对XSS、仿冒、网页木马等攻击对客户端浏览器进行加固防护。
2.2 WEB漏洞扫描
采用基于规则的匹配技术,即基于一套基于专家经验事先定义的规则的匹配系统,针对某一具体漏洞,编写对应的外部测试脚本,通过调用服务检测插件,检测目标主机漏洞信息。
2.3 WEB应用防火墙
简称WAF,工作在应用层,对来自WEB应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求将予以实时阻断,从而对各类网站进行有效防护。
2.4 DDoS攻击防护产品
用以发现网络流量中各种类型的攻击流量,针对攻击类型迅速对攻击流量进行拦截,保证正常流量的通过。
2.5 WEB应用主机加固
WEB应用主机加固工具主要实时截取和分析软件的执行流或交互的协议流,实时发现和过滤攻击。
2.6 WEB应用代码分析
WEB应用代码安全分析软件,通过对软件进行代码扫描,可以找出潜在的风险,从而对软件进行检测,提高代码的安全性。主要通过数据流分析、语义分析、结构分析、控制流分析等手段,结合软件安全规则和知识库,最大程度上降低代码风险。
参考文献
[1]Web安全测试[M].清华大学出版社,2010.
[2]SQL注入攻击与防御(第2版)[M].北京:清华大学出版社,2013.
[3]黑客Web脚本攻击与防御技术核心剖析[M].北京:科学出版社,2010.
作者单位
66471部队工程师 内蒙古自治区呼和浩特市 010050