第6章Web应用安全

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第六章Web应用安全2Web来源于WorldWideWeb,Web系统是Internet的重要组成部分,形形色色的Web系统正在改变着我们的生活,可以说WEB已经成为Internet上最重要的应用。网上购物网上汇款交费写博客Web小游戏竞选网上营业厅背景3WEB的安全性问题由于WEB浏览器通常都具有良好的图形用户界面,并且集成了对多种应用的支持;java等技术的引入使得WEB具有了更强的交互性来支持各种网络应用,基于HTTP协议的WEB技术来实现已成为一种普遍的趋势,因此目前绝大多数网络服务都倾向于采用WEB的方式来向用户提供服务。WEB的安全性问题的原因。HTTP协议的安全性是非常脆弱的;服务实现上的复杂性系统的配置和管理趋于复杂化,导致许多的安全隐患WEB最终用户常常是未经训练或不了解系统安全细节的用户。对应的:增强的安全协议工具的升级、配置与编码的规范基本的安全培训,严格的编码控制4WEB安全威胁——威胁的位置(1)对WEB服务器的攻击;(2)对WEB浏览器的攻击;(3)对浏览器与服务器间通信流量的攻击。计算机系统的安全性来保障网络安全协议来保障5WEB技术所面临的安全威胁——威胁的后果(1)对信息完整性的攻击:试图修改用户数据;利用特洛伊木马攻击客户浏览器;修改传输中的报文通信量(2)对信息保密性的攻击:网络窃听数据信息;网络窃取网络配置信息(3)拒绝服务攻击:目标阻止受攻击者访问特定资源;目的是合法用户使用网络资源(4)对身份认证攻击:假冒合法用户获取服务权限;假冒服务器欺骗用户6Web安全性威胁与对策7如何保证Web应用安全首先需要保证服务器系统和客户工作站系统安全,因为系统安全是整个应用安全保障的基础。在此基础上,Web应用的安全性实现主要依赖于应用协议的安全性和网络通信的安全性,安全通信协议是附加在TCP/IP协议栈中的一系列安全机制。一般来说已经包含在系统或编码框架里面。可以从以下三个方面来考虑:1、保证WEB服务器的安全2、保证WEB浏览器的安全3、保证传输过程中的安全8Web服务器安全1、Web服务器存在的漏洞1)Web服务器因各种原因而不能返回客户要访问的秘密文件、目录或重要数据。2)远程用户向服务器发送信息时,特别是像信用卡之类的重要信息时,中途遭不法分子非法拦截。3)入侵者可能突破Web服务器本身存在的一些漏洞,破坏其中的一些重要数据,甚至造成系统瘫痪。4)CGI(CommonGatewayInterface,公共网关接口)安全方面存在的漏洞。CGI可能的漏洞有:有意或无意地在主机系统中遗漏bug,给非法黑客创造条件;用CGI脚本编写的程序在涉及远程用户从浏览器中输入表单或进行检索(SearchIndex)时,会给Web主机系统造成危险。因此,从CGI角度考虑Web的安全性,主要是在编制程序时,应详细考虑到安全因素,尽量避免CGI程序中存在漏洞。9Web服务器安全2、Web服务器安全策略1)定义安全资源、进行重要等级划分2)进行安全风险评估3)制定安全策略的基本原则4)建立安全培训制度5)具有意外事件处理措施3、认真组织WEB服务器1)认真选择web服务器设备和相关软件2)仔细配置web服务器3)谨慎组织web服务器的相关内容4)安全管理web服务器5)具有意外事件处理措施10Web浏览器安全1、浏览器自动引发的应用2、WEB页面或者下载文件中内嵌的恶意代码3、浏览器本身的漏洞4、浏览器泄露的敏感信息5、web欺骗11Web应用的攻击模式介绍防火墙加固OSWeb服务器应用服务器防火墙数据库历史遗留系统WebServices文件目录人力系统计费系统定制的应用程序应用层攻击仅仅使用网络层的防护手段(防火墙,SSL,IDS,加固)无法阻止或检测到应用层攻击网络层应用层应用层作为安全边界的一部分,或许有巨大的漏洞12而Web系统的安全性参差不齐……复杂应用系统代码量大、开发人员多、难免出现疏忽;系统屡次升级、人员频繁变更,导致代码不一致;历史遗留系统、试运行系统等多个Web系统共同运行于同一台服务器上;开发人员未经过安全编码培训;定制开发系统的测试程度不如标准的产品;……客户满意界面友好操作方便处理性能实现所有功能架构合理代码修改方便运行稳定没有bug不同模块低耦合相对安全性而言,开发人员更注重系统功能!开发进度与成本开发者的关注点13Web攻击场景攻击动机攻击方法攻击工具系统漏洞防范措施攻击面(attacksurface)Web服务器黑客14Web攻击动机常见Web攻击动机恶作剧;关闭Web站点,拒绝正常服务;篡改Web网页,损害企业名誉;免费浏览收费内容;盗窃用户隐私信息,例如Email;以用户身份登录执行非法操作,从而获取暴利;以此为跳板攻击企业内网其他系统;网页挂木马,攻击访问网页的特定用户群;仿冒系统发布方,诱骗用户执行危险操作,例如用木马替换正常下载文件,要求用户汇款等;……常用的挂马exploitMS07-017MSWindowsAnimatedCursor(.ANI)RemoteExploitMS07-019MS07-004VMLRemoteCodeExecutionMS06-073MS06-071XMLCoreServicesRemoteCodeExecutionMS06-068MS06-067MS06-057WebViewFolderIcodActiveXMS06-055MS06-014MDACRemoteCodeExecutionMS06-013MS06-005MS06-004MS06-00115Web攻击方法常见Web攻击方法Googlehack网页爬行暴力猜解Web漏洞扫描错误信息利用根据服务器版本寻找现有的攻击代码利用服务器配置漏洞文件上传下载构造恶意输入(SQL注入攻击、命令注入攻击、跨站脚本攻击)HTTP协议攻击拒绝服务攻击其他攻击点利用(WebServices,Flash,Ajax,ActiveX,JavaApplet)业务逻辑测试……收集系统相关的通用信息将系统所有能访问页面,所有的资源,路径展现出来URL、口令、数据库字段、文件名都可以暴力猜解,注意利用工具;利用Web漏洞扫描器,可以尽快发现一些明显的问题错误可能泄露服务器型号版本、数据库型号、路径、代码;搜索Google,CVE,BugTraq等漏洞库是否有相关的漏洞服务器后台管理页面,路径是否可以列表等是否可以上传恶意代码?是否可以任意下载系统文件?检查所有可以输入的地方:URL、参数、Post、Cookie、Referer、Agent、……系统是否进行了严格的校验?HTTP协议是文本协议,可利用回车换行做边界干扰用户输入是否可以影响服务器的执行?需要特殊工具才能利用这些攻击点复杂的业务逻辑中是否隐藏漏洞?16Web攻击工具:WebScarab特色:HTTP协议完全可见(可以完全操作所有的攻击点)支持HTTPS(包括客户端证书)全程数据与状态记录,可随时回顾=OpenWebApplicationSecurityProject,OWASP是最权威的Web应用安全开源合作组织,其网站上有大量的Web应用安全工具与资料。Nokia是其成员之一WebScarab是OWASP组织推出的开源工具,可应用于一切基于HTTP协议系统的调试与攻击;17访问资源名称GET与POST参数Referer与UserAgentHTTP方法CookieAjaxWebServiceFlash客户端JavaAppletWeb攻击面:不仅仅是浏览器中可见的内容POST/thepage.jsp?var1=page1.htmlHTTP/1.1Accept:*/*Referer::en-us,de;q=0.5Accept-Encoding:gzip,deflateContent-Type:application/x-:Mozilla/4.0Host::JSESSIONID=0000dITLGLqhz1dKkPEtpoYqbN2uid=fred&password=secret&pagestyle=default.css&action=login直接可在浏览器中利用的输入所有输入点更多输入点黑客实际利用的输入点18Web攻击漏洞:安全漏洞库Securityfocus网站的漏洞库名称为Bugtraq,它给每个漏洞编号叫BugtraqID。它的网址为:。Cve是和Bugtraq齐名的漏洞库,它给漏洞库编号叫CVEID,它的网址为:。CVE与Bugtraq漏洞库都会对确认的漏洞进行统一编号,其编号是业界承认的统一标准,有助于避免混淆。在这些漏洞库中都可以查到大量的Web应用漏洞。19常见web攻击20恶意代码执行A3恶意代码执行MaliciousFileExecution如果Web应用允许用户上传文件,但对上传文件名未作适当的过滤时,用户可能上载恶意的脚本文件(通常是Web服务器支持的格式,如ASP,PHP等);脚本文件在Include子文件时,如果Include路径可以被用户输入影响,那么可能造成实际包含的是黑客指定的恶意代码;上述两种情况是造成恶意代码执行的最常见原因。目标:将WebShell或木马程序上传到服务器中!方法:一种情况是Web应用提供了上传接口;还有一种情况是通过SQL注入直接利用底层数据库或操作系统的上传接口。第二种方法在SQL注入部分再介绍。21恶意代码执行:Casedvbbs‘将提交表单的filepath字段赋值给formPath变量formPath=upload.form(filepath)……‘检查文件扩展名,必须是图像文件ifCheckFileExt(fileEXT)=falsethen……’利用formPath变量生成最终保存在服务器的文件名filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&.&fileExt……‘存盘file.SaveToFileServer.mappath(filename)filepathformPathfilename存盘用户输入Dvbbs是国内著名的开源论坛,其7.2SP2版本以下都存在一个严重的任意文件上传漏洞。漏洞点在用户修改个人资料时允许从本地上传图像做头像,主要代码片段如下(upfile.asp):22恶意代码执行:CasedvbbsStep1.注册一个普通用户,并修改基本资料,其中提供了头像上传界面。23恶意代码执行:CasedvbbsStep2.为了更仔细了解这个页面,我们使用IE的查看源码功能,发现文件上传是一个Iframe.Step3.直接在IE中访问这个iframe页面,出现了一个简洁的上传接口.24恶意代码执行:CasedvbbsStep4.再仔细查看这个页面的源代码,发现filepath字段.可惜是隐藏的,注意编码方式:multipart/form-data。Step5.打开WebScarab,设置IE代理为本地8008端口,并使用WebScarab的揭示隐藏字段的功能:揭示隐藏字段25恶意代码执行:CasedvbbsStep6.我们在filepath后面追加上\web.asp@然后把我们要上传的恶意asp文件(一个asp编写的远程控制页面,也即通常说的WebShell)改名为web.jpg,上传;结果如下:失败上传按钮变灰,且左下角提示

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功