作者 |
曹玉杰 王乐 李家辉 孔韬循 哈伯利特·辛格 希曼舒·夏尔马 |
丛书名 |
网络空间安全技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782109109511 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8083976 - Web代码安全漏洞深度剖析--------------------------- 本书系统化介绍代码审计的步骤和业务漏洞分析,总结了作者在信息安全领域多年的实践经验,内容丰富,实践性强。本书分三大部分,共14章。“准备工作”部分介绍漏洞剖析环境搭建和辅助工具简单使用,为后续分析打下基础。“常规应用漏洞分析”部分介绍了几种漏洞的基本概念和实例解剖,如SQL注入、XSS跨站、CSRF/XSRF、文件类型、代码执行与命令执行等漏洞,并介绍了代码审计的思路和步骤。“业务安全漏洞分析”部分通过实例介绍了业务安全中的典型漏洞,如短信验证码、会话验证、密码找回、支付、越权等漏洞,并针对漏洞给出了防御措施。 ---------------------------8082476 - Web渗透测试实战:基于Metasploit 5.0--------------------------- 本书从Metasploit的配置开始介绍,然后探索Metasploit术语和Web GUI,并带你深入测试流行的内容管理系统,例如Drupal、WordPress和Joomla,还将研究新型CVE并详细介绍漏洞形成的根本原因。之后,深入介绍JBoss、Jenkins和Tomcat等技术平台的漏洞评估和利用。读者还将学习如何使用第三方工具对Web应用程序进行模糊测试以查找逻辑安全漏洞等。 |
目录 |
[套装书具体书目] 8082476 - Web渗透测试实战:基于Metasploit 5.0 - 9787111686279 - 机械工业出版社 - 定价 129 8083976 - Web代码安全漏洞深度剖析 - 9787111690252 - 机械工业出版社 - 定价 99 ---------------------------8083976 - Web代码安全漏洞深度剖析--------------------------- 本书赞誉 序言 前言 致谢 第一部分 准备工作 第1章 搭建代码审计环境2 1.1 基于Windows搭建phpStudy2 1.2 基于Linux搭建phpStudy4 1.3 在Linux下利用Docker搭建PHP环境6 1.4 phpStorm远程连接Docker容器14 1.5 小结20 第2章 辅助工具21 2.1 代码调试工具phpStorm+Xdebug21 2.2 火狐浏览器56.0的HackBar和FoxyProxy 26 2.3 抓包工具Burp Suite34 2.4 小结47 第3章 了解目标48 3.1 代码审计的思路与流程48 3.2 漏洞分析前的准备工作52 3.3 php.ini配置53 3.4 小结55 第二部分 常规应用漏洞分析 第4章 SQL注入漏洞及防御58 4.1 SQL注入的原理及审计思路58 4.2 GET型SQL注入防御脚本绕过案例剖析60 4.3 Joomla 注入案例分析67 4.4 SQL 存储显现insert注入案例分析72 4.5 小结81 第5章 跨站脚本攻击及防御82 5.1 XSS简介82 5.2 反射型XSS三次URL编码案例分析88 5.3 存储型XSS案例分析95 5.4 DOM型 XSS案例分析103 5.5 小结107 第6章 跨站请求伪造漏洞及防御109 6.1 CSRF原理109 6.2 GET型CSRF案例分析112 6.3 POST型CSRF分析117 6.4 小结121 第7章 文件类型漏洞及防御122 7.1 文件上传漏洞122 7.2 文件上传漏洞案例剖析124 7.3 文件下载漏洞134 7.4 文件下载漏洞实际案例剖析134 7.5 文件删除漏洞137 7.6 文件删除漏洞实际案例剖析137 7.7 文件包含漏洞140 7.8 本地文件包含日志漏洞案例剖析145 7.9 本地前台图片上传包含漏洞案例剖析153 7.10 远程文件包含漏洞案例剖析156 7.11 小结159 第8章 代码执行漏洞与命令执行漏洞160 8.1 代码执行漏洞的原理160 8.2 代码执行案例剖析165 8.3 反序列化代码执行案例剖析169 8.4 命令执行漏洞178 8.5 命令执行漏洞案例分析182 8.6 小结186 第9章 常规应用漏洞的其他类型187 9.1 XXE漏洞187 9.2 XXE漏洞案例剖析190 9.3 URL 跳转漏洞193 9.4 URL跳转漏洞案例剖析194 9.5 SSRF漏洞198 9.6 SSRF漏洞案例剖析201 9.7 PHP 变量覆盖漏洞203 9.8 变量覆盖漏洞案例剖析210 9.9 小结215 第三部分 业务安全漏洞分析 第10章 短信验证码漏洞及防御218 10.1 短信验证码业务的安全问题及防御思路218 10.2 短信验证码漏洞案例剖析220 10.3 小结228 第11章 会话验证漏洞及防御229 11.1 会话验证的过程229 11.2 Cookie 认证会话漏洞案例剖析230 11.3 Session身份认证漏洞案例剖析234 11.4 小结239 第12章 密码找回漏洞及防御240 12.1 简介240 12.2 密码找回漏洞案例剖析241 12.3 小结246 第13章 支付漏洞及防御247 13.1 简介247 13.2 支付漏洞案例剖析248 13.3 小结253 第14章 越权漏洞及防御254 14.1 简介254 14.2 平行越权案例剖析255 14.3 垂直越权案例剖析259 14.4 小结263 ---------------------------8082476 - Web渗透测试实战:基于Metasploit 5.0--------------------------- 译者序 前言 关于作者 关于审校者 第一篇 导论 第1章 Web应用渗透测试简介2 1.1 什么是渗透测试2 1.2 渗透测试的类型3 1.2.1 白盒渗透测试3 1.2.2 黑盒渗透测试3 1.2.3 灰盒渗透测试3 1.3 渗透测试的阶段3 1.3.1 侦察和信息收集4 1.3.2 枚举4 1.3.3 漏洞评估与分析5 1.3.4 漏洞利用5 1.3.5 报告6 1.4 重要术语6 1.5 渗透测试方法学7 1.5.1 OSSTMM7 1.5.2 OSSTMM测试类型9 1.5.3 ISSAF10 1.5.4 PTES11 1.6 通用缺陷列表14 1.6.1 OWASP Top 1014 1.6.2 SANS Top 2514 1.7 小结15 1.8 问题15 1.9 拓展阅读15 第2章 Metasploit基础知识16 2.1 技术条件要求16 2.2 MSF简介16 2.3 MSF术语17 2.4 安装与设置Metasploit18 2.4.1 在*nix系统上安装MSF19 2.4.2 在Windows上安装MSF21 2.5 MSF入门23 2.5.1 使用msfconsole与MSF交互23 2.5.2 MSF控制台命令24 2.6 小结43 2.7 问题43 2.8 拓展阅读44 第3章 Metasploit Web界面45 3.1 技术条件要求45 3.2 Metasploit Web界面简介45 3.3 安装和设置Web界面46 3.3.1 在Windows上安装Metasploit社区版46 3.3.2 在Linux/Debian上安装Metasploit社区版50 3.4 Metasploit Web界面入门53 3.4.1 界面53 3.4.2 项目创建56 3.4.3 目标枚举58 3.4.4 模块选择64 3.5 小结76 3.6 问题76 3.7 拓展阅读76 第二篇 Metasploit的渗透测试生命周期 第4章 使用Metasploit进行侦察78 4.1 技术条件要求78 4.2 侦察简介78 4.2.1 主动侦察79 4.2.2 被动侦察90 4.3 小结96 4.4 问题96 4.5 拓展阅读97 第5章 使用Metasploit进行Web应用枚举98 5.1 技术条件要求98 5.2 枚举简介98 5.2.1 DNS枚举99 5.2.2 更进一步—编辑源代码100 5.3 枚举文件105 5.3.1 使用Metasploit进行爬行和抓取操作108 5.3.2 扫描虚拟主机111 5.4 小结112 5.5 问题112 5.6 拓展阅读112 第6章 使用WMAP进行漏洞扫描113 6.1 技术条件要求113 6.2 理解WMAP113 6.3 WMAP扫描过程114 6.3.1 数据侦察114 6.3.2 加载扫描器120 6.3.3 WMAP配置121 6.3.4 启动WMAP124 6.4 WMAP模块执行顺序125 6.5 为WMAP添加一个模块128 6.6 使用WMAP进行集群扫描133 6.7 小结139 6.8 问题139 6.9 拓展阅读140 第7章 使用Metasploit(Nessus)进行漏洞评估141 7.1 技术条件要求141 7.2 Nessus简介141 7.2.1 将Nessus与Metasploit结合使用142 7.2.2 通过Metasploit进行Nessus身份验证143 7.3 基本命令145 7.4 通过Metasploit执行Nessus扫描149 7.4.1 使用Metasploit DB执行Nessus扫描153 7.4.2 在Metasploit DB中导入Nessus扫描156 7.5 小结157 7.6 问题157 7.7 拓展阅读157 第三篇 渗透测试内容管理系统 第8章 渗透测试CMS——WordPress160 8.1 技术条件要求160 8.2 WordPress简介160 8.2.1 WordPress架构161 8.2.2 文件/结构161 8.3 对WordPress进行侦察和枚举162 8.3.1 版本检测163 8.3.2 使用Metasploit进行WordPress侦察166 8.3.3 使用Metasploit进行WordPress枚举167 8.4 对WordPress进行漏洞评估169 8.5 WordPress漏洞利用第1部分—WordPress任意文件删除177 8.5.1 漏洞流和分析178 8.5.2 使用Metasploit利用漏洞180 8.6 WordPress漏洞利用第2部分—未经身份验证的SQL注入187 8.6.1 漏洞流和分析187 8.6.2 使用Metasploit利用漏洞188 8.7 WordPress漏洞利用第3部分—WordPress 5.0.0远程代码执行188 8.7.1 漏洞流和分析189 8.7.2 使用Metasploit利用漏洞190 8.8 更进一步—自定义Metasploit漏洞利用模块198 8.9 小结201 8.10 问题201 8.11 拓展阅读201 第9章 渗透测试CMS——Joomla202 9.1 技术条件要求202 9.2 Joomla简介202 9.3 Joomla架构203 9.4 侦察和枚举204 9.4.1 版本检测204 9.4.2 使用Metasploit对Joomla进行侦察208 9.5 使用Metasploit枚举Joomla插件和模块209 9.5.1 页面枚举209 9.5.2 插件枚举210 9.6 对Joomla进行漏洞扫描211 9.7 使用Metasploit对Joomla进行漏洞利用212 9.8 上传Joomla Shell219 9.9 小结222 9.10 问题222 9.11 拓展阅读222 第10章 渗透测试CMS——Drupal223 10.1 技术条件要求223 10.2 Drupal及其架构简介223 10.2.1 Drupal架构223 10.2.2 结构224 10.3 Drupal侦察和枚举225 10.3.1 通过README.txt检测225 10.3.2 通过元标记检测226 10.3.3 通过服务器标头检测226 10.3.4 通过CHANGELOG.txt检测227 10.3.5 通过install.php检测228 10.3.6 插件、主题和模块枚举228 10.4 使用droopescan对Drupal进行漏洞扫描229 10.5 对Drupal进行漏洞利用231 10.5.1 使用Drupalgeddon2对Drupal进行漏洞利用231 10.5.2 RESTful Web Services漏洞利用—unserialize()237 10.6 小结249 10.7 问题250 10.8 拓展阅读250 第四篇 技术平台渗透测试 第11章 技术平台渗透测试——JBoss252 11.1 技术条件要求252 11.2 JBoss简介252 11.2.1 JBoss架构(JBoss 5)253 11.2.2 JBoss 文件及结构254 11.3 侦察和枚举256 11.3.1 通过主页检测256 11.3.2 通过错误页面检测257 11.3.3 通过HTML标签检测257 11.3.4 通过X-Powered-By检测258 11.3.5 通过散列favicon.ico检测258 11.3.6 通过样式表进行检测259 11.3.7 使用Metasploit执行JBoss状态扫描259 11.3.8 JBoss服务枚举261 11.4 在JBoss AS上执行漏洞评估262 11.4.1 使用JexBoss执行漏洞扫描263 11.4.2 可被攻击的JBoss入口点264 11.5 JBoss漏洞利用265 11.5.1 通过管理控制台对JBoss进行漏洞利用265 11.5.2 通过JMX控制台进行漏洞利用(MainDeployer方法)267 11.5.3 使用Metasploit(MainDeployer)通过JMX控制台进行漏洞利用271 11.5.4 通过JMX控制台(BSHDeployer)进行漏洞利用272 11.5.5 使用Metasploit(BSHDeployer)通过JMX控制台进行漏洞利用274 11.5.6 通过Web控制台(Java Applet)进行漏洞利用275 11.5.7 通过Web控制台(Invoker方法)进行漏洞利用277 11.5.8 使用Metasploit通过JMXInvoker-Servlet 进行漏洞利用285 11.6 小结286 11.7 问题286 11.8 拓展阅读286 第12章 技术平台渗透测试——Apache Tomcat287 12.1 技术条件要求287 12.2 Tomcat 简介288 12.3 Apache Tomcat 架构288 12.4 文件和结构289 12.5 检测Tomcat的安装290 12.5.1 通过 HTTP 响应标头检测—X-Powered-By 291 12.5.2 通过HTTP响应标头检测 — WWW-Authenticate 291 12.5.3 通过 HTML 标签检测—页面标题标签 291 12.5.4 通过 HTTP 401未授权错误检测292 12.5.5 通过唯一指纹(哈希值)检测292 12.5.6 通过和文件检测293 12.6 版本检测294 12.6.1 通过 HTTP 404错误页面检测294 12.6.2 通过Release-Notes.txt 泄露版本号294 12.6.3 通过 Changelog.html 泄露版本信息294 12.7 对Tomcat进行漏洞利用295 12.7.1 Apache Tomcat JSP 上传绕过漏洞297 12.7.2 Tomcat WAR shell 上传(经过认证)300 12.8 Apache Struts简介 304 12.8.1 理解OGNL 304 12.8.2 OGNL表达式注入304 12.8.3 通过OGNL注入测试远程代码执行306 12.8.4 通过 OGNL 注入进行不可视的远程代码执行310 12.8.5 OGNL带外注入测试310 12.8.6 使用Metasploit 对Struts 2 进行漏洞利用311 12.9 小结313 12.10 问题313 12.11 拓展阅读313 第13章 技术平台渗透测试——Jenkins314 13.1 技术条件要求314 13.2 Jenkins简介314 13.3 Jenkins术语315 13.3.1 Stapler 库 315 13.3.2 URL路由316 13.3.3 Apache Groovy 316 13.3.4 元编程 316 13.3.5 抽象语法树 316 13.3.6 Pipeline 317 13.4 Jenkins 侦察和枚举317 13.4.1 使用收藏夹图标哈希值检测Jenkins 317 13.4.2 使用 HTTP 响应标头检测Jenkins 318 13.4.3 使用 Metasploit 进行 Jenkins 枚举319 13.5 对Jenkins进行漏洞利用321 13.5.1 访问控制列表绕过322 13.5.2 理解 Jenkins 的未认证远程代码执行324 13.6 小结330 13.7 问题331 13.8 拓展阅读331 第五篇 逻辑错误狩猎 第14章 Web应用模糊测试——逻辑错误狩猎334 14.1 技术条件要求334 14.2 什么是模糊测试335 14.3 模糊测试术语335 14.4 模糊测试的攻击类型336 14.4.1 应用模糊测试336 14.4.2 协议模糊测试336 14.4.3 文件格式模糊测试336 14.5 Web应用模糊测试简介337 14.5.1 安装Wfuzz337 14.5.2 安装ffuf337 14.6 识别Web应用攻击向量340 14.6.1 HTTP请求动词340 14.6.2 HTTP请求URI344 14.6.3 HTTP请求标头352 14.7 小结361 14.8 问题361 14.9 拓展阅读361 第15章 编写渗透测试报告363 15.1 技术条件要求363 15.2 报告编写简介363 15.2.1 编写执行报告364 15.2.2 编写详细的技术报告365 15.3 Dradis框架简介367 15.3.1 安装前配置367 15.3.2 安装和设置367 15.3.3 开始使用Dradis369 15.3.4 将第三方报告导入Dradis370 15.3.5 在Dradis中定义安全测试方法372 15.3.6 使用Dradis组织报告374 15.3.7 在Dradis中导出报告375 15.4 Serpico简介376 15.4.1 安装和设置376 15.4.2 开始使用Serpico376 15.4.3 将数据从Metasploit导入Serpico380 15.4.4 将第三方报告导入Serpico381 15.4.5 Serpico中的用户管理381 15.4.6 Serpico中的模板管理383 15.4.7 生成多种格式的报告385 15.5 小结385 15.6 问题385 15.7 拓展阅读386 问题答案387 |