当前位置:文档之家› 第4章网络安全-1概述

第4章网络安全-1概述

23
DOM-Based XSS(基于DOM的XSS)

此形式的XSS漏洞涉及到基于DOM或者为本地跨站脚本的 漏洞。此类型漏洞存在于页面中客户端脚本自身。例如:如 果 JavaScript代码访问URL请求参数并使用这个信息在自身所在 的页面中输出一些HTML,而这个信息没有使用HTML实体编码 ,因为这个被输出的 HTML数据(可能包含附加的客户端脚本 )可以重新被浏览器进行解释执行,所以出现了此类型的XSS 漏洞。(DOM:文档对象模型)
在服务器上执行 Shell 命令 Execute,获取控制权。
跨站脚本攻击和SQL注入攻击分析
• 跨站脚本攻击(CSS or XSS)和SQL注入攻击(SQL injection)是web应用中最常见的2类攻击; • 跨站脚本攻击和SQL注入攻击的原因是应用程序没有对用户 输入的数据做验证、过滤或验证过滤不彻底而引起; • 跨站脚本攻击和SQL注入攻击的实质是系统把用户输入的数 据当成程序来执行 跨站脚本攻击是把恶意用户输入的数据当作能在web浏览器 (如IE)中能执行的脚本(如JavaScript、VBScript、 ActiveX或Flash ),往往用来盗取合法用户的web浏览器 的cookie与session信息( 往往有用户名、密码、银行卡 号等信息); SQL注入攻击是把恶意用户输入的数据当作sql语句或sql语 句的一部分,使恶意用户能执行任意未授权的sql语句。
应用威胁
跨网站脚本攻击 注入攻击 恶意文件执行
负面影响
标识盗窃,敏感数据丢失…
后果
IT技术可以模拟合法用户, 控制其帐户。
通过构造查询对数据库、LDAP IT技术可以访问后端数据 和其他系统进行非法查询。 库信息,修改、盗窃。
被修改的站点将所有交易 传送给IT技术 Web 应用返回敏感文件内 不安全对象引用 IT技术访问敏感文件和资源 容 IT技术调用 Blind 动作,模拟合 IT技术发起 Blind 请求,要 伪造跨站点请求 法用户 求进行转帐 信息泄漏和不正确的 恶意的系统检测可能有助 IT技术得到详细系统信息 错误处理 于更深入的攻击 被破坏的认证和 Session token 没有被很好的保 在用户退出系统后,IT技 Session 管理 护 术能够盗窃 session。 过于简单的加密技术导致IT技 隐秘信息被IT技术解密盗 不安全的密码存储 术破解编密码 窃 IT技术可以通过嗅探器嗅 敏感信息在不安全通道中以非 不安全的通讯 探敏感信息,模拟合法用 加密方式传送 户。 IT技术可以访问非授权的资源 IT技术可以强行访问一些 URL 访问限制失效 连接 登陆网页、历史网页。
1、攻击者发送一个恶意构造的web页面的URL给受害者(通过电子邮件或者其 它机制)。 2、受害者点击该链接。 3、恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在受害 者电脑上。 4、具有漏洞的HTML页面包含了在受害者电脑本地域执行的JavaScript。 5、攻击者的恶意脚本可以在受害者的电脑上,以受害者的权限执行命令。
4
安全威胁实例(续)
– 查看邮件时被录像 – 机器D附近的无线电接收装置接收到显示器发射的信 号并且重现出来 – 屏幕记录程序保存了屏幕信息 – 浏览邮件时的临时文件被其他用户打开 – 浏览器cache了网页信息 – 临时文件仅仅被简单删除,但是硬盘上还有信息 – 由于DNS攻击,连接到错误的站点,泄漏了用户名 和密码 – 由于网络感染了病毒,主干网瘫痪,无法访问服务器 – 服务器被DoS攻击,无法提供服务 5
1) 2) 3) 4) 5)
6)
网络服务的安全问题
1. 2. 3. 4. 5. 6. Web服务的安全问题 FTP服务的安全问题 Telnet的安全问题 电子邮件的安全问题 DNS的安全问题 路由服务漏洞
8
1. Web服务的安全问题

操作系统本身的安全漏洞 明文或弱口令漏洞 Web服务器本身存在的一些漏洞 脚本程序的漏洞 Web欺骗
1、张三经常浏览某个网站,此网站为李四所拥有。李四的站点要求张三使用用 户名/密码进行登录,并存储敏感信息(比如银行帐户信息)。 2、攻击者发现李四的站点包含反射式的XSS漏洞。 3、攻击者编写一个利用漏洞的URL,并将其冒充为来自李四的邮件发送给张三。 4、张三在登录到李四站点后,浏览攻击者提供的URL。 5、嵌入到URL中的恶意脚本在张三的浏览器中执行,就像它直接来自李四的服务 器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在张三完全不 知情的情况下将这些信息发送到攻击者的web站点。
12
5.DNS的安全问题
域名欺骗
网络信息泄漏
服务器拒绝服务 远程漏洞
13
6.路由服务漏洞
将受控机器的IP地址设置为路由器的IP地址,引起IP地址冲突,破坏
路由器的正常运行机制。
破坏和干扰路由服务器的域名解析。 将受控机器的物理地址随机配置为路由器的物理地址,干扰路由器的
运行。
构造垃圾网络数据包,发送给路由器,造成拒绝服务攻击。 劫持路由器之间的会话连接。 破解路由器的弱口令。 伪造路由更新消息。
跨站点脚本攻击(XSS)
跨站点脚本攻击过程示例
• 在上图中,恶意攻击者(这里使用 表示) 通过 E-mail 或 HTTP 将某银行的网址链接发给用 户(银行用 表示),该链接中附加了恶 意的脚本(上图步骤一);用户访问发来的链接, 进入银行网站,同时,嵌在链接中的脚本被用户的 浏览器执行(上图步骤二、三);用户在银行网站 的所有操作,包括用户的 cookie 和 session 信 息,都被脚本收集到,并且在用户毫不知情的情况 下发送给恶意攻击者(上图步骤四);恶意攻击者 使用偷来的 session 信息,伪装成该用户,进入 银行网站,进行非法活动(上图步骤五)。
算法考虑不周
线缆连接
物理威胁
特洛伊木马
更新或下载
3
安全威胁实例
• 用户使用一台计算机D访问位于网络中心服务 器S上的webmail邮件服务,存在的安全威胁:
– U在输入用户名和口令时被录像 – 机器D上有key logger程序,记录了用户名和口令 – 机器D上存放用户名和密码的内存对其他进程可读, 其他进程读取了信息,或这段内存没有被清0就分 配给了别的进程,其他进程读取了信息 – 用户名和密码被自动保存了 – 用户名和密码在网络上传输时被监听(共享介质、 或arp伪造) – 机器D上被设置了代理,经过代理被监听
常见的web应用安全问题
(1)跨站脚本攻击(CSS or XSS, Cross Site Scripting)约占总比例的25% (2)SQL注入攻击(SQL injection)- 约占总比例的20% (3)远程命令执行(Code execution) (4)目录遍历(Directory traversal) (5) 脚本代码暴露(Script source code disclosure) (6)信息泄漏和不正确的错误处理(Information Leakage and Improper Error Handling ); (7) 损坏的认证和 Session 管理(Broken Authentication & Session Management); (8)不安全的密码存储(Insecure Cryptographic Storage);
14
Web应用系统的安全
信息安全 =网络的安全+各类应用系统的安全+IT人员 网络是路,网络上的应用系统是车,开 车的司机是IT管理与运维人员,信息是车上 的乘客与物品。 据美国IDC公司2006-2009年统计,70%以 上的企业是因为应用系统自身的安全问题而 遭到黑客的攻击,并不是因为网络。
15
安全事件
2014年4月8日,微软停止对Windows XP发放补丁
2014年4月8日,OpenSSL 曝重大漏洞(heartbleed 心 脏流血)可导致支付密码被盗
OpenSSL是互联网最常用的安全协议,大型邮箱、门户、支付网站都采 用该协议。利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取到很多 以https开头网址的用户登录账号密码,包括大批网银、知名购物网站、电子 邮件等。 雅虎、Imgur和OKCupid等热门网站都由于“心脏流血”漏洞受到攻击。 由于OpenSSL是Apache和NGINXWeb服务器的默认SSL / TLS证书,专家估计, 多达三分之二的“安全”网站很容易通过Heartbleed 漏洞受到攻击。 出现安全漏洞的版本OpenSSL1.01自2012年3月12日已推出。这意味着数 以千万计的网站已经具有潜在危险。OpenSSL在今年4月7日推出了OpenSSL 1.01g,修复了这个漏洞。
Stored XSS(存储式跨站脚本攻击)
这是最强大的一种XSS攻击,所谓存储跨站攻击是指用户提 交给Web应用程序的数据首先就被永久的保存在服务器的数据 库,文件系统或其他地方,后面且未做任何编码就能显示到 Web页面。
1、某政府公众信息网拥有一个民意留言板,允许用户发布信息 /浏览已发布的信息。 2、攻击者注意到该站点具有存储式的XSS漏洞。 3、攻击者发布一个热点信息,以使其它用户纷纷阅读。 4、在大量对此信息的浏览中,其它用户的会话cookies或者其 它证书将被攻击者盗走。 5、而后,攻击者作为其它用户登录站点,伪装成他们继续发布 恶意信息。
22
Reflected XSS(反射跨站脚本攻击)

这是最常见也是最知名的XSS攻击,当Web客户端提交数据后 ,服务器端立刻为这个客户生成结果页面,如果结果页面中包含 未验证的客户端输入数据,那么就会允许客户端的脚本直接注入 到动态页面中。传统的例子是站点搜索引擎,如果我们搜索一个 包含特殊HTML字符的字符串时,通常在返回页面上仍然会有这 个字符串来告知我们搜索的是什么,如果这些返回的字符串未被 编码,那么,就会存在XSS漏洞了。
相关主题