资源大小: 46.43MB
发布时间: 2013-01-27
文件格式: pdf
下载次数: 7
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

中文名: 安全编程修炼之道原名: Sockets,Shellcode,Porting&Coding;作者: (美)福特斯(FosterJ.C.),(美)普里斯(PriceM.)译者: 邓劲生资源格式: PDF版本: 扫描版出版社: 清华大学出版社书号: 9787302132165发行时间: 2006年9月1日地区: 大陆语言: 简体中文简介: [内容简介:]从计算时代的早期开始到现在,安全行业经历了巨大的变化。早期的病毒、蠕虫和恶意软件在当今看来,简直都成了小儿科。随着行业的进一步发展,它又面临着一个转折点。这种日益激烈的矛盾关系(就是这种矛盾关系导致了这个行业的诞生)将会影响到我们的社会、文化和市场吗?让我们来看一组数据。如果研究一下1999年一个漏洞转化成蠕虫病毒所需的时间,再将这个数据与今天相比,就会发现现在出现一个自我繁殖的蠕虫要比1999年快20倍以上:在1999年需要280天,而在2004年仅需4天。这些蠕虫很容易就被制造出来并且随时可能触发,而完成攻击几乎就不需要什么知识。这就意味着有更多的黑客在更短的时间内编写出更多的攻击工具。我们第一次碰到这种新型的狡猾蠕虫,是在20世纪90年代后期出现的“sadmind”等蠕虫。它从攻击Solaris操作系统本地的RPC服务开始,在完成感染之后,它就从Sun Solaris系统向Windows系统进军,再循环往复。我们还看到了同时使用多个攻击方向的蠕虫,采用了针对不同服务的多种攻击技术。还有一些可以自动变种的蠕虫,使得检测和防护它们更加困难。大量的威胁在黑暗中等待,并且还不仅仅是蠕虫。明天的蠕虫将会融合所有这些方面(多系统平台、多应用程序和多方向)产生zero-day蠕虫,却没有修复或防止措施。 目录: 第1章 安全编码基础 1.1.1 引言 21.2 c/c++ 31.2.1 语言特性 31.2.2 hello,world!实例 41.2.3 数据类型 51.2.4 流程控制 71.2.5 函数 81.2.6 类 91.2.7 案例研究:傅立叶系数估算 101.3 java 131.3.1 语言特性 141.3.2 hello,world!实例 151.3.3 数据类型 151.3.4 流程控制 161.3.5 方法 181.3.6 类 181.3.7 获取http报头 201.4 c# 211.4.1 移植到c#平台的商业.案例 211.4.2 语言特性 221.4.3 hello,world!实例 231.4.4 数据类型 231.4.5 流程控制 251.4.6 方法 261.4.7 类 261.4.8 c#线程 281.4.9 案例研究:命令行ip地址解析 291.5 perl 381.5.1 数据类型 391.5.2 运算符 401.5.3 perl脚本实例 421.5.4 专用变量 441.5.5 模式匹配和替换 441.5.6 正则表达式修饰符 451.5.7 常用的perl工具 451.5.8 i am a perl coder! 461.5.9 日志修改工具 471.6 python 521.7 本章小结 561.8 要点回顾 561.9 相关网站链接 571.10 常见问题 58第2章 nasl脚本 612.1 引言 622.1.1 nasl的发展史 622.1.2 nasl的目标 622.2 nasl脚本的语法 632.2.1 注释 642.2.2 变量 642.2.3 运算符 662.2.4 控制结构 692.3 编写nasl脚本 722.3.1 编写nasl个人专用工具 732.3.2 nessus框架下的编程 752.4 案例研究:经典的nasl脚本 772.5 nasl代码移植 812.6 本章小结 902.7 要点回顾 912.8 相关网站链接 922.9 常见问题 92第3章 bsd套接字 953.1 引言 963.2 bsd套接字编程简介 963.3 tcp客户端与服务器 973.4 udp客户端与服务器 1033.5 套接字选项 1113.6 基于udp套接字的网络扫描 1133.7 基于tcp套接字的网络扫描 1223.8 线程与并行 1343.9 本章小结 1363.10 要点回顾 1363.11 相关网站链接 1373.12 常见问题 137第4章 windows套接字 1394.1 引言 1404.2 winsock概述 1404.3 winsock 2.0 1414.3.1 通过visual studio 6.0链接 1424.3.2 通过源代码链接 1434.4 案例研究:使用winsock抓取网页 1464.5 编写客户端程序 1474.6 编写服务器程序 1514.7 编写exploit及漏洞检测程序 1554.8 本章小结 1634.9 要点回顾 1644.10 常见问题 1654.11 案例研究:使用winsock执行web攻击 1664.12 案例研究:使用winsock执行远程缓冲区溢出 168第5章 java套接字 1735.1 引言 1745.2 tcp/ip概述 1745.2.1 tcp客户端 1755.2.2 ip地址及域名解析 1785.2.3 基于文本的输入/输出:linenumberreader类 1815.2.4 tcp服务器 1855.2.5 使用浏览器连接tcpserver1 1895.2.6 处理多重连接 1895.2.7 wormcatcher 1985.3 udp客户端与服务器 2045.4 本章小结 2115.5 要点回顾 2115.5.1 tcp客户端 2115.5.2 tcp服务器 2115.5.3 udp客户端与服务器 2115.6 常见问题 212第6章 编写可移植的代码 2156.1 引言 2166.2 unix和windows移植指南 2166.2.1 预编译指令 2166.2.2 确定操作系统 2186.2.3 进程的创建和终止 2226.2.4 多线程 2276.2.5 信号 2346.2.6 文件操作 2366.2.7 目录操作 2396.2.8 库 2426.2.9 daemon/win32服务编程 2476.2.10 内存管理 2546.2.11 命令行参数处理 2556.2.12 整型数据类型 2596.3 本章小结 2606.4 要点回顾 2606.5 常见问题 261第7章 可移植的网络编程 2637.1 引言 2647.2 bsd套接字和winsock 2647.3 可移植的构件 2667.3.1 返回值 2667.3.2 扩展错误信息 2687.3.3 api 2707.3.4 原始套接字 3027.3.5 pcap和winpcap 3137.4 本章小结 3197.5 要点回顾 3197.6 常见问题 319第8章 编写shellcode i 3238.1 引言 3248.2 shellcode概述 3248.2.1 工具 3248.2.2 汇编程序设计语言 3258.2.3 windows和unix的汇编比较 3288.3 寻址问题 3298.3.1 方案一:使用call和jmp指令 3298.3.2 方案二:将参数值入栈 3308.4 null字节问题 3318.5 系统调用的实现 3328.5.1 系统调用编号 3328.5.2 系统调用参数 3328.5.3 系统调用返回值 3348.6 远程shellcode 3348.6.1 端口绑定shellcode 3348.6.2 套接字描述符重用shellcode 3368.7 本地shellcode 3378.7.1 execve shellcode 3388.7.2 setuid shellcode 3398.7.3 chroot shellcode 3408.7.4 windows shellcode 3448.8 本章小结 3508.9 要点回顾 3508.10 相关网站链接 352..8.11 邮件列表 3528.12 常见问题 352第9章 编写shellcode ii 3559.1 引言 3569.2 shellcode实例 3569.2.1 write系统调用 3599.2.2 execve shellcode 3629.2.3 端口绑定shellcode 3709.2.4 socket系统调用 3739.2.5 bind系统调用 3749.2.6 listen系统调用 3749.2.7 accept系统调用 3759.2.8 dup2系统调用 3759.2.9 execve系统调用 3769.2.10 反向连接shellcode 3819.2.11 重用套接字的shellcode 3849.2.12 重用文件描述符 3869.2.13 shellcode编码 3929.3 重用程序变量 3979.4 跨操作系统的shellcode 4019.5 了解现有的shellcode 4029.6 本章小结 4069.7 要点回顾 4069.8 相关网站链接 4079.9 邮件列表 4079.10 常见问题 407第10章 开发exploit程序i 40910.1 引言 41010.2 定位漏洞 41010.3 远程与本地exploit程序的编写 41110.4 格式化字符串攻击 41210.4.1 格式化字符串 41210.4.2 格式化字符串漏洞的修复 41410.5 案例研究:xlockmore用户提供的格式化字符串漏洞cve-2000-0763 41410.6 tcp/ip漏洞 41710.7 竞争条件 41810.7.1 文件竞争条件 41810.7.2 信号竞争条件 41910.8 案例研究:man输入验证错误 41910.9 本章小结 42110.10 要点回顾 42210.11 相关网站链接 42310.12 常见问题 423第11章 开发exploit程序ii 42511.1 引言 42611.2 为exploit编写套接字和绑定 42611.2.1 客户端套接字编程 42611.2.2 服务器端套接字编程 42811.3 栈溢出exploits 42911.3.1 内存的组织 43011.3.2 栈溢出 43111.3.3 寻找开源软件中可利用的栈溢出 43511.4 案例研究:x11r6 4.2 xlocaledir溢出 43511.5 堆破坏exploits 44011.6 案例研究: openssl sslv2畸形客户端密钥远程缓冲区溢出漏洞can-2002-0656 44411.7 整型bug exploits 45711.7.1 整数环绕 45811.7.2 忽略大小检查 46011.7.3 其他整型bug 46211.8 案例研究: openssh质询响应整型溢出漏洞cve-2002-0639 46211.9 案例研究:uw pop2 缓冲区溢出漏洞cve-1999-0920 46611.10 本章小结 47411.11 要点回顾 47511.12 相关网站链接 47611.13 常见问题 476第12章 开发exploit程序iii 47912.1 引言 48012.2 msf的使用 48012.3 用metasploit进行exploit开发 48512.3.1 确定攻击向量 48512.3.2 计算偏移量 48612.3.3 选择控制向量 49112.3.4 发现返回地址 49512.3.5 使用返回地址 49812.3.6 确定坏字符 50012.3.7 确定空间限制 50012.3.8 空操作指令拖动器 50212.3.9 选取有效载荷和编码器 50312.4 将exploit集成到msf中 51112.4.1 框架 51112.4.2 分析一个现有的exploit模块 51212.4.3 覆盖方法 51612.5 本章小结 51712.6 要点回顾 51712.7 相关网站链接 51812.8 常见问题 518第13章 编写安全组件 52113.1 引言 52213.2 com 52213.2.1 com对象 52213.2.2 com接口 52213.2.3 com运行时 52313.2.4 com对象的实现 52413.2.5 com进程内服务器的实现 52613.3 atl 52713.3.1 c++模板 52813.3.2 atl客户端技术 52813.3.3 atl服务器技术 53113.3.4 atl属性 54313.4 将com扩展添加到rpcdump工具中 54713.4.1 com exe服务器实现 54813.4.2 控制流 55113.4.3 应用程序集成例程 55213.4.4 工具接口定义 55513.4.5 组件类 55713.4.6 应用程序集成:comsupport.h 56313.4.7 应用程序集成:rpcdump.c 56413.5 本章小结 56613.6 要点回顾 56613.7 相关网站链接 56713.8 常见问题 567第14章 创建web安全工具 57114.1 引言 57214.2 设计 57214.2.1 攻击签名格式 57214.2.2 签名 57314.3 深入分析 57314.3.1 套接字和执行 57314.3.2 解析器 58314.3.3 头文件 59514.3.4 编译 59914.3.5 执行 59914.4 工具输出 60014.5 本章小结 60014.6 要点回顾 60114.7 相关网站链接 60114.8 常见问题 601附录a 词汇 605附录b 安全工具汇编 613附录c exploit文档 619附录d 系统调用参考 621附录e 数据转换参考 625...


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。