Web应用的攻击及防御技术.ppt
文本预览下载声明
Web应用体系结构 传统C/S架构的计算?B/S架构 “痩”客户端: Browser (Web客户端) “厚”服务器: Web服务器、Web应用程序、数据库… 通讯机制: HTTP/HTTPS Web服务器与动态编程技术 Web服务器软件 HTTP守护进程 各种Web动态编程语言支持 主流:MS+LAMP Web应用安全威胁 Google Hacking DataBase Web应用程序安全漏洞类型列表 Web应用程序安全漏洞类型列表 非持久性XSS攻击过程 攻击Web数据内容 ? 安全敏感信息泄露 ? 网站内容篡改 ? 不良信息内容上传 2011年3月6日 31 敏感信息泄漏 ? 敏感信息类型 ? GF、BM等科研敏感信息 ? 教师、学生个人隐私信息 ? 网络安全敏感信息 ? 通常的信息泄漏途径和方式 ? ? ? ? 未关闭Web服务器的目录遍历,不经意泄漏 Upload、Incoming等目录中转文件时泄漏 缺乏安全意识,在公开的文档中包含个人隐私信息 在公开的个人简历、职称晋升材料、课题申请书等 包含科研敏感信息 32 高校网站泄漏科研敏感信息实例 33 网页内容篡改 ? 2008年9月:北大/清华网站被黑,假冒 校长发文 34 网页篡改站点列表 35 /30 网页篡改站点列表(2) 36 /60 不良信息内容上传威胁 ? 网站面临的不良信息内容威胁 ? 网站被攻陷后可能成为不良信息的存储和中转仓库 ? 提供用户交互的论坛/博客等网站可能涉及用户上传 不良信息 37 /30 不良信息内容上传-违法内容 38 /60 2011年3月6日 2 内容 1. Web应用程序体系结构及其安全威胁 2. Web应用安全攻防技术概述 3. SQL注入 4. 课堂实践:具体SQL注入漏洞测试 5. XSS跨站脚本攻击 6. 课外实践作业:SEED SQL注入攻击 实验 | SEED XSS攻击实验 代码注入攻击 ? 代码注入攻击 ? Web应用程序的输入验证不完善漏洞 ? 执行由攻击者所注入的恶意指令和代码 ? 敏感信息泄露、权限提升或对系统的未授权访问 ? 多样化的代码注入攻击类型 ? SQL注入攻击:恶意读取、修改与操纵数据库; ? PHP注入或ASP注入攻击:植入和运行 Webshell ? Shell注入攻击:恶意执行操作系统命令的; 日 络 术与 践 程网 攻防技 实 课 ? 其他多样化注入攻击:LDAP注入、邮件命令注入、SSI 2011年3月6注入、XPath注入、XML注入、XQuery注入等 3 2011年3月6日 4 SQL注入攻击 (SQ L Injection) ? SQL注入攻击对Web应用程序的威胁 ? 相当大部分Web应用程序使用后台数据库,动态产 生内容 ? SQL注入攻击: 利用Web应用程序数据层存在的输 入验证不完善型安全漏洞实施的一类代码注入攻击 技术。 ? SQL注入漏洞机制 ? 用户输入没有被正确地过滤:转义字符(引号、反引 号、双下划线、分号、百分号) ? 没有进行严格类型检查:未判断输入是否预定类型 SQL注入攻击原理 ? 表示层:表单或URL输入参数 用户输入 ? 业务逻辑层:通过用户输入参数构造SQL语句 ? 不完善的输入验证机制 ? 数据层:通过数据连接执行SQL语句 ? 触发恶意数据库操作 2011年3月6日 5 2011年3月6日 6 SQL注入攻击原理解析 ? 表示层:request表单 ? 业务逻辑层:login.asp ? 数据层:后台MS SQL Server inputusername = request.form(username) inputpasswd = request.form(passwd) set cn = Server.CreateObject(ADODB.Connection) cn.Open Driver={SQL Server};Server=WEBSVR;DataBase=WebDB;UID=sa;WD=123; set rso = server.CreateObject(ADODB.RecordSet) sql = SELECT * FROM accounts WHERE username = inputusername AND passwd = inputpasswd rso.Open sql, cn if rso.eof then response.write(login error: username or passwd incorrect)
显示全部