第1章:基础知识

本系列文章仅作为学习交流使用,不可用于商业用途。文章中凡涉及原书内容部分,版权均归原作者所有。


本章是第1章“基础知识”,隶属于第一篇“漏洞利用原理(初级)”。本章目的是让读者有对和漏洞有关的基本概念有一个简单的了解。

本章首先介绍了漏洞研究中的一些基本概念和原理,其次讲解了Windows平台下可执行文件的结构和内存方面的一些基础知识,最后列举了漏洞分析中常用的工具。


目前来说,我基本上是按照书上的结构写,且尽可能忠实于原文。以后写得熟练了,会更有一些个人的风格。

笔记主要由两部分组成:

  • 一部分是书中的重点,这些知识有必要反复咀嚼;
  • 另一部分是实践时碰到的问题的技术细节,将其记录下来有助于以后参考。


1. 漏洞概述


1.1 Bug与漏洞

软件行业现状:

  • 随着现代软件工业的发展,软件规模越来越大,软件内部的逻辑也日益复杂;
  • 测试环节(QA:Quality Assurance,质量保证)变得日渐重要;
  • 即使在测试上投入了巨大精力,依旧没有人敢声称能够避免软件中的所有逻辑缺陷——bug。

在形形色色的bug中,有些会引起严重的后果。

我们将这类能引起软件做一些“超出设计范围的事情”的bug,称为“漏洞”(vulnerability):

  • 功能性逻辑缺陷(bug):影响软件的正常功能。例如:执行结果错误、图标显示错误等。
  • 安全性逻辑缺陷(漏洞):通常情况下不影响软件功能,但被攻击者利用后,有可能引起软件执行额外的恶意代码。例如:缓冲区溢出漏洞、跨站脚本漏洞(XSS),SQL注入漏洞。

注:个人感觉,书中这部分对于“漏洞”和“bug”的定义与区分有点粗糙,可能是作者为了方便读者理解,从而做了一定的简化。

因此,我在下面附了百度百科和Wikipedia的相关词条链接,以后类似。(百度百科的好处就是中文便于阅读,Wikipedia的优势在于相对严谨。)

对于某些重要的概念,随文插入相关链接,读起来方便;而在文末给出,则更有总结效果;不插链接,只做高亮,则可使行文流畅,避免繁琐。 我在想到底采用哪种方式更好。


1.2 几个令人困惑的安全问题


也许你具备一些基本的计算机知识,但是你仍然对下面一些问题有所困惑:

  • 我从不允许任何来历不明的软件,为什么还会中病毒?

病毒可以利用重量级的系统漏洞传播。例如:冲击波蠕虫、Slammer蠕虫。

攻击者也可以利用漏洞发起主动攻击。

  • 我只是点击了一个URL安全链接,并没有执行任何其他操作,为什么会中木马?

如果浏览器在解析HTML文件时存在缓冲区溢出漏洞,攻击者可以精心构造一个承载着恶意代码(Shellcode)的HTML文件,将连接发给用户。用户点击链接时,漏洞被触发,HTML文件中的恶意代码被触发。

  • Word文档、Power Point文档、Excel表格文档并非可执行文件,它们会导致恶意代码的执行吗?<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值