Web应用安全培训

上传人:我*** 文档编号:134481756 上传时间:2020-06-05 格式:PPT 页数:82 大小:980.50KB
返回 下载 相关 举报
Web应用安全培训_第1页
第1页 / 共82页
Web应用安全培训_第2页
第2页 / 共82页
Web应用安全培训_第3页
第3页 / 共82页
Web应用安全培训_第4页
第4页 / 共82页
Web应用安全培训_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《Web应用安全培训》由会员分享,可在线阅读,更多相关《Web应用安全培训(82页珍藏版)》请在金锄头文库上搜索。

1、Web应用安全培训 2007 09 18ye runguo 叶润国 培训提纲 Web应用程序和应用安全概念SQL注入攻击与防范跨站脚本攻击与防范 第一部分Web应用程序及其安全概念 Web应用程序构建实例 Web浏览器 IE Web服务器 IIS HTTPRequest HTTPResponse MSSQLDB TDS Webapplication Web应用程序 利用Web浏览器作为标准客户端 利用web服务器作为服务端 使用cgi程序处理用户的业务请求 常见的CGI有asp php jsp以及 net 一般将这些称为脚本语言 Web应用程序中的脚本语言分为两种 由Web服务端解释执行的脚本

2、语言 如ASP PHP JSP等由标准Web客户端解释执行的脚本语言 如VBScript Javascript 一个包含两种脚本语言的CGI程序 xss sample1 asp SQLInjectionfunctionshowhello alert hello howareyou Web页面的组成 Web页面为B S三层结构中的呈现层 可由以下对象组成 文字 图像 表单和客户端脚本一个Web页面往往是由多个文件组成 主HTML文件其它HTML文件 分帧情况下 图像文件 多媒体文件 引入文件 脚本 CSS Web应用安全 WebSecurityWeb会话和cookieServer sidesec

3、urityClient sidesecurity Web结构 client server结构 属于瘦客户类型的Browser Server 客户为浏览器 服务器为WebServer通常是多层 或三层 结构中的第一层在Web应用中 WebServer后面常常与数据库打交道B S之间的通讯协议 HTTPHTTP位于TCP之上 默认的端口为80客户发出对页面的请求 服务器送回这些页面动态页面和静态页面Web页面的表述和交互能力各种标记 超链接 交互功能 表单 脚本交互能力的扩展 JavaApplet ActiveX Web安全性 协议本身的安全性支持身份认证 BasicAuthentication

4、DigestAccessAuthentication保密性 TLS TransportLayerSecurity 实现上的安全服务器端安全性Webpages的访问控制机制可用性 防止拒绝服务抵御各种网络攻击客户端安全性个人信息的保护 防止执行恶意代码WebProxyServer Man In The Middle Web认证 BasicAuthentication RFC2617 口令直接明文传输隐患 sniffer 中间代理 假冒的服务器DigestAccessAuthentication RFC2617 Challenge Response 不传输口令重放攻击 中间人攻击服务器端的口令管理

5、策略TLS 基于PKI的认证单向或者双向的身份认证要求服务器提供证书 客户端证书可选同时也可以提供保密服务一种双向认证模式单向TLS认证 客户提供名字 口令 招商银行信任卡登录页面 Web会话 从TCP到HTTP层缺少直接的会话层支持Web会话支持HTTP1 1增加了PersistentConnections支持 但是不能用于提供Web会话的功能目前使用的会话技术Cookie 用cookie作为permitticket用url记录会话用表单中的隐藏元素记录会话会话安全 劫持一个Web会话建立会话可能需要验证用户的信息 认证一旦会话被劫持 则Web用户的安全性不复存在安全性涉及到客户如何提供会话

6、建立所需要的信息 以及会话标识信息服务器如何管理会话 Cookie技术 Cookie通常是少量的与状态有关的信息 它是服务器保存在客户端的信息Cookie的动机客户在浏览多个页面的时候 提供事务 transaction 的功能 为服务器提供状态管理比如说 可以针对每个用户实现购物篮实现授权策略 客户不用为每个页面输入 用户名 口令 但是 实际上 cookie很容易被滥用在提供个性化服务的时候 往往要收集一些涉及隐私的信息每个cookie都有一定的URL范围客户发送这个范围内的URL请求都要提供这个cookie Cookie规范 Set cookie语法 在HTTP应答头中Set Cookie

7、NAME VALUE expires DATE path PATH domain DOMAIN NAME secure例如 Set Cookie CUSTOMER WILE E COYOTE path expires Wednesday 09 Nov 9923 12 40GMTCookie语法 在HTTP请求头中Cookie NAME1 OPAQUE STRING1 NAME2 OPAQUE STRING2 例如 Cookie CUSTOMER WILE E COYOTE 利用cookie完成一个transaction 顾客名字 购物篮 购物方法 Cookie被滥用 Cookies中往往会记录

8、一些涉及用户隐私的信息 比如用户的名字 email地址等如果客户关闭了cookie的功能 则许多网站的功能不能正常工作Cookie被滥用的一个例子DoubleClick公司案例利用cookie来收集个人的喜好为广告客户提供广告发布服务个人喜好信息不能被滥用有些国家规定这些信息不能被公开 或者被销售等 Web服务器端安全性 服务器发布信息 提供服务静态信息 各种HTML页面动态信息 利用脚本或者各种扩展引擎响应客户的请求 Web服务器端安全性 安全性目录安全性只有指定范围的文件才可以被访问例如 禁止URL中出现 Cgi文件的安全性 此目录禁止通过Web读写检查每一个cgi文件 不要保留有漏洞的c

9、gi文件 特别是系统预装的一些cgi示例文件 这些文件往往为了说明功能 而忽略了安全性的考虑要求认证 由于协商的原因 要注意安全性最低的认证协议授权机制 保护好口令的安全存储 以及客户信息的保存日志 打开系统中对于Web服务的日志功能 以及Web服务的日志记录 针对WebServer的常见攻击 从Web服务中获取信息Web页面中的注解信息 或者一些扩展特性返回的应答头有时也会暴露信息针对WebServer的各种攻击手法CGI攻击 比如说IIS的UNICODE漏洞 缓冲区溢出输入验证攻击拒绝服务攻击跨站脚本攻击 XSS SQL注入攻击 SQLIA Web客户端的安全性 客户端安全性涉及到Cook

10、ie的设置 保护用户的隐私PKI设置 确定哪些是可信任的CA对可执行代码的限制 包括JavaApplet ActiveXcontrol如果你的机器是多个人合用的 则Web页面的缓存区域 将会留下用户最近访问过的页面历史记录口令自动保存和提示 ActiveXcontrol的安全性 下载ActiveXcontrol通过数字签名来识别control的受信任程度验证数字签名 PKI中的可信任根CA安装和注册ActiveXcontrol已经在调用ActiveXcontrol的代码了它可以自己声明自己是安全的 操纵注册表 对象的初始化创建对象 并且对对象进行初始化 ActiveXcontrol是一个持久对

11、象对象的脚本操作通过脚本调用对象的方法 ActiveDocument 脚本攻击技术 SQL注入技术跨站脚本攻击技术 第二部分SQL注入攻击介绍 SQL注入概念 English TheabilitytoinjectSQLcommandsintothedatabaseenginethroughanexistingapplication 中文 利用现有应用程序不对输入数据进行过滤的缺陷 将恶意的SQL命令注入到后台数据库引擎执行 达到偷取数据甚至控制数据库服务器的目的 SQL注入攻击存在的根源 动态SQL语句惹的祸 基于Web的SQL注入攻击危害性最大拥有Internet访问权限的人都能够执行SQL

12、IASQLIA可以穿透防火墙 轻松躲避现有IDS检测 SQL注入攻击例子 1 JAVA中的动态SQL语句构造queryString SELECTinfoFROMuserTableWHERElogin login ANDpin pin JAVA中的动态SQL语句的提交执行ResultSettempSet stmt execute queryString 存在SQLIA的Checkpass asp程序 Setconn Server CreateObject ADODB Connection conn open testpubs sa 123456 SetSQLStmt Server CreateO

13、bject ADODB Command SetRS Server CreateObject ADODB Recordset Request Method Request ServerVariables REQUEST METHOD username Request Form username password Request Form password CMD selectcount fromuserswhereusername username andpassword password SQLStmt CommandText CommandStringSQLStmt CommandType

14、1SetSQLStmt ActiveConnection ConnRS OpenSQLStmtif RS 0 0 thenResponse write 用户登录成功 欢迎光临 elseResponse write 用户名未找到或密码错误 endifConn Close SetConn Nothing SQL注入攻击例子 NormalUsageUsersubmitslogin xiaoye andpin 123456 SELECTcount FROMusersWHERElogin xiaoye ANDpin 123456 MaliciousUsageAttackersubmits xiaoye

15、andpinof 0 SELECTcount FROMusersWHERElogin xiaoye ANDpin 0 存在SQLIA的Checkpass1 asp Setconn Server CreateObject ADODB Connection conn open testpubs sa 123456 SetSQLStmt Server CreateObject ADODB Command SetRS Server CreateObject ADODB Recordset Request Method Request ServerVariables REQUEST METHOD use

16、rname Request Form username password Request Form password CMD selectuserser passwordfromuserswhereusername username andpassword password SQLStmt CommandText CommandStringSQLStmt CommandType 1SetSQLStmt ActiveConnection ConnRS OpenSQLStmtif RS 0 usernameandRS 1 password thenResponse write 用户登录成功 欢迎光临 elseResponse write 用户名未找到或密码错误 endifConn CloseSetConn Nothing SQL注入漏洞的根源 后台数据库允许动态SQL语句的执行前端应用程序未对用户输入的数据或者页面中所携带的信息 如Cookie 进行必要的安全检查 SQL注入的危害 SQL注入攻击是威胁Web安全的三大攻击手段之一 存在SQL注入漏洞的Web站点被成功攻击之后 产生的后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号