一些问题 | 简单的解答 |
---|---|
这个作业属于哪个课程 | 网络攻防实践 |
这个作业的要求在哪里 | 作业要求 |
参考 | 各种博客资源代码 |
知识梳理和总结
web浏览器战争与技术发展
- 微软公司通过卑鄙手段赢了网景公司,自此之后IE浏览器独占大部分市场份额,后来PC端被Chrome取代,不过Microsoft EDGE最近隐隐有崛起的势头。目前国内的浏览器内核基本都是国外的。
- 随着移动互联时代的到来,浏览器的战场也开始转移到了移动端。苹果那里肯定是safari一家独大,安卓这里五花八门,360,QQ,不一而足。
- 古典命令行浏览器仅仅实现了简单的HTTP客户端、HTML解析与渲染功能,而在浏览器的商业竞争中,出现了高度注重用户使用感受的图形界面浏览器软件,并逐步提供了图片、音视频等多媒体的支持,逐步进化目前互联网用户所依赖的现代浏览器
浏览器的构成与基本结构
浏览器 | 内核 |
---|---|
chrome | Blink |
Opera | Blink |
Firefox | Gecko |
safari | webkit |
浏览器的功能模块
- HTML 解释器:将 HTML 文档经过词法分析输出 DOM 树。
- CSS 解释器:解析 CSS 文档, 生成样式规则。
- 图层布局计算模块:布局计算每个对象的精确位置和大小。
- 视图绘制模块:进行具体节点的图像绘制,将像素渲染到屏幕上。
- JavaScript 引擎:编译执行 Javascript 代码。
浏览器渲染过程
- 解析 HTML
这一步浏览器执行了所有的加载解析逻辑,在解析 HTML 的过程中发出了页面渲染所需的各种外部资源请求。
- 计算样式
浏览器将识别并加载所有的 CSS 样式信息与 DOM 树合并,最终生成页面 render 树(:after :before 这样的伪元素会在这个环节被构建到 DOM 树中)。
- 计算图层布局
页面中所有元素的相对位置信息,大小等信息均在这一步得到计算。
- 绘制图层
在这一步中浏览器会根据我们的 DOM 代码结果,把每一个页面图层转换为像素,并对所有的媒体文件进行解码。
- 整合图层,得到页面
最后一步浏览器会合并合各个图层,将数据由 CPU 输出给 GPU 最终绘制在屏幕上。(复杂的视图层会给这个阶段的 GPU 计算带来一些压力,在实际应用中为了优化动画性能,我们有时会手动区分不同的图层)。
浏览器的安全与威胁
浏览器为用户提供了美观、实用的图形界面,通过鼠标操作可以浏览、检索与其相关的分布在各地的多媒体信息(可以是文字、图片、图像、动画等信息)。浏览器功能强大,使用方便,图文、声像并茂,很受用户欢迎,已成为因特网上最具有代表性的信息查询工具,应用十分广泛。目前市场上有20多种浏览器,并且这个数字还在继续增加,我们常见到的浏览器有Mosaic, Netscape, Navigator, Netscape Communicator, Internet Explorer, MyIE, Tencent Explorer和Lynx等。浏览器作为互联网上信息浏览的客户端软件,其安全性一直是用户关心的问题。从浏览器的开发厂家到最终用户,人们始终关心着浏览器是否从Internet上下载了某些有害的东西,或者用户机器里保存的一些信息被某些程序破坏或者盗取。值得人们关注的是,一些专门进行网络破坏的黑客,也把目光盯在了浏览器上面,他们利用浏览器的某些漏洞,在网页里放置一些恶意代码,通过浏览器对网页的解释执行,来修改用户端Windows的注册表,从而达到破坏用户数据的目的。
- 浏览器的自动调用
浏览器一个强大的功能就是能够自动调用浏览器所在计算机中的有关应用程序,以便正确显示从Web服务器取得的各种类型的信息。某些功能强大的应用程序,依靠来自Web服务器的任意输入参数来运行,可能被用于获取非授权访问权限,对Web浏览器所在的计算机构成了极大的安全威胁。浏览器中使用的协议有HTTP, FTP, GOPHER, WAIS等,还包括NNTP和SMTP协议。当用户使用浏览器时,实际上是在申请HTTP等服务器。这些服务器都存在漏洞,是不安全的。
- 恶意代码
由于某些动态页面以来源不可信的用户输入的数据为参数生成页面,所以Web网页中可能会不经意地包含一些恶意的脚本程序等。如果Web服务器对此不进行处理,那么很可能对Web服务器和浏览器用户双方都带来安全威胁。即使采用SSL来保护传输,也不能阻止这些恶意的代码传输。
现在有这样的一些网站,只要链接到它的页面上,不是IE首页被改就是IE的某些选项被禁用了。一些网页上的恶意代码还可以格式化硬盘或删除硬盘上存储的数据,它们的主要行为如下:
- 修改IE浏览器的标题。
- 修改IE浏览器的默认首页,迫使用户在启动IE时都要访问它设置好的网站,这种情况尤以暴力或色情网站为多。
- 禁止Internet选项、禁止IE右键菜单的弹出或者右键菜单变成灰色无法使用,网络所具有的功能被屏蔽掉。
- 禁止系统对注册表的任何操作。
浏览器本身的漏洞
浏览器的功能越来越强大,但是由于程序结构的复杂性,出现在浏览器上的漏洞层出不穷。开发商在堵住了旧的漏洞的同时,可能又出现了新的漏洞。浏览器的安全漏洞可能让攻击者获取磁盘信息、安全口令,甚至破坏磁盘文件系统等。下面举出几个已知的浏览器安全漏洞。
- UNIX下的Lynx的一个安全漏洞
在Lynx的2.7.1版本之前都存在着这样的一个漏洞,只要做一个包含backtick字符的LynxDownLoadURL,它就允许Web创建者在用户的机器上执行任意的命令。
浏览器泄露的敏感信息
Web服务器大多对每次接受的访问都做相应的记录,并保存到日志文件中。通常包括来访的IP地址、来访的用户名、请求的URL、请求的状态和传输的数据大小。浏览器在向外传送信息的时候,很可能已经把自己的敏感信息送了出去。
Web欺骗
由于Web网页具有容易复制的特点,使得Web欺骗变得很容易实现。
- 欺骗攻击
如果在大街上树立一个绿色的假邮筒,就会给人造成假象,使人误以为真,有不少人可能会把信扔进里面。欺骗攻击的原理和这很类似,主要指攻击者通过伪造一些容易引起错觉的文字、音像或者其他场景来诱导受骗者做出错误的与安全有关的决策。在网络虚拟的世界里,同样存在被骗的受害者。Web欺骗就是一种网络欺骗,攻击者构建的虚假网站看起来就像真实站点,具有同样的链接,同样的页面,而实际上,被欺骗的所有浏览器用户与这些伪装的页面的交互都受攻击者控制。- Web欺骗攻击的原理
Web欺骗攻击成功的关键在于攻击者的伪服务器必须位于受骗用户到目标Web服务的必经路径上。
攻击者首先在某些Web网页上改写所有与目标Web站点有关的链接,使得不能指向真正的Web服务器,而是指向攻击者的伪服务器。当用户点击这些链接时,首先指向了伪服务器,攻击者向真正的服务器索取用户的所需界面。当获得目标Web送来的页面后,伪服务器改写链接并加入伪装代码,送给被欺骗的浏览器用户。
实践过程
Web浏览器渗透攻击实验
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
所需环境:
- 攻击机:BT4 Linux攻击机或Windows XP_Attacker攻击机,使用其中安装的Metasploit渗透攻击框架软件
- 靶机:未打补丁的Windows靶机,可使用Windows 2KS靶机或Windows XP靶机
实验步骤:
选择使用Metasploit中的MS06-014渗透攻击模块
- 选择PAYLOAD为任意远程Shell连接
- 设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本
- 在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL
- 在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
使用模块,设置攻击机什么的,以前操作过很多遍了,现在不再赘述了。
在win2k中打开IE,输入这个地址
最后我们验证一下是否有效
这里我不太明白为什么用winxp作为靶机就失败了,可能是因为系统的原因。还有一个是,因为上一次实验的某个版本的原因,我重新装了一个虚拟机。所以刚刚用新的虚拟机失败后,我又用回以前的KALI了。
Web 浏览器渗透攻击攻防对抗
任务:攻击方使用 Metasploit 构造出攻击至少两个不同 Web 浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理组装成一个URL链接,通过具有欺骗性的电子邮件发送给防守方。防守方对电子邮件中的挂马链接进行提取、解混淆分析,尝试恢复出渗透攻击代码的原始形态, 并分析出这些渗透代码都是攻击哪些 Web 浏览端软件的哪些安全漏洞。双方撰写详细实验分析报告, 对攻防对抗过程进行总结。这个实验所使用攻击机为 kail,靶机为 win 2kS