《黑客攻防技术宝典-系统实战篇2版》[英]安雷2010人民邮电16开545页:由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何检查Windows、Linux、Solaris等流行操作系统中的安全漏洞和Oracle等数据库中的安全隐患。适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。
目录:写在前面、栈溢出、shellcode、格式化串漏洞、堆溢出、Windows操作系统、Windows shellcode及溢出、战胜过滤器、Solaris破解入门、OS X shellcode、思科IOS破解技术、保护机制、建立工作环境、故障注入、模糊测试艺术、源码审计、手工方法、跟踪漏洞、二进制审计、其他载荷策略、编写实境运行代码、攻击数据库软件、UNIX内核溢出及破解Windows内核等。
¥
288
八五品
仅1件
作者 [英]Chris Anley安雷/ John Heasman / Felix Linder / Gerardo Richarte
出版社 人民邮电出版社
出版时间 2010
装帧 平装
开本 16开
页数 545页
上书时间 2023-02-08
商品详情
品相描述:八五品
商品描述
黑客攻防技术宝典:系统实战篇(第2版) 作者: [英] 安雷 著 ; 罗爱国 译 ; 郑艳杰 译 出版社: 人民邮电出版社 出版时间: 2010-01 版次: 1 ISBN: 9787115217967 定价: 79.00 装帧: 平装 开本: 16开 纸张: 胶版纸 页数: 545页 字数: 826千字 正文语种: 简体中文 原版书名: The Shellcoder's Handbook 丛书: 图灵程序设计丛收·网络安全系列 内容简介: 《黑客攻防技术宝典:系统实战篇(第2版)》由世界顶级安全专家亲自执笔,详细阐述了系统安全、应用程序安全、软件破解、加密解密等安全领域的核心问题,并用大量的实例说明如何检查Windows、Linux、Solaris等流行操作系统中的安全漏洞和Oracle等数据库中的安全隐患。 《黑客攻防技术宝典:系统实战篇(第2版)》适用于所有计算机安全领域的技术人员和管理人员以及对计算机安全感兴趣的爱好者。 作者简介: ChrisAnley,世界知名系统安全专家。具有各种操作系统漏洞挖掘的丰富经验。NextGeneration安全软件公司创始人、总监。 JohnHeasman,世界知名安全专家,尤其擅长于企业级软件安全攻防技术。著有多篇安全方面的颇有影响力的论文。现任NextGeneration安全软件公司研发总监。 FeIix“FX”Linder,世界知名安全专家。具有近20年的计算机安全领域工作经验,熟悉各种操作系统特性。目前领导着德国著名安全技术咨询公司SABRELabs。 GerardoRicharte,著名安全技术专家。精通漏洞挖掘和逆向工程。他还参与开发了著名的SqueakNOS项目。现为Core安全技术公司技术骨干。 目录: 第一部分破解入门:x86上的Linux 第1章写在前面2 1.1基本概念2 1.1.1内存管理3 1.1.2汇编语言4 1.2识别汇编指令里的C和C++代码5 1.3小结7 第2章栈溢出8 2.1缓冲区8 2.2栈10 2.3栈上的缓冲区溢出13 2.4有趣的转换17 2.5利用漏洞获得根特权20 2.5.1地址问题21 2.5.2NOP法26 2.6战胜不可执行栈28 2.7小结31 第3章shellcode32 3.1理解系统调用32 3.2为exit()系统调用写shellcode34 3.3可注入的shellcode37 3.4派生shell39 3.5小结46 第4章格式化串漏洞47 4.1储备知识47 4.2什么是格式化串47 4.3什么是格式化串漏洞49 4.4利用格式化串漏洞52 4.4.1使服务崩溃53 4.4.2信息泄露54 4.5控制程序执行59 4.6为什么会这样67 4.7格式化串技术概述67 4.8小结69 第5章堆溢出70 5.1堆是什么70 5.2发现堆溢出71 5.2.1基本堆溢出72 5.2.2中级堆溢出77 5.2.3高级堆溢出83 5.3小结84 第二部分其他平台:Windows、Solaris、OSX和Cisco 第6章Windows操作系统86 6.1Windows和Linux有何不同86 6.2堆88 6.3DCOM、DCE-RPC的优缺点90 6.3.1侦察91 6.3.2破解93 6.3.3令牌及其冒用93 6.3.4Win32平台的异常处理95 6.4调试Windows96 6.4.1Win32里的bug96 6.4.2编写Windowsshellcode97 6.4.3Win32API黑客指南97 6.4.4黑客眼中的Windows98 6.5小结99 第7章Windowsshellcode100 7.1句法和过滤器100 7.2创建101 7.2.1剖析PEB102 7.2.2分析Heapoverflow.c102 7.3利用Windows异常处理进行搜索116 7.4弹出shell121 7.5为什么不应该在Windows上弹出shell122 7.6小结122 第8章Windows溢出123 8.1栈缓冲区溢出123 8.2基于帧的异常处理程序123 8.3滥用Windows2003Server上的基于帧的异常处理127 8.3.1滥用已有的处理程序128 8.3.2在与模块不相关的地址里寻找代码段,从而返回缓冲区129 8.3.3在没有LoadConfigurationDirectory的模块的地址空间里寻找代码段130 8.3.4关于改写帧处理程序的最后说明131 8.4栈保护与Windows2003Server131 8.5堆缓冲区溢出136 8.6进程堆136 8.6.1动态堆136 8.6.2与堆共舞136 8.6.3堆是如何工作的137 8.7破解堆溢出140 8.7.1改写PEB里指向RtlEnterCriticalSection的指针140 8.7.2改写指向未处理异常过滤器的指针146 8.7.3修复堆152 8.7.4堆溢出的其他问题154 8.7.5有关堆的总结154 8.8其他的溢出154 8.8.1.data区段溢出154 8.8.2TEBPEB溢出156 8.9破解缓冲区溢出和不可执行栈156 8.10小结161 第9章战胜过滤器162 9.1为仅接受字母和数字的过滤器写破解代码162 9.2为使用Unicode的过滤器写破解代码165 9.2.1什么是Unicode165 9.2.2从ASCII转为Unicode166 9.3破解Unicode漏洞166 9.4百叶窗法168 9.5译码器和译码171 9.5.1译码器的代码172 9.5.2在缓冲区地址上定位173 9.6小结174 第10章Solaris破解入门175 10.1SPARC体系结构介绍175 10.1.1寄存器和寄存器窗口176 10.1.2延迟槽177 10.1.3合成指令177 10.2SolarisSPARCshellcode基础178 10.2.1自定位和SPARCshellcode178 10.2.2简单的SPARCexecshellcode178 10.2.3Solaris里有用的系统调用179 10.2.4NOP和填充指令180 10.3SolarisSPARC栈帧介绍180 10.4栈溢出的方法180 10.4.1任意大小的溢出180 10.4.2寄存器窗口和栈溢出的复杂性181 10.4.3其他复杂的因素181 10.4.4可能的解决方法181 10.4.5off-by-one栈溢出漏洞182 10.4.6shellcode的位置182 10.5栈溢出破解实战183 10.5.1脆弱的程序183 10.5.2破解代码184 10.6SolarisSPARC上的堆溢出187 10.6.1SolarisSystemV堆介绍188 10.6.2堆的树状结构188 10.7基本的破解方法(t_delete)209 10.7.1标准堆溢出的限制210 10.7.2改写的目标211 10.8其他与堆相关的漏洞213 10.8.1off-by-one溢出213 10.8.2二次释放漏洞214 10.8.3任意释放漏洞214 10.9堆溢出的例子214 10.10破解Solaris的其他方法218 10.10.1静态数据溢出218 10.10.2绕过不可执行栈保护218 10.11小结219 第11章高级Solaris破解220 11.1单步执行动态链接程序221 11.2SolarisSPARC堆溢出的各种技巧235 11.3高级SolarisSPARCshellcode236 11.4小结248 第12章OSXshellcode249 12.1OSX就是BSD吗249 12.2OSX是否开源250 12.3UNIX支持的OSX250 12.4OSXPowerPCshellcode251 12.5OSXIntelshellcode257 12.5.1shellcode实例258 12.5.2ret2libc259 12.5.3ret2str(l)cpy261 12.6OSX跨平台shellcode263 12.7OSX堆利用264 12.8在OSX中寻找bug266 12.9一些有趣的bug266 12.10关于OSX破解的必读资料267 12.11小结268 第13章思科IOS破解技术269 13.1思科IOS纵览269 13.1.1硬件平台269 13.1.2软件包270 13.1.3IOS系统架构271 13.2思科IOS里的漏洞274 13.2.1协议剖析代码274 13.2.2路由器上的服务274 13.2.3安全特征274 13.2.4命令行接口275 13.3逆向分析IOS275 13.3.1仔细剖析映像275 13.3.2比较IOS映像文件276 13.3.3运行时分析277 13.4破解思科IOS281 13.4.1栈溢出282 13.4.2堆溢出283 13.4.3shellcode286 13.5小结294 第14章保护机制295 14.1保护295 14.1.1不可执行栈296 14.1.2W^X内存299 14.1.3栈数据保护304 14.1.4AAAS309 14.1.5ASLR310 14.1.6堆保护312 14.1.7WindowsSEH保护机制318 14.1.8其他保护机制321 14.2不同实现之间的差异322 14.2.1Windows322 14.2.2Linux325 14.2.3OpenBSD327 14.2.4MacOSX328 14.2.5Solaris329 14.3小结330 第三部分漏洞发现 第15章建立工作环境332 15.1需要什么样的参考资料332 15.2用什么编程333 15.2.1gcc333 15.2.2gdb333 15.2.3NASM333 15.2.4WinDbg333 15.2.5OllyDbg333 15.2.6VisualC++334 15.2.7Python334 15.3研究时需要什么334 15.3.1有用的定制脚本工具334 15.3.2所有的平台335 15.3.3UNIX336 15.3.4Windows336 15.4需要学习的资料337 15.5优化shellcode开发339 15.5.1计划339 15.5.2用内联汇编写shellcode340 15.5.3维护shellcode库341 15.5.4持续运行341 15.5.5使破解程序稳定可靠342 15.5.6窃取连接343 15.6小结343 第16章故障注入344 16.1设计概要345 16.1.1生成输入数据345 16.1.2故障注入347 16.1.3修正引擎347 16.1.4提交故障351 16.1.5Nagel算法351 16.1.6时序351 16.1.7试探法351 16.1.8无状态协议与基于状态的协议352 16.2故障监视352 16.2.1使用调试器352 16.2.2FaultMon352 16.3汇总353 16.4小结354 第17章模糊测试的艺术355 17.1模糊测试理论355 17.1.1静态分析与模糊测试359 17.1.2可扩缩的模糊测试359 17.2模糊测试法的缺点360 17.3建立任意的网络协议模型361 17.4其他可能的模糊测试法362 17.4.1位翻转362 17.4.2修改开源程序362 17.4.3带动态分析的模糊测试362 17.5SPIKE363 17.5.1什么是SPIKE363 17.5.2为什么用SPIKE数据结构模仿网络协议364 17.6其他的模糊测试工具371 17.7小结371 第18章源码审计:在基于C的语言里寻找漏洞372 18.1工具373 18.1.1Cscope373 18.1.2Ctags373 18.1.3编辑器373 18.1.4Cbrowser373 18.2自动源码分析工具374 18.3方法论374 18.3.1自顶向下(明确的)的方法374 18.3.2自底向上的方法375 18.3.3结合法375 18.4漏洞分类375 18.4.1普通逻辑错误375 18.4.2(几乎)绝迹的错误分类375 18.4.3格式化串376 18.4.4错误的边界检查377 18.4.5循环结构378 18.4.6off-by-one漏洞378 18.4.7非正确终止问题379 18.4.8跳过以\0结尾问题380 18.4.9有符号数比较漏洞381 18.4.10整数相关漏洞382 18.4.11不同大小的整数转换383 18.4.12二次释放错误384 18.4.13超出范围的内存使用漏洞384 18.4.14使用未初始化的变量384 18.4.15释放后再使用漏洞385 18.4.16多线程问题和重入安全代码386 18.5超越识别:真正的漏洞和错误386 18.6小结386 第19章手工的方法387 19.1原则387 19.2Oracleextproc溢出387 19.3普通的体系架构故障390 19.3.1问题发生在边界390 19.3.2在数据转换时出现问题391 19.3.3不对称区域里的问题393 19.3.4当认证和授权混淆的时候出现问题393 19.3.5在最显眼的地方存在的问题393 19.4绕过输入验证和攻击检测394 19.4.1剥离坏数据394 19.4.2使用交替编码394 19.4.3使用文件处理特征395 19.4.4避开攻击特征397 19.4.5击败长度限制397 19.5Windows2000SNMPDOS399 19.6发现DOS攻击399 19.7SQL-UDP400 19.8小结400 第20章跟踪漏洞402 20.1概述402 20.1.1脆弱的程序403 20.1.2组件设计404 20.1.3编译VulnTrace411 20.1.4使用VulnTrace416 20.1.5高级的技术418 20.2小结419 第21章二进制审计:剖析不公开源码的软件421 21.1二进制与源码审计之间的明显差异421 21.2IDApro——商业工具422 21.2.1IDA特征简介422 21.2.2调试符号423 21.3二进制审计入门423 21.3.1栈帧423 21.3.2调用约定424 21.3.3编译器生成的代码425 21.3.4类似memcpy代码构造428 21.3.5类似stlen的代码构造429 21.3.6C++代码构造429 21.3.7this指针429 21.4重构类定义430 21.4.1vtables430 21.4.2快速且有用的花絮431 21.5手动二进制分析431 21.5.1快速检查函数库调用431 21.5.2可疑的循环和写指令431 21.5.3高层理解和逻辑错误432 21.5.4二进制的图形化分析432 21.5.5手动反编译433 21.6二进制漏洞例子433 21.6.1微软SQLServer错误433 21.6.2LSD的RPC-DCOM漏洞434 21.6.3IISWebDav漏洞434 21.7小结436 第四部分高级内容 第22章其他载荷策略438 22.1修改程序438 22.2SQLServer3B补丁439 22.3MySQL1位补丁442 22.4OpenSSHRSA认证补丁443 22.5其他运行时修补方法444 22.6上载和运行(或proglet服务器)446 22.7系统调用代理446 22.8系统调用代理的问题448 22.9小结456 第23章编写在实际环境中运行的代码457 23.1不可靠的因素457 23.1.1魔术数字457 23.1.2版本458 23.1.3shellcode问题458 23.2对策459 23.2.1准备460 23.2.2暴力破解460 23.2.3本地破解461 23.2.4OS应用程序指纹461 23.2.5信息泄露463 23.3小结463 第24章攻击数据库软件464 24.1网络层攻击464 24.2应用层攻击474 24.3运行操作系统命令475 24.3.1微软SQLServer475 24.3.2Oracle475 24.3.3IBMDB2476 24.4SQL层的多种利用方法478 24.5小结480 第25章UNIX内核溢出481 25.1内核漏洞类型481 25.20day内核漏洞489 25.2.1OpenBSDexec_ibcs2_coff_prep_zmagic()栈溢出489 25.2.2漏洞490 25.3Solarisvfs_getvfssw()可加载内核模块遍历漏洞494 25.3.1sysfs()系统调用495 25.3.2mount()系统调用496 25.4小结497 第26章破解UNIX内核漏洞498 26.1exec_ibcs2_coff_prep_zmagic()漏洞498 26.1.1计算偏移量和断点503 26.1.2改写返回地址并重定向执行流程505 26.1.3查找进程描述符(或进程结构)506 26.1.4开发内核模式载荷508 26.1.5从内核载荷返回509 26.1.6得到根权限(uid=0)514 26.2Solarisvfs_getvfssw()可加载内核模块路径遍历破解520 26.2.1精心编写破解代码521 26.2.2加载内核模块522 26.2.3得到根权限(uid=0)525 26.3小结526 第27章破解Windows内核527 27.1Windows内核模式缺陷——逐渐增多的猎物527 27.2Windows内核介绍528 27.3常见内核模式编程缺陷528 27.3.1栈溢出529 27.3.2堆溢出532 27.3.3没有充分验证用户模式地址532 27.3.4多目的化攻击533 27.3.5共享的对象攻击533 27.4Windows系统调用533 27.4.1理解系统调用534 27.4.2攻击系统调用535 27.5与设备驱动程序通信536 27.5.1IOCTL组件536 27.5.2发现IOCTL处理程序中的缺陷537 27.6内核模式载荷538 27.6.1提升用户模式进程538 27.6.2运行任意的用户模式载荷540 27.6.3颠覆内核安全543 27.6.4安装rootkit544 27.7内核shellcoder的必读资料544 27.8小结545
— 没有更多了 —
以下为对购买帮助不大的评价