51Testing独家连载:Web安全深度剖析

发表于:2015-5-06 10:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张炳帅    来源:51Testing软件测试网原创

分享:
  【前   言】
  本书总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web应用程序中存在的漏洞,防患于未然。
  本书抛开一些研究性、纯理论性的内容,也就是外表看似很高端,但实用性不大的课题,所总结的漏洞知识可以说是刀刀见血、剑剑穿心。漏洞直接危害到企业的安全。
  本书也是笔者多年来的工作总结,几乎每个场景都是最常见的,如果你从事与Web渗透测试相关的工作,就会遇到本书中的场景。
  【本书结构】
  本书从攻到防,从原理到实战,由浅入深、循序渐进地介绍了Web安全体系。全书分4篇共16章,这是一个庞大的体系,几乎可以囊括目前常见的一切Web安全类技术。
  本书目录结构就非常像渗透测试人员的一次检测流程,从信息探测到漏洞扫描、漏洞利用、提权等。
  基础篇
  第1章到第4章为基础篇,是整个Web安全中最基础的技术。
  第1章描述了服务器是如何被黑客入侵的,并从中引出Web安全的概念,同时也告诉读者如何更快、更好地学习Web安全。
  第2章详细讲述了Web安全的一个核心知识点:HTTP协议。如果是零基础的读者,建议一定要多看HTTP协议,因为后续章节中的许多内容都会涉及HTTP协议。
  第3章介绍了信息探测的知识点。渗透测试人员工作时,一般都是从信息探测入手的,也就是常说的踩点。信息探测是渗透测试的基本功,是必须学习的内容。本章介绍了Google Hack、Nmap、DirBuster、指纹识别等技术。
  第4章讲解了渗透测试人员常用的安全测试工具,包括:BurpSuite、AWVS、APPSCAN等工具。
  原理篇
  第5章到第10章为原理篇,阅读本篇内容需要读者具备一定的代码功底。在这些章节中讲述了Web应用程序中最常见的安全漏洞。笔者将这些常见的高危漏洞提取出来,每个漏洞作为单独的一个章节来讲解,从原理到利用。
  第5章是SQL注入章节,讨论了MySQL、SQL Server、Oracle数据库的注入方式、注入技巧和不同数据库的注入差异。
  攻击者对数据库注入的目的有:数据窃取、文件读写、命令执行。掌握其核心思想后,对SQL注入的学习就比较容易了。
  在讲解SQL注入原理后,介绍了SQLMap、Havij等注入工具,同时也介绍了绕过部分WAF的思路。
  第6章介绍了XSS攻击,其中讲解了XSS的形成原理、三种XSS类型、会话劫持、蠕虫等前端技术,最后提出了XSS有效的解决方案。
  第7章讲解了上传漏洞和Web容器的漏洞。有时候程序是没有问题的,但如果与Web容器漏洞相结合,可能就会造成上传漏洞。
  第8章描述了命令执行漏洞的形成原因和利用方式,同时也介绍了Struts2命令执行漏洞及命令执行漏洞的修复方案。
  第9章讲解了PHP包含漏洞的原理和利用方式,同时也介绍了包含漏洞的修复方案。
  第10章讨论的知识点比较广泛,比如CSRF、逻辑漏洞、远程部署漏洞、代码注入等高危漏洞。
  实战篇
  第11章讲述了开源程序的攻击流程与防御,并着重分析了"拖库"事件时黑客所使用的攻击手段。
  综合篇
  如果仅仅掌握Web安全漏洞,而对其他漏洞、攻击手法一窍不通,是无法全面找出漏洞的。本书在综合篇里介绍了渗透测试工程师的一些其他检测方式。
  第12章详细讲述了暴力破解的测试方式,分别使用Hydra、Burp Suite、Medusa等工具对MSSQL、MySQL、Web应用程序进行破解,最后讲述了验证码的安全性及防止暴力破解的解决方案。
  第13章讲述了旁注攻击。当目标Web应用程序无法寻找到漏洞时,攻击者常常会使用旁注攻击来入侵目标。本章剖析了旁注攻击的几个关键点,包括IP逆向查询、SQL跨库查询、绕过CDN等技术。
  第14章讲述了提权。服务器提权可以更好地解释服务器的脆弱性,本章对Linux、Windows提权均做了分析。比如Windows下的三种提权方式:本地溢出提权、第三方组件提权和系统关键点利用。另外,也剖析了一部分提权时的采用手段,比如DLL劫持、端口转发、服务器添加后门等技术。
  第15章讲述了ARP攻击与防御。安全是一个整体,并不是Web应用程序找不到漏洞时,黑客就没办法了,黑客使用ARP欺骗技术可以轻松劫持到你的密码。本章从ARP协议开始讲解,接着深入讲解ARP欺骗的原理,其中介绍了Cain、Ettercap、NetFuke等嗅探工具。
  第16章讲述了社会工程学。社会工程学可以说是APT攻击中的关键一环,也被称为没有"技术"却比"技术"更强大的渗透方式。
  需要的工具
  本书的核心是从原理到实战案例的剖析,很多时候,工具只是起辅助作用。读者要注意一点:在实际的渗透中,更多地靠经验、思路,工具反而是其次,不要被众多的"神器"所迷惑。工具仅仅是让我们更方便、高效一些,工具是"死"的,目前的软件开发水平还完全达不到智能化,工具只能按照程序员的思维流程来执行。所以,我们完全依赖的还是自己的大脑。
  本书所使用的工具可以在http://www.secbug.org/tools/index.html中下载。
  【本书是写给谁的】
  本书最适合渗透测试人员、Web开发人员、安全咨询顾问、测试人员、架构师、项目经理、设计等人员阅读,也可以作为Web安全、渗透测试的教材。这是一本实用的Web安全教材。
  - 渗透测试人员:渗透测试人员要求具备的技术在大学并没有课程设置,也没有正规、专业的技术培训。可以说,做渗透测试的人员都要靠自学,付出比其他人更多的努力才能胜任这个工作。笔者希望读者从本书中学到知识,进一步提高自己的渗透测试水平。
  - Web开发人员:程序员不一定是黑客,但是有一定水平的黑客、白帽子一定是程序员。因此,一个合格的程序员学习安全知识是非常快的。本书介绍了大量的示例代码,并分析了其中的漏洞,从开发人员的角度讲述如何避免和修复漏洞,希望开发人员能够通过本书的学习提高自己防御安全的水平,站在新的高度去看待程序。
  - 信息安全相关专业的学生:本书也适合信息安全等相关专业的学生阅读,书中所有的知识点几乎都是从零开始的,你们可以循序渐进地学习。同时,笔者也希望能给大学老师带来一些灵感,然后培育出更多的网络安全人才。
  在学习时,笔者常把原理性的知识比喻为内功,而具体的实操、技术点比喻为招式,只有招式而没有内功是根本无法变成高手的,有了内功和招式才可能成为高手。
  安全是把双刃剑。剑在手中,至于是用其来做好事还是做坏事,只在于一念之差。笔者强烈要求各位读者仅在法律的许可范围内使用本书所提供的信息。
  【致  谢】
  感谢EvilShad0w团队的每一位成员,你们在一起交流技术、讨论心得时从来都是无私地分享,你们都有一颗对技术狂热的心。在我眼里,你们都是"技术帝"。
  感谢破晓团队的每一位成员,感谢你们相信我,愿意跟我一起闯,你们的存在是支撑我继续下去的力量。
  感谢联合实验室的成员,是你们在百忙之中细细品味这本书,并指出不足之处。
  感谢袁海君、杜萌萌、LiuKer、7z1、天蓝蓝、小K、小歪、岩少、晴天小铸、GBM的支持。有你们的支持,我才能完成这本书的写作,也感谢你们对这本书做出的贡献,我将谨记于心。这里要特别感谢小杜,你为我审阅稿子,找出书中的许多错误。
  感谢红黑联盟站长一剑西来、天云祥科技有限公司CEO杨奎,你们给了我许多机会,也教会了我如何去思考。
  感谢我的领导沈局、邬江、邓小刚,你们对待我就像对待自己的学生一样,给了我许多教导。
  最后,感谢我的父母,感谢你们将我抚育成人,为我付出一切。这份爱时刻提醒着我,要努力、要上进!
  路虽艰,行则必达。事虽难,做则必成。
                                                                                    破晓-SecBug.Org

51Testing软件测试网将在近期对本书部分章节进行独家连载,敬请关注

查看更多《51Testing软件测试网作品系列》书籍:http://www.51testing.com/html/36/category-catid-136.html

32/3<123>
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号