前言
本书总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代
码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web应用程序中存在的漏洞,防患
于未然。
本书抛开- -些研究性、纯理论性的内容,也就是外表看似很高端,但实用性不大的课题,
所总结的漏洞知识可以说是刀刀见血、剑剑穿心。漏洞直接危害到企业的安全。
本书也是笔者多年来的工作总结,几乎每个场景都是最常见的,如果你从事与Web渗透测
试相关的工作,就会遇到本书中的场景。
本书结构
本书从攻到防,从原理到实战,由浅入深、循序渐进地介绍了Web安全体系。全书分4篇
共16章,这是一个庞大的体系,几乎可以囊括目前常见的一- 切Web安全类技术。
本书目录结构就非常像渗透测试人员的-.次检测流程,从信息探测到漏洞3描、漏洞利用、
提权等。
基础篇
第1章到第4章为基础篇,是整个Web安全中最基础的技术。
第I章描述了服务器是如何被黑客入侵的,并从中引出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、Eterap. NetFuke 等嗅探工具。
第16章讲述了社会工程学。社会工程学可以说是APT攻击中的关键一环, 也被称为没有
“技术”却比“技术”更强大的渗透方式。
需要的工具
本书的核心是从原理到实战案例的剖析,很多时候,工具只是起辅助作用。读者要注意- –
点:在实际的渗透中,更多地靠经验、思路,工具反而是其次,不要被众多的“神器”所迷惑。
工具仅仅是让我们更方便、高效一些,工具是“死”的,目前的软件开发水平还完全达不到智
能化,工具只能按照程序员的思维流程来执行。所以,我们完全依赖的还是自己的大脑。
本站原创文章,作者:小 编,如若转载,请注明出处:https://www.mzbky.com/1113.html