网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 从0到1 CTFer成长之路 |
分类 | 教育考试-考试-计算机类 |
作者 | Nu1L战队 编 |
出版社 | 电子工业出版社 |
下载 | |
简介 | 内容推荐 本书主要面向CTF入门者,融入了CTF比赛的方方面面,让读者可以进行系统性的学习。本书包括13章的内容,技术介绍分为线上赛和线下赛两部分。线上赛包括10章,涵盖Web、PWN、Reverse、A、Misc、Crypto、区块链、代码审计。线下赛包括2章,分别为AWD和靶场渗透。3章通过Nu1L战队成员的故事和联合战队管理等内容来分享CTF战队组建和管理、运营的经验。 作者简介 Nu1L战队成员来自于上海科技大学、西华大学、成都信息工程大学、北京理工大学等全国多所高校,很早是由两个研究Web的同学创建,队名源于计算机中语言中经常出现的"NULL”。 目录 CTF之线上赛 章 Web入门3 1.1 举足轻重的信息收集3 1.1.1 信息搜集的重要性3 1.1.2 信息搜集的分类3 1.1.2.1 敏感目录泄露4 1.1.2.2 敏感备份文件7 1.1.2.3 Banner识别9 1.1.3 从信息搜集到题目解决9 1.2 CTF中的SQL注入12 1.2.1 SQL注入基础12 1.2.1.1 数字型注入和UNION注入12 1.2.1.2 字符型注入和布尔盲注17 1.2.1.3 报错注入22 1.2.2 注入点24 1.2.2.1 SELECT注入24 1.2.2.2 INSERT注入26 1.2.2.3 UPDATE注入27 1.2.2.4 DELETE注入28 1.2.3 注入和防御29 1.2.3.1 字符替换29 1.2.3.2 逃逸引号31 1.2.4 注入的功效33 1.2.5 SQL注入小结34 1.3 任意文件读取漏洞34 1.3.1 文件读取漏洞常见触发点35 1.3.1.1 Web语言35 1.4.1.2 中间件/服务器相关37 1.4.1.3 客户端相关39 1.3.2 文件读取漏洞常见读取路径39 1.3.2.1 Linux39 1.3.2.2 Windows41 1.3.3 文件读取漏洞例题41 1.3.3.1 兵者多诡(HCTF 2016)42 1.3.3.2 PWNHUB - Classroom43 1.3.3.3 Show me the shell I(TCTF/0CTF 2018 FINAL)45 1.3.3.4 BabyIntranet I(SCTF 2018)47 1.3.3.5 SimpleVN(BCTF2018)48 1.3.3.6 Translate(Google CTF 2018)50 1.3.3.7 看番就能拿Flag(PWNHUB)51 1.3.3.8 2013那年(PWNhub)52 1.3.3.9 Comment(网鼎杯2018线上赛)57 1.3.3.10 方舟计划(CISCN 2017)58 1.3.3.11 PrintMD(RealWorldCTF 2018线上赛)60 1.3.3.12 粗心的佳佳(PWNHUB)62 1.3.3.13 教育机构(强网杯2018线上赛)64 1.3.3.14 Magic Tunnel(RealworldCTF 2018线下赛)65 1.3.3.15 Can you find me?(WHUCTF2019,武汉大学校赛)67 小结68 第2章 Web进阶69 2.1 SSRF漏洞69 2.1.1 SSRF的原理解析69 2.1.2 SSRF漏洞的寻找和测试71 2.1.3 SSRF漏洞攻击方式72 2.1.3.1 内部服务资产探测72 2.1.3.2 使用Gopher协议扩展攻击面72 2.1.3.3 自动组装Gopher80 2.1.4 SSRF的绕过80 2.1.4.1 IP的限制80 2.1.4.2 302跳转82 2.1.4.3 URL的解析问题83 2.1.4.4 DNS Rebinding86 2.1.5 CTF中的SSRF88 2.2 命令执行漏洞92 2.2.1 命令执行的原理和测试方法92 2.2.1.1 命令执行原理93 2.2.1.2 命令执行基础93 2.2.1.3 命令执行的基本测试95 2.2.2 命令执行的绕过和技巧95 2.2.2.1 缺少空格95 2.2.2.2 黑名单关键字97 2.2.2.3 执行无回显98 2.2.3 命令执行真题讲解100 2.2.3.1 2015 HITCON Babyfirst100 2.2.3.2 2017 HITCON BabyFirst Revenge101 2.2.3.3 2017 HITCON BabyFirst Revenge v2103 2.3 XSS的魔力104 2.3.1 XSS漏洞类型104 2.3.2 XSS的tricks108 2.3.3 XSS过滤和绕过111 2.3.4 XSS绕过案例117 2.4 Web文件上传漏洞121 2.4.1 基础文件上传漏洞121 2.4.2 截断绕过上传限制122 2.4.2.1 00截断122 2.4.2.2 转换字符集造成的截断125 2.4.3 文件后缀黑名单校验绕过126 2.4.3.1 上传文件重命名126 2.4.3.2 上传文件不重命名127 2.4.4 文件后缀白名单校验绕过130 2.4.4.1 Web服务器解析漏洞130 2.4.4.2 APACHE解析漏洞131 2.4.5 文件禁止访问绕过132 2.4.5.1 .htaccess禁止脚本文件执行绕过133 2.4.5.2 文件上传到OSS134 2.4.5.3 配合文件包含绕过134 2.4.5.4 一些可被绕过的Web配置135 2.4.6 绕过图片验证实现代码执行137 2.4.7 上传生成的临时文件利用140 2.4.8 使用file_put_contents实现文件上传142 2.4.9 ZIP上传带来的上传问题147 小结156 第3章 Web拓展157 3.1 反序列化漏洞157 3.1.1 PHP反序列化157 3.1.1.1 常见反序列化158 3.1.1.2 原生类利用160 3.1.1.3 Phar反序列化163 3.1.1.4 小技巧165 3.1.2 经典案例分析170 3.2 Python的安全问题172 3.2.1 沙箱逃逸172 3.2.1.1 关键词过滤172 3.2.1.2 花样import173 3.2.1.3 使用继承等寻找对象174 3.2.1.4 eval类的代码执行174 3.2.2 格式化字符串175 3.2.2.1 最原始的%175 3.2.2.2 format方法相关175 3.2.2.3 Python 3.6中的f字符串176 3.2.3 Python模板注入176 3.2.4 urllib和SSRF177 3.2.4.1 CVE-2016-5699177 3.2.4.2 CVE-2019-9740178 3.2.5 Python反序列化179 3.2.6 Python XXE180 3.2.7 sys.audit182 3.2.8 CTF Python案例182 3.2.8.1 皇家线上赌场(SWPU 2018)182 3.2.8.2 mmmmy(2018网鼎杯)183 3.3 密码学和逆向知识185 3.3.1 密码学知识186 3.3.1.1 分组加密186 3.3.1.2 加密方式的识别186 3.3.1.3 ECB模式186 3.3.1.4 CBC模式188 3.3.1.5 Padding Oracle Attack191 3.3.1.6 Hash Length Extension197 3.3.1.7 伪随机数200 3.3.1.8 密码学小结202 3.3.2 Web中的逆向工程202 3.3.2.1 Python202 3.3.2.2 PHP203 3.3.2.3 JavaScript206 3.4 逻辑漏洞207 3.4.1 常见的逻辑漏洞207 3.4.2 CTF中的逻辑漏洞211 3.4.3 逻辑漏洞小结212 小结212 第4章 APK213 4.1 Android开发基础213 4.1.1 Android四大组件213 4.1.2 APK文件结构214 4.1.3 DEX文件格式214 4.1.4 Android API215 4.1.5 Android示例代码216 4.2 APK逆向工具217 4.2.1 JEB217 4.2.2 IDA219 4.2.3 Xposed Hook220 4.2.4 Frida Hook222 4.3 APK逆向之反调试224 4.4 APK逆向之脱壳224 4.4.1 注入进程Dump内存224 4.4.2 修改源码脱壳225 4.4.3 类重载和DEX重组227 4.5 APK真题解析227 4.5.1 Ollvm混淆Native App逆向(NJCTF 2017)227 4.5.2 反调试及虚拟机检测(XDCTF 2016)230 小结232 第5章 逆向工程233 5.1 逆向工程基础233 5.1.1 逆向工程概述233 5.1.2 可执行文件233 5.1.3 汇编语言基本知识234 5.1.4 常用工具介绍239 5.2 静态分析243 5.2.1 IDA使用入门243 5.2.2 HexRays反编译器入门249 5.2.3 IDA和HexRays进阶254 5.3 动态调试和分析258 5.3.1 调试的基本原理258 5.3.2 OllyDBG和x64DBG调试258 5.3.3 GDB调试264 5.3.4 IDA调试器265 5.4 常见算法识别273 5.4.1 特征值识别273 5.4.2 特征运算识别274 5.4.3 第三方库识别274 5.5 二进制代码保护和混淆276 5.5.1 抵御静态分析277 5.5.2 加密280 5.5.3 反调试289 5.5.4 浅谈ollvm296 5.6 不错语言逆向297 5.6.1 Rust和Go298 5.6.2 C#和Python301 5.6.3 C++ MFC302 5.7 现代逆向工程技巧303 5.7.1 符号执行303 5.7.1.1 符号执行概述303 5.7.1.2 angr304 5.7.1.3 angr小结313 5.7.2 二进制插桩313 5.7.3 Pin314 5.7.3.1 环境配置314 5.7.3.2 Pintool使用317 5.7.3.3 Pintool基本框架317 5.7.3.4 CTF实战:记录执行指令数319 5.7.3.5 CTF实战:记录指令轨迹322 5.7.3.6 CTF实战:记录指令执行信息与修改内存325 5.7.3.7 Pin小结330 5.8 逆向中的技巧331 5.8.1 Hook331 5.8.2 巧妙利用程序已有代码331 5.8.3 Dump内存332 小结333 第6章 PWN335 6.1 PWN基础335 6.1.1 什么是PWN335 6.1.2 如何学习PWN335 6.1.3 Linux基础知识336 6.1.3.1 Linux中的系统与函数调用336 6.1.3.2 ELF文件结构337 6.1.3.3 Linux下的漏洞缓解措施338 6.1.3.4 GOT和PLT的作用339 6.2 整数溢出340 6.2.1 整数的运算340 6.2.2 整数溢出如何利用341 6.3 栈溢出341 6.4 返回导向编程346 6.5 格式化字符串漏洞350 6.5.1 格式化字符串漏洞基本原理350 6.5.2 格式化字符串漏洞基本利用方式352 6.5.3 格式化字符串不在栈上的利用方式354 6.5.4 格式化字符串的一些特殊用法357 6.5.5 格式化字符串小结358 6.6 堆利用358 6.6.1 什么是堆358 6.6.2 简单的堆溢出359 6.6.3 堆内存破坏漏洞利用360 6.6.3.1 Glibc调试环境搭建360 6.3.6.2 Fast Bin Attack361 6.6.3.3 Unsorted Bin List367 6.6.3.4 Unlink攻击371 6.6.3.5 Large Bin Attack(0CTF heapstormII)375 6.6.3.6 Make Life Easier:tcache379 6.6.3.7 Glibc 2.29的tcache380 6.7 Linux内核PWN381 6.7.1 运行一个内核381 6.7.2 网络配置381 6.7.3 文件系统382 6.7.4 初始化脚本382 6.7.5 内核调试383 6.7.6 分析程序383 6.7.7 漏洞利用384 6.7.8 PWN Linux小结387 6.7.9 Linux内核PWN源代码387 6.8 Windows系统的PWN389 6.8.1 Windows的权限管理390 6.8.2 Windows的调用约定390 6.8.3 Windows的漏洞缓解机制391 6.8.4 Windows的PWN技巧393 6.9 Windows内核PWN394 6.9.1 关于Windows操作系统394 6.9.1.1 80386和保护模式394 6.9.1.2 Windows操作系统寻址395 6.9.1.3 Windows操作系统架构403 6.9.1.4 Windows内核调试环境404 6.9.2 Windows内核漏洞407 6.9.2.1 简单的Windows驱动开发入门408 6.9.2.2 编写栈溢出示例411 6.9.2.3 编写任意地址写示例413 6.9.2.4 加载内核驱动程序414 6.9.2.5 Windows 7内核漏洞利用416 6.9.2.6 内核缓解措施与读写原语426 6.9.3 参考与引用431 6.10 从CTF到现实世界的PWN431 小结433 第7章 Crypto435 7.1 编码435 7.1.1 编码的概念435 7.1.2 Base编码436 7.1.3 其他编码437 7.1.4 编码小结438 7.2 古典密码438 7.2.1 线性映射438 7.2.2 固定替换439 7.2.3 移位密码440 7.2.4 古典密码小结440 7.3 分组密码441 7.3.1 分组密码常见工作模式441 7.3.1.1 ECB441 7.3.1.2 CBC441 7.3.1.3 OFB442 7.3.1.4 CFB443 7.3.1.5 CTR443 7.3.2 费斯妥密码和DES444 7.3.2.1 费斯妥密码444 7.3.2.2 DES445 7.3.2.3 例题447 7.3.3 AES449 7.3.3.1 有限域449 7.3.3.2 Rijndael密钥生成451 7.3.3.3 AES步骤452 7.3.3.4 常见攻击453 7.4 流密码457 7.4.1 线性同余生成器(LCG)457 7.4.1.1 由已知序列破译LCG458 7.4.1.2 攻破Linux Glibc的rand()函数-1460 7.4.2 线性反馈移位寄存器(LFSR)460 7.4.2.1 由已知序列破译LFSR461 7.4.2.2 攻破Linux glibc的rand()函数-2461 7.4.3 RC4463 7.5 公钥密码464 7.5.1 公钥密码简介464 7.5.2 RSA464 7.5.2.1 RSA简介464 7.5.2.2 RSA的常见攻击465 7.5.3 离散对数相关密码学470 7.5.3.1 ElGamal和ECC470 7.5.3.2 离散对数的计算470 7.6 其他常见密码学应用472 7.6.1 Diffie-Hellman密钥交换472 7.6.2 Hash长度扩展攻击473 7.6.3 Shamir门限方案474 小结475 第8章 智能合约476 8.1 智能合约概述476 8.1.1 智能合约介绍476 8.1.2 环境和工具476 8.2 以太坊智能合约题目实例477 8.2.1 “薅羊毛”477 8.2.2 Remix的使用482 8.2.3 深入理解以太坊区块链484 小结488 第9章 Misc489 9.1 隐写术490 9.1.1 直接附加490 9.1.2 EXIF492 9.1.3 LSB494 9.1.4 盲水印497 9.1.5 隐写术小结498 9.2 压缩包加密498 9.3 取证技术499 9.3.1 流量分析500 9.3.1.1 Wireshark和Tshark500 9.3.1.2 流量分析常见操作501 9.3.1.3 特殊种类的流量包分析504 9.3.1.4 流量包分析小结505 9.3.2 内存镜像取证505 9.3.2.1 内存取证介绍505 9.3.2.2 内存取证常见操作505 9.3.2.3 内存取证小结507 9.3.3 磁盘镜像取证507 9.3.3.1 磁盘镜像介绍507 9.3.3.2 磁盘取证常见操作507 9.3.3.3 磁盘取证小结509 小结509 0章 代码审计510 10.1 PHP代码审计510 10.1.1 环境搭建510 10.1.2 审计流程517 10.1.3 案例527 10.2 Java代码审计536 10.2.1 学习经验536 10.2.2 环境搭建538 10.2.3 反编译工具540 10.2.4 Servlet简介541 10.2.5 Serializable简介542 10.2.6 反序列化漏洞545 10.2.6.1 漏洞概述545 10.2.6.2 漏洞利用形式546 10.2.7 表达式注入552 10.2.7.1 表达式注入概述552 10.2.7.2 表达式注入漏洞特征552 10.2.7.3 表达式结构概述553 10.2.7.5 S2-045简要分析555 10.2.7.6 表达式注入小结558 10.2.8 Java Web漏洞利用方式558 10.2.8.1 JNDI注入558 10.2.8.2 反序列化利用工具ysoserial/marshalsec563 10.2.8.3 Java Web漏洞利用方式小结566 小结566 CTF之线下赛 1章 AWD571 11.1 比赛前期准备571 11.2 比赛技巧573 11.2.1 如何快速反应573 11.2.2 如何优雅、持续地拿flag574 11.2.3 优势和劣势577 11.3 流量分析578 11.4 漏洞修复578 小结579 2章 靶场渗透580 12.1 打造渗透环境580 12.1.1 Linux下Metasploit的安装和使用580 12.1.2 Linux下Nmap的安装和使用584 12.1.3 Linux下Proxychains的安装和使用586 12.1.4 Linux下Hydra的安装和使用587 12.1.5 Windows下PentestBox的安装588 12.1.6 Windows下Proxifier的安装588 12.2 端口转发和代理589 12.2.1 端口转发592 12.2.2 Socks代理597 12.3 常见漏洞利用方式598 12.3.1 ms08-067598 12.3.2 ms14-068599 12.3.3 ms17-010600 12.4 获取认证凭证601 12.4.1 获取明文身份凭证602 12.4.1.1 LSA Secrets602 12.4.1.2 LSASS Process604 12.4.1.3 LSASS Protection bypass605 12.4.1.4 Credential Manager606 12.4.1.5 在用户文件中寻找身份凭证Lazange607 12.4.2 获取Hash身份凭证607 12.4.2.1 通过SAM数据库获取本地用户Hash凭证607 12.4.2.2 通过域控制器的NTDS.dit文件609 12.5 横向移动611 12.5.1 Hash传递611 12.5.2 票据传递613 12.5.2.1 Kerberos认证613 12.5.2.2 金票据614 12.5.2.3 银票据615 12.6 靶场渗透案例618 12.6.1 3届CUIT校赛渗透题目618 12.6.2 Defcon China靶场题625 12.6.3 PWNHUB深入敌后632 小结636 CTF之团队建设 3章 我们的战队641 13.1 无中生有,有生无穷641 13.2 上下而求索642 13.3 多面发展的Nu1L战队643 13.3.1 承办比赛643 13.3.2 空指针社区643 13.3.3 安全会议演讲644 13.4 人生的选择644 13.5 战队队长的话646 小结647 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。