Web应用安全培训.ppt
《Web应用安全培训.ppt》由会员分享,可在线阅读,更多相关《Web应用安全培训.ppt(170页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1Web应用安全应用安全汪涛汪涛2009-102目录目录 Web Web对象直接引用对象直接引用二二三三四四 恶意代码执行恶意代码执行一一 背景背景 注入攻击注入攻击五五 跨站脚本攻击跨站脚本攻击六六 Google Hack Google Hack OWASP OWASP漏洞攻防漏洞攻防七七3WebWeb来源于来源于World Wide WebWorld Wide Web,WebWeb系统是系统是InternetInternet的重要组成部分,的重要组成部分,形形色色的形形色色的WebWeb系统正在改变着我们的生活:系统正在改变着我们的生活:网上购物网上汇款交费写博客Web小游戏竞选网上营业厅
2、Web丰富了我们的生活丰富了我们的生活4作为一种新型的市场渠道,网上营业厅能够为用户提供方便快捷的服务,能够作为一种新型的市场渠道,网上营业厅能够为用户提供方便快捷的服务,能够降低实体店铺的成本,因此在各大运营商市场战略中占有重要的位置。近年以降低实体店铺的成本,因此在各大运营商市场战略中占有重要的位置。近年以来,网上营业厅的安全问题越来越受到大众的关注,主要可以划分成来,网上营业厅的安全问题越来越受到大众的关注,主要可以划分成4 4个方面:个方面:Web安全的意义安全的意义工信部工信部网上营业厅如果被不法分子攻陷,那么可能以此为跳板进入网上营业厅如果被不法分子攻陷,那么可能以此为跳板进入运营
3、商的支撑网甚至核心网络,造成大面积通讯故障。运营商的支撑网甚至核心网络,造成大面积通讯故障。普通用户普通用户网上到处叫卖的个人通话详单查询服务已经对老百姓的隐私网上到处叫卖的个人通话详单查询服务已经对老百姓的隐私造成了极大的破坏。移动集团一直就很重视客户信息保密的造成了极大的破坏。移动集团一直就很重视客户信息保密的问题。问题。运营商运营商网上营业厅代表了企业对外的形象,每天访问用户数以万计,网上营业厅代表了企业对外的形象,每天访问用户数以万计,如果出现页面篡改、甚至网页挂马事件,对企业形象是巨大如果出现页面篡改、甚至网页挂马事件,对企业形象是巨大损失。损失。运营商运营商网上营业厅涉及充值交费等
4、交易业务,容易吸引不法分子的网上营业厅涉及充值交费等交易业务,容易吸引不法分子的眼球。如果利用安全漏洞造成交易欺诈,损害企业的经济利眼球。如果利用安全漏洞造成交易欺诈,损害企业的经济利益。益。5WebWeb系统逐渐成为企业安全边界之一系统逐渐成为企业安全边界之一应用层应用层攻击仅仅使用网络层的防护手段仅仅使用网络层的防护手段 (防火墙防火墙,SSL,IDS,SSL,IDS,加固加固)无法阻止或检测到应用层攻击无法阻止或检测到应用层攻击网络层应用层应用层作为安全边界的一部分,或许应用层作为安全边界的一部分,或许有巨大的漏洞有巨大的漏洞6而而WebWeb系统的安全性参差不齐系统的安全性参差不齐复杂
5、应用系统代码量大、开发人员多、难免出现疏忽;系统屡次升级、人员频繁变更,导致代码不一致;历史遗留系统、试运行系统等多个Web系统共同运行于同一台服务器上;开发人员未经过安全编码培训;定制开发系统的测试程度不如标准的产品;客户满意界面友好操作方便处理性能实现所有功能架构合理代码修改方便运行稳定没有bug不同模块低耦合相对安全性而言,相对安全性而言,开发人员更注重开发人员更注重系统功能!系统功能!开发进度与成本开发者的关注点开发者的关注点7定制开发的定制开发的WebWeb应用应用 =企业安全的阿基里斯之踵企业安全的阿基里斯之踵 “目前,目前,75%的攻击发生在应用层的攻击发生在应用层”Gartne
6、r,2006“2006年前年前9个月内新发现个月内新发现4,375 个漏洞个漏洞.Web漏洞是其中漏洞是其中最普遍的三类之一最普遍的三类之一.”Mitre Corp,09/2006,CVE的维护者“产品的定制开发是应用安全中最薄弱的一环产品的定制开发是应用安全中最薄弱的一环”.Gartner,09/2005“到到2009年年,80%的企业都将成为应用层攻击的受害者的企业都将成为应用层攻击的受害者”.Gartner,20078WebWeb攻击场景攻击场景攻击动机攻击动机攻击方法攻击方法攻击工具攻击工具系统漏洞系统漏洞防范措施防范措施攻击面(attack surface)Web服务器黑客9Web攻
7、击动机攻击动机常见常见WebWeb攻击动机攻击动机恶作剧;关闭Web站点,拒绝正常服务;篡改Web网页,损害企业名誉;免费浏览收费内容;盗窃用户隐私信息,例如Email;以用户身份登录执行非法操作,从而获取暴利;以此为跳板攻击企业内网其他系统;网页挂木马,攻击访问网页的特定用户群;仿冒系统发布方,诱骗用户执行危险操作,例如用木马替换正常下载文件,要求用户汇款等;常用的挂马常用的挂马exploitMS07-017 MS Windows Animated Cursor(.ANI)Remote ExploitMS07-019MS07-004 VML Remote Code ExecutionMS06
8、-073MS06-071 XML Core Services Remote Code ExecutionMS06-068MS06-067MS06-057 WebViewFolderIcod ActiveXMS06-055MS06-014 MDAC Remote Code ExecutionMS06-013MS06-005MS06-004MS06-00110Web攻击方法攻击方法常见常见WebWeb攻击方法攻击方法Google hack网页爬行暴力猜解Web漏洞扫描错误信息利用根据服务器版本寻找现有的攻击代码利用服务器配置漏洞文件上传下载构造恶意输入(SQL注入攻击、命令注入攻击、跨站脚本攻击)
9、HTTP协议攻击拒绝服务攻击其他攻击点利用(Web Services,Flash,Ajax,ActiveX,JavaApplet)业务逻辑测试收集系统相关的通用信息将系统所有能访问页面,所有的资源,路径展现出来URL、口令、数据库字段、文件名都可以暴力猜解,注意利用工具;利用Web漏洞扫描器,可以尽快发现一些明显的问题错误可能泄露服务器型号版本、数据库型号、路径、代码;搜索Google,CVE,BugTraq等漏洞库是否有相关的漏洞服务器后台管理页面,路径是否可以列表等是否可以上传恶意代码?是否可以任意下载系统文件?检查所有可以输入的地方:URL、参数、Post、Cookie、Referer、
10、Agent、系统是否进行了严格的校验?HTTP协议是文本协议,可利用回车换行做边界干扰用户输入是否可以影响服务器的执行?需要特殊工具才能利用这些攻击点复杂的业务逻辑中是否隐藏漏洞?11Web攻击工具:攻击工具:WebScarab特色:HTTP协议完全可见(可以完全操作所有的攻击点)支持HTTPS(包括客户端证书)全程数据与状态记录,可随时回顾http:/www.owasp.org OWASP=Open Web Application Security Project,OWASP是最权威的Web应用安全开源合作组织,其网站上有大量的Web应用安全工具与资料。Nokia是其成员之一WebScara
11、b是OWASP组织推出的开源工具,可应用于一切基于HTTP协议系统的调试与攻击;12访问资源名称GET与POST参数Referer与User AgentHTTP 方法CookieAjaxWeb ServiceFlash客户端Java AppletWeb攻击面:不仅仅是浏览器中可见的内容攻击面:不仅仅是浏览器中可见的内容POST/thepage.jsp?var1=page1.html HTTP/1.1Accept:*/*Referer:http:/ ID。它的网址为:http:/ ID,它的网址为:http:/cve.mitre.org/。CVE与Bugtraq漏洞库都会对确认的漏洞进行统一编号
12、,其编号是业界承认的统一标准,有助于避免混淆。在这些漏洞库中都可以查到大量的Web应用漏洞。14Web攻击漏洞:攻击漏洞:2007 OWASP Top 102007年3月,OWASP对最新的Web应用漏洞按类别进行排名,并将前十名的脆弱性类别编制成册。http:/www.owasp.org/index.php/OWASP_Top_Ten_Project其中前5名与SANS定期更新的Top20榜中Web应用脆弱性前5名基本一致。http:/www.sans.org/top20跨站脚本注入恶意代码引用不当CSRF152007 OWASP Top 10:第一名第四名:第一名第四名No.No.漏洞名称
13、漏洞名称简介简介举例举例A1跨站脚本Cross Site Scripting,简称为XSS如果Web应用没有对攻击者的输入进行适当的编码和过滤,就转发给其他用户的浏览器时,可能导致XSS漏洞。攻击者可利用XSS在其他用户的浏览器中运行恶意脚本,偷窃用户的会话,或是偷偷模拟用户执行非法的操作;发帖子,发消息A2注入Injection Flaws如果Web应用没有对攻击者的输入进行适当的编码和过滤,就用于构造数据库查询或操作系统命令时,可能导致注入漏洞。攻击者可利用注入漏洞诱使Web应用执行未预见的命令(即命令注入攻击)或数据库查询(即SQL注入攻击)。搜索用户A3恶意代码执行Malicious
14、File Execution如果Web应用允许用户上传文件,但对上传文件名未作适当的过滤时,用户可能上载恶意的脚本文件(通常是Web服务器支持的格式,如ASP,PHP等);脚本文件在Include子文件时,如果Include路径可以被用户输入影响,那么可能造成实际包含的是黑客指定的恶意代码;上述两种情况是造成恶意代码执行的最常见原因。上传附件,上传头像A4对象直接引用Insecure Direct Object Reference访问内部资源时,如果访问的路径(对文件而言是路径,对数据库而言是主键)可被攻击者篡改,而系统未作权限控制与检查的话,可能导致攻击者利用此访问其他未预见的资源;下载文件
15、162007 OWASP Top 10:第五名第十名:第五名第十名No.No.漏洞名称漏洞名称简介简介举例举例A5 跨站请求伪造Cross Site Request Forgery,简称为CSRFCSRF攻击即攻击者在用户未察觉的情况下,迫使用户的浏览器发起未预见的请求,其结果往往损害用户本身的利益。CSRF攻击大多利用Web应用的XSS漏洞,也有很多CSRF攻击没有利用XSS而是利用了HTML标签的特性。不明邮件中隐藏的html链接A6 信息泄露与错误处理不当Information Leakage and Improper Error HandlingWeb应用可能不经意地泄露其配置、服务器
16、版本、数据库查询语句、部署路径等信息,或是泄露用户的隐私。攻击者可利用这些弱点盗窃敏感信息。错误信息揭示路径A7 认证与会话管理不当Broken Authentication and Session Management如果Web应用的认证与会话处理不当,可能被攻击者利用来伪装其他用户身份A8 存储不安全Insecure Cryptographic Storge如果Web应用没有正确加密存储敏感信息,可能被攻击者盗取。例如攻击者可能通过SQL注入手段获取其他用户的密码,如果Web应用对密码进行了加密,就可以降低此类威胁。A9 通讯加密不安全Insecure Communication如果Web
17、应用没有对网络通讯中包含的敏感信息进行加密,可能被窃听A10 URL访问控制不当Failure to Restrict URL Access如果Web应用对URL访问控制不当,可能造成用户直接在浏览器中输入URL,访问不该访问的页面17OWASP TOP 10,您打算从哪里开始?,您打算从哪里开始?2345678910118目录目录 Web Web对象直接引用对象直接引用二二三三四四 恶意代码执行恶意代码执行一一 背景背景 注入攻击注入攻击五五 跨站脚本攻击跨站脚本攻击六六 Google Hack Google Hack OWASP OWASP漏洞攻防漏洞攻防七七192007 OWASP 第第
18、10名:名:URL访问控制不当访问控制不当举例:有的Web应用对页面权限控制不严,原因是缺乏统一规范的权限控制框架,导致部分页面可以直接从URL中访问,绕开登录认证。防范措施:统一规范权限控制。A10 URL访问控制不当Failure to Restrict URL Access如果Web应用对URL访问控制不当,可能造成用户直接在浏览器中输入URL,访问不该访问的页面202007 OWASP 第第9名名举例:网络窃听(Sniffer)可以捕获网络中流过的敏感信息,如密码,Cookie字段等。高级窃听者还可以进行ARP Spoof,中间人攻击。防范措施:通讯加密。A9 通讯加密不安全Insec
19、ure Communication如果Web应用没有对网络通讯中包含的敏感信息进行加密,可能被窃听Host AHost BRouter A Router B 212007 OWASP 第第8名名举例:很多Web应用将用户口令以明文的方式保存,一旦黑客能够通过其他漏洞获取这些口令,就可以伪造他人身份登录,包括系统管理员。建议:采用安全的算法加密保存口令。下面将举一个实例说明A8 存储不安全Insecure Cryptographic Storge如果Web应用没有正确加密存储敏感信息,可能被攻击者盗取。例如攻击者可能通过SQL注入手段获取其他用户的密码,如果Web应用对密码进行了加密,就可以降低
20、此类威胁。222007 OWASP 第第8名:名:Case vBulletinvBulletin 以MD5方式保存用户口令,然而其2.3.0版本存在一个SQL注入漏洞,可以通过此漏洞查询管理员密码的MD5值;Step 1:通过Google搜索vBulletin 2.3.0的特征,发现965.000项符合。这是这是Google Hack,后面会专门介绍后面会专门介绍232007 OWASP 第第8名:名:Case vBulletinStep 2:检查漏洞页面calendar.php能否访问。Step 3:由于该攻击利用了Union,要求MySQL版本高于4.0,因此通过下面的链接检查其MySQL
21、版本是否高于4.0。http:/ OWASP 第第8名:名:Case vBulletinStep 4:注册一个用户,在首页查看自己的ID。252007 OWASP 第第8名:名:Case vBulletinStep 5:通过下面的链接实现SQL注入攻击:http:/ OWASP 第第8名:名:Case vBulletinStep 6:访问http:/,输入MD5值反查密码为811028。现在很多Web应用已经开始用MD5算法保存用户密码,然而直接进行MD5并非安全算法。右图的Rainbow表就可以用于反查MD5值。Rainbow表利用了Hellman的存储-时间权衡算法,通过设计一个大数据量的
22、表来提高反查效率。27防范措施:防范措施:SALT学习Unix操作系统采用Salt技术来防范rainbow表攻击。Password随机随机SaltMD5Base64随机随机salt+Shadow文件中保存的内容文件中保存的内容Unix在保存用户口令时,会随机生成一个12字节的字符串作为salt,然后把salt与口令一起计算MD5,并将salt与结果保存在etc/shadow中。验证时将salt与用户输入口令结合计算MD5并与存储的结果比对。282007 OWASP 第第7名名举例:有的Web应用登录界面允许攻击者暴力猜解口令,在自动工具与字典表的帮助下,可以迅速找到弱密码用户。A7 认证与会话
23、管理不当Broken Authentication and Session Management如果Web应用的认证与会话处理不当,可能被攻击者利用来伪装其他用户身份防范措施:图片认证码,双因素认证29实验环境搭建实验环境搭建采用VMware 5.0,虚拟两台主机,构造一个虚拟局域网Window 2000 Server模拟Web服务器IP:192.168.230.2Window 2000 Professional已安装实验所需的攻击工具,模拟黑客机IP:192.168.230.3本地机模拟普通用户IP:192.168.230.1302007 OWASP 第第7名:名:Case Brute我们将
24、利用一个简单的Perl脚本对目标进行字典攻击;首先设定Perl运行环境,将bin目录添加到系统PATH中:学员练习学员练习10Min312007 OWASP 第第7名:名:Case Brute运行perl formbrute.pl,显示其命令参数如下:usage:formbrute.pl-U url:网址-m method(GET|POST):GET还是POST-u usernameFile:用户名字典文件-p passwordFile:密码字典文件-l loginVariable:Form中用户名的变量名称-w passVariable:Form中密码的变量名称-o otherVariabl
25、es(ie:submit=true&login=yes):其他变量-v proxyServer:代理-f failureString:失败后返回标记-s saveFilename:输出文件名-h request-headers(ie:Referer:abc&Cookie:ng=omo):其他HTTP头数据学员练习学员练习10Min322007 OWASP 第第7名:名:Case Brute启动WebScarab,开启抓包功能。同时在IE中设置代理:学员练习学员练习10Min332007 OWASP 第第7名:名:Case Brute在登录页面输入用户名aaa,密码bbb,点击登录,WebSca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 应用 安全 培训
限制150内