在这本著作里,畅销书作者James C.Foster首次将黑客如何对操作系统及其应用的核心组件进行攻击和破解的方法公诸于世。本书提供了使用C/C++、Java、Perl和NASL编写的各种代码和脚本,来对最为危险的攻击进行检测和防护。涵盖了安全专家和软件开发人员必须注意的最重要的5个方面:编码、套接字、Shellcode、移植应用和编写安全工具。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 安全编程修炼之道/安全技术经典译丛 |
分类 | 教育考试-考试-计算机类 |
作者 | (美)福斯特//(美)普里斯 |
出版社 | 清华大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 在这本著作里,畅销书作者James C.Foster首次将黑客如何对操作系统及其应用的核心组件进行攻击和破解的方法公诸于世。本书提供了使用C/C++、Java、Perl和NASL编写的各种代码和脚本,来对最为危险的攻击进行检测和防护。涵盖了安全专家和软件开发人员必须注意的最重要的5个方面:编码、套接字、Shellcode、移植应用和编写安全工具。 内容推荐 本书内容包括: 开发Shellcode:对前所未见的Shellcode进行定制和优化以适用于几乎任何系统。 移植公共exploit:通过指令对工作在Windows、Linux、UNIX甚至Mac上的exploit进行移植。 定制windows COM对象:包装并自动化预编译的exploit和安全工具,例如Nmap、netcat和hping。 增强Nikto:开发自定义代码以显著提升Nikto Web服务器扫描工具的性能。 逆向工程“零日”:学习逆向工程、修改和重新自动化“零日”修复代码。 编写NASL脚本:针对Nessus开发脚本,以发现最新的漏洞。 标识并定位漏洞:通过案例研究学习黑客找到并攻击安全漏洞的方法。 掌握套接字:详细的代码示例演示了如何初始化和关闭套接字,以及如何读取和写入数据。 目录 第1章 安全编码基础 1 1.1 引言 2 1.2 C/C++ 3 1.2.1 语言特性 3 1.2.2 Hello,World!实例 4 1.2.3 数据类型 5 1.2.4 流程控制 7 1.2.5 函数 8 1.2.6 类 9 1.2.7 案例研究:傅立叶系数 估算 10 1.3 Java 13 1.3.1 语言特性 14 1.3.2 Hello,World!实例 15 1.3.3 数据类型 15 1.3.4 流程控制 16 1.3.5 方法 18 1.3.6 类 18 1.3.7 获取HTTP报头 20 1.4 C# 21 1.4.1 移植到C#平台的商业 案例 21 1.4.2 语言特性 22 1.4.3 Hello,World!实例 23 1.4.4 数据类型 23 1.4.5 流程控制 25 1.4.6 方法 26 1.4.7 类 26 1.4.8 C#线程 28 1.4.9 案例研究:命令行IP地址 解析 29 1.5 Perl 38 1.5.1 数据类型 39 1.5.2 运算符 40 1.5.3 Perl脚本实例 42 1.5.4 专用变量 44 1.5.5 模式匹配和替换 44 1.5.6 正则表达式修饰符 45 1.5.7 常用的Perl工具 45 1.5.8 I Am a Perl Coder! 46 1.5.9 日志修改工具 47 1.6 Python 52 1.7 本章小结 56 1.8 要点回顾 56 1.9 相关网站链接 57 1.10 常见问题 58 第2章 NASL脚本 61 2.1 引言 62 2.1.1 NASL的发展史 62 2.1.2 NASL的目标 62 2.2 NASL脚本的语法 63 2.2.1 注释 64 2.2.2 变量 64 2.2.3 运算符 66 2.2.4 控制结构 69 2.3 编写NASL脚本 72 2.3.1 编写NASL个人专用工具 73 2.3.2 Nessus框架下的编程 75 2.4 案例研究:经典的 NASL脚本 77 2.5 NASL代码移植 81 2.6 本章小结 90 2.7 要点回顾 91 2.8 相关网站链接 92 2.9 常见问题 92 第3章 BSD套接字 95 3.1 引言 96 3.2 BSD套接字编程简介 96 3.3 TCP客户端与服务器 97 3.4 UDP客户端与服务器 103 3.5 套接字选项 111 3.6 基于UDP套接字的 网络扫描 113 3.7 基于TCP套接字的 网络扫描 122 3.8 线程与并行 134 3.9 本章小结 136 3.10 要点回顾 136 3.11 相关网站链接 137 3.12 常见问题 137 第4章 Windows套接字 139 4.1 引言 140 4.2 Winsock概述 140 4.3 Winsock 2.0 141 4.3.1 通过Visual Studio 6.0 链接 142 4.3.2 通过源代码链接 143 4.4 案例研究:使用WinSock 抓取网页 146 4.5 编写客户端程序 147 4.6 编写服务器程序 151 4.7 编写exploit及漏洞 检测程序 155 4.8 本章小结 163 4.9 要点回顾 164 4.10 常见问题 165 4.11 案例研究:使用Winsock 执行Web攻击 166 4.12 案例研究:使用Winsock 执行远程缓冲区溢出 168 第5章 Java套接字 173 5.1 引言 174 5.2 TCP/IP概述 174 5.2.1 TCP客户端 175 5.2.2 IP地址及域名解析 178 5.2.3 基于文本的输入/输出: LineNumberReader类 181 5.2.4 TCP服务器 185 5.2.5 使用浏览器连接 TCPServer1 189 5.2.6 处理多重连接 189 5.2.7 WormCatcher 198 5.3 UDP客户端与服务器 204 5.4 本章小结 211 5.5 要点回顾 211 5.5.1 TCP客户端 211 5.5.2 TCP服务器 211 5.5.3 UDP客户端与服务器 211 5.6 常见问题 212 第6章 编写可移植的代码 215 6.1 引言 216 6.2 UNIX和Windows移植 指南 216 6.2.1 预编译指令 216 6.2.2 确定操作系统 218 6.2.3 进程的创建和终止 222 6.2.4 多线程 227 6.2.5 信号 234 6.2.6 文件操作 236 6.2.7 目录操作 239 6.2.8 库 242 6.2.9 Daemon/Win32服务编程 247 6.2.10 内存管理 254 6.2.11 命令行参数处理 255 6.2.12 整型数据类型 259 6.3 本章小结 260 6.4 要点回顾 260 6.5 常见问题 261 第7章 可移植的网络编程 263 7.1 引言 264 7.2 BSD套接字和Winsock 264 7.3 可移植的构件 266 7.3.1 返回值 266 7.3.2 扩展错误信息 268 7.3.3 API 270 7.3.4 原始套接字 302 7.3.5 Pcap和WinPcap 313 7.4 本章小结 319 7.5 要点回顾 319 7.6 常见问题 319 第8章 编写shellcode I 323 8.1 引言 324 8.2 shellcode概述 324 8.2.1 工具 324 8.2.2 汇编程序设计语言 325 8.2.3 Windows和UNIX的 汇编比较 328 8.3 寻址问题 329 8.3.1 方案一:使用call和 jmp指令 329 8.3.2 方案二:将参数值入栈 330 8.4 NULL字节问题 331 8.5 系统调用的实现 332 8.5.1 系统调用编号 332 8.5.2 系统调用参数 332 8.5.3 系统调用返回值 334 8.6 远程shellcode 334 8.6.1 端口绑定shellcode 334 8.6.2 套接字描述符重用 shellcode 336 8.7 本地shellcode 337 8.7.1 execve shellcode 338 8.7.2 setuid shellcode 339 8.7.3 chroot shellcode 340 8.7.4 Windows shellcode 344 8.8 本章小结 350 8.9 要点回顾 350 8.10 相关网站链接 352 8.11 邮件列表 352 8.12 常见问题 352 第9章 编写shellcode II 355 9.1 引言 356 9.2 shellcode实例 356 9.2.1 write系统调用 359 9.2.2 execve shellcode 362 9.2.3 端口绑定shellcode 370 9.2.4 socket系统调用 373 9.2.5 bind系统调用 374 9.2.6 listen系统调用 374 9.2.7 accept系统调用 375 9.2.8 dup2系统调用 375 9.2.9 execve系统调用 376 9.2.10 反向连接shellcode 381 9.2.11 重用套接字的shellcode 384 9.2.12 重用文件描述符 386 9.2.13 shellcode编码 392 9.3 重用程序变量 397 9.4 跨操作系统的shellcode 401 9.5 了解现有的shellcode 402 9.6 本章小结 406 9.7 要点回顾 406 9.8 相关网站链接 407 9.9 邮件列表 407 9.10 常见问题 407 第10章 开发exploit程序I 409 10.1 引言 410 10.2 定位漏洞 410 10.3 远程与本地exploit程序 的编写 411 10.4 格式化字符串攻击 412 10.4.1 格式化字符串 412 10.4.2 格式化字符串漏洞 的修复 414 10.5 案例研究:xlockmore用户 提供的格式化字符串漏洞 CVE-2000-0763 414 10.6 TCP/IP漏洞 417 10.7 竞争条件 418 10.7.1 文件竞争条件 418 10.7.2 信号竞争条件 419 10.8 案例研究:man输入验证 错误 419 10.9 本章小结 421 10.10 要点回顾 422 10.11 相关网站链接 423 10.12 常见问题 423 第11章 开发exploit程序II 425 11.1 引言 426 11.2 为exploit编写套接字和 绑定 426 11.2.1 客户端套接字编程 426 11.2.2 服务器端套接字编程 428 11.3 栈溢出exploits 429 11.3.1 内存的组织 430 11.3.2 栈溢出 431 11.3.3 寻找开源软件中可 利用的栈溢出 435 11.4 案例研究:X11R6 4.2 XLOCALEDIR溢出 435 11.5 堆破坏exploits 440 11.6 案例研究: OpenSSL SSLv2 畸形客户端密钥远程缓冲区 溢出漏洞CAN-2002-0656 444 11.7 整型bug exploits 457 11.7.1 整数环绕 458 11.7.2 忽略大小检查 460 11.7.3 其他整型bug 462 11.8 案例研究: OpenSSH质询 响应整型溢出漏洞 CVE-2002-0639 462 11.9 案例研究:UW POP2 缓冲 区溢出漏洞CVE-1999 -0920 466 11.10 本章小结 474 11.11 要点回顾 475 11.12 相关网站链接 476 11.13 常见问题 476 第12章 开发exploit程序III 479 12.1 引言 480 12.2 MSF的使用 480 12.3 用Metasploit进行 exploit开发 485 12.3.1 确定攻击向量 485 12.3.2 计算偏移量 486 12.3.3 选择控制向量 491 12.3.4 发现返回地址 495 12.3.5 使用返回地址 498 12.3.6 确定坏字符 500 12.3.7 确定空间限制 500 12.3.8 空操作指令拖动器 502 12.3.9 选取有效载荷和 编码器 503 12.4 将exploit集成到MSF中 511 12.4.1 框架 511 12.4.2 分析一个现有的exploit 模块 512 12.4.3 覆盖方法 516 12.5 本章小结 517 12.6 要点回顾 517 12.7 相关网站链接 518 12.8 常见问题 518 第13章 编写安全组件 521 13.1 引言 522 13.2 COM 522 13.2.1 COM对象 522 13.2.2 COM接口 522 13.2.3 COM运行时 523 13.2.4 COM对象的实现 524 13.2.5 COM进程内服务器 的实现 526 13.3 ATL 527 13.3.1 C++模板 528 13.3.2 ATL客户端技术 528 13.3.3 ATL服务器技术 531 13.3.4 ATL属性 543 13.4 将COM扩展添加到 RPCDump工具中 547 13.4.1 COM EXE服务器 实现 548 13.4.2 控制流 551 13.4.3 应用程序集成例程 552 13.4.4 工具接口定义 555 13.4.5 组件类 557 13.4.6 应用程序集成: COMSupport.h 563 13.4.7 应用程序集成: RPCDump.C 564 13.5 本章小结 566 13.6 要点回顾 566 13.7 相关网站链接 567 13.8 常见问题 567 第14章 创建Web安全工具 571 14.1 引言 572 14.2 设计 572 14.2.1 攻击签名格式 572 14.2.2 签名 573 14.3 深入分析 573 14.3.1 套接字和执行 573 14.3.2 解析器 583 14.3.3 头文件 595 14.3.4 编译 599 14.3.5 执行 599 14.4 工具输出 600 14.5 本章小结 600 14.6 要点回顾 601 14.7 相关网站链接 601 14.8 常见问题 601 附录A 词汇 605 附录B 安全工具汇编 613 附录C exploit文档 619 附录D 系统调用参考 621 附录E 数据转换参考 625 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。