《网络渗透技术》由安全焦点团队中的san,alert7,eyas,watercloud这四位成员共同完成。
本书的内容不敢妄称原创,更多的是在前人的研究基础上进一步深入发掘与整理。
但是书中的每一个演示实例都经过作者的深思熟虑与实际调试,凝聚了四位作者多年积累的经验。
从安全界顶级的杂志和会议看来,中国整体的系统与网络安全技术在世界上并不出色。
因为目前中国籍的专家在历届Phrack杂志上只有两篇文章,其中一篇还是在Linenoise里,而在Blackhat和Defcon会议的演讲台上至本书截稿时还未曾出现过中国籍专家。
虽然语言问题是其中一个很大的障碍,但我们也不得不正视这个令人沮丧的结果。
现在国内市场关于网络安全的书籍数不胜数,但是真正能够直面系统与网络安全底层技术的却又寥寥无几。
《网络渗透技术》以尽可能简单的实例深入浅出地揭示了系统与网络安全底层技术,我们不敢奢望每个看过本书的读者能够成为网络安全专家,但我们希望本书能够给后来者一些引导,希望以后在Phrack,Blackhat和Defcon上看到越来越多中国籍专家的身影。
内容导读本书共分十个章节,深入浅出地介绍了系统与网络安全底层技术。
第1章基础知识非常感谢安全焦点论坛技术研究版一些朋友的提议,在本书的最开始增加基础知识这个章节。
第1章简要地介绍了几种常用调试器和反汇编工具的基本使用方法。
对系统与网络安全有一定了解的读者可以跳过这一章。
第2章缓冲区溢出利用技术缓冲区溢出利用技术是本书的重点。
本章先介绍了缓冲区溢出的历史,然后一共介绍了六种平台操作系统的利用技术。
想要了解各种平台操作系统构架的读者不能错过本章。
作者精心设计了几个浅显易懂的实例,并且记录了每一步的调试过程。
相信读者看过本章内容以后,对缓冲区溢出的原理和利用技术会有深刻的理解。
第3章Shellcode技术如果没有Shellcode,那么缓冲区溢出一般也只能达到拒绝服务等效果,渗透测试者要想获得控制,必须用Shellcode实现各种功能。
比如,得到一个Shell,监听一个端口,添加一个用户。
本章不但介绍了各种平台的Shellcode的撰写与提取方法,还深入讨论了各种高级Shellcode技术及相应源码。
如远程溢出攻击时搜索套接字Shellcode技术的各种方法,这种技术在远程渗透测试过程中将更加隐蔽。
第4章堆溢出利用技术操作系统对堆的管理比栈复杂多了,而且各种操作系统使用的堆管理算法完全不同。
本章介绍了Linux,Windows和Solaris这三种操作系统的堆溢出利用技术,作者为每种操作系统都精心设计了几个浅显易懂的实例来描述各种利用方法。
第5章格式化串漏洞利用技术格式化串漏洞的历史要比缓冲区溢出短得多,而且一般也被认为是程序员的编程错误。
但是格式化串漏洞可以往任意地址写任意内容,所以它的危害也是非常致命的。
本章主要讨论了Linux,SolarisSPARC和Windows这三种平台的利用技术,由于各种操作系统的Libc不同,所以它们的利用过程也略有不同。
第6章内核溢出利用技术本章主要讨论当内核在数据处理过程中发生溢出时的利用方法。
内核态的利用与用户态很不一样,要求读者对系统内核有比较深入的了解。
本书的这一版目前只讨论Linuxx86平台的利用方法。
第7章其他利用技术本章讨论了一些不是很常见或特定情况下的溢出利用技术,主要有*BSD的memcpy溢出、文件流溢出、C++中溢出覆盖虚函数指针技术和绕过Pax内核补丁保护方法。
其中绕过Pax内核补丁保护方法这个小节要求读者对ELF文件格式有比较深入的了解。
第8章系统漏洞发掘分析相信许多读者会喜欢这一章。
在介绍了各种系统漏洞的利用方法以后,本章开始介绍漏洞发掘的一些方法,并且有多个实际漏洞详细分析,也算是前面几章利用技术的实践内容。
第9章CGI渗透测试技术通过系统漏洞获得服务器控制是最直接有效的方法,但是在实际的渗透测试过程中,客户的服务器可能都已经打过补丁了,甚至用防火墙限制只允许Web服务通行。
这时最好的渗透途径就是利用CGI程序的漏洞。
本章先介绍了跨站脚本和Cookie的安全问题,然后重点介绍PHP的各种渗透测试技巧。
第10章SQL注入利用技术现今的CGI程序一般都使用后台数据库,CGI程序的漏洞又导致了SQL注入的问题。
SQL注入利用技术是CGI渗透测试技术的一个重大分支,本章详细介绍了MySQL和SQLServer这两种最常见数据库的注入技术。
附录A系统与网络安全术语中英
1