《黑客攻防技術寶典:系統實戰篇(第2版)》目錄
一、前言:
邊看邊寫邊實操
二、目錄:
操作系統是連接計算機硬件與上層軟件及用戶的橋梁。該書全面介紹了操作系統的安全問題。從基本的棧、堆、內存布局等方面着手,深入到操作系統的各個層次方面。
第一部分:破解入門:x86上的Linux
第1章:基礎
1、基本概念
(1)內存管理
(2)匯編語言
2、識別匯編指令里的C&C++代碼
第2章:棧溢出
1、緩沖區
2、棧
3、棧上的緩沖區溢出
4、有趣的轉換
5、利用漏洞獲取根特權
(1)地址問題
(2)NOP法
6、戰勝不可執行棧
第3章:shellcode
1、理解系統調用
2、為exit()系統調用寫shellcode
3、可注入的shellcode
4、派生shell
第4章:格式化串漏洞
1、儲備知識
2、什么是格式化串
3、什么是格式化串漏洞
4、利用格式化串漏洞
(1)使服務崩潰
(2)信息泄露
5、控制程序執行
6、為什么會這樣
7、格式化串技術概述
第5章:堆溢出
1、堆是什么
2、發現堆溢出
(1)基本堆溢出
(2)中級堆溢出
(3)高級堆溢出
第二部分:其他平台:Windows、Solaris、OSX和Cisco
第6章:Windows操作系統
1、Windows和Linux有何不同
2、堆
3、DCOM、DCE-RPC的優缺點
(1)偵察
(2)破解
(3)令牌及其冒用
(4)Win32平台的異常處理
4、調試Windows
(1)Win32里的bug
(2)編寫Windows shellcode
(3)Win32 API黑客指南
(4)黑客眼中的Windows
第7章:Windows shellcode
1、句法和過濾器
2、創建
(1)剖析PEB
(2)分析Heapoverflow.c
3、利用Windows異常處理進行搜索
4、彈出shell
5、為什么不應該在Windows上彈出shell
第8章:Windows溢出
1、棧緩沖區溢出
2、基於幀的異常處理程序
3、濫用Windows 2003 server上的基於幀的異常處理
(1)濫用已有的處理程序
(2)在與模塊不相關的地址里尋找代碼段、從而返回緩沖區
(3)在沒有Load Configuration Directory的模塊的地址空間里尋找代碼段
(4)關於改寫幀處理程序的最后說明
4、棧保護與Windows 2003 server
5、堆緩沖區溢出
6、進程堆
(1)動態堆
(2)與堆共舞
(3)堆是如何工作的
7、破解堆溢出
(1)改寫PEB里指向RtlEnter CriticalSection的指針
(2)改寫指向未處理異常過濾器的指針
(3)修復堆
(4)堆溢出的其他問題
(5)有關堆的總結
8、其他的溢出
(1).data區段溢出
(2)TEB/PEB溢出
9、破解緩沖區溢出和不可執行棧
第9章:戰勝過濾器
(1)為僅接受字母和數字的過濾器寫破解代碼
(2)為使用Unicode的過濾器寫破解代碼
1)什么是Unicode
2)從ASCII轉為Unicode
(3)破解Unicode漏洞
(4)百葉窗法
(5)編碼器和譯碼
1)譯碼器的代碼
2)在緩沖區地址上定位
第10章:Solaris破解入門
1、SPARC體系結構介紹
(1)寄存器和寄存器窗口
(2)延遲槽
(3)合成指令
2、Solaris/SPARC shellcode 基礎
(1)自定義和SPARC shellcode
(2)簡單的SPARC exec shellcode
(3)Solaris里有用的系統調用
(4)NOP和填充指令
3、Solaris/SPARC棧幀介紹
4、棧溢出的方法
(1)任意大小的溢出
(2)寄存器窗口和棧溢出的復雜性
(3)其他復雜的因素
(4)可能的解決方法
(5)off-by-one棧溢出漏洞
(6)shell code的位置
5、棧溢出破解實戰
(1)脆弱的程序
(2)破解代碼
6、Solaris/SPARC上的堆溢出
(1)Solaris System V堆介紹
(2)堆的樹壯結構
7、基本的破解方法(t_delete)
(1)標准堆溢出的限制
(2)改寫的目標
8、其他與堆相關的漏洞
(1)off-by-one溢出
(2)二次釋放漏洞
(3)任意釋放漏洞
9、堆溢出的例子
10、破解Solaris的其他方法
(1)靜態數據溢出
(2)繞過不可執行棧保護
第11章:高級Solaris破解
1、單步執行動態鏈接程序
2、Solaris SPARC堆溢出的各種技巧
3、高級Solaris/SPARC shellcode
第12章:OS X shellcode
1、OS X 就是BSD嗎
2、OS X 是否開源
3、UNIX支持的OS X
4、OS X PowerPC shellcode
5、OS X Intel shellcode
(1)shellcode實例
(2)ret2libc
(3)ret2str(1)cpy
6、OS X 跨平台shell code
7、OS X 堆利用
8、在OS X 中尋找bug
9、一些有趣的bug
10、關於OS X 破解的必讀資料
第13章:思科IOS破解技術
1、思科IOS總覽
(1)硬件平台
(2)軟件包
(3)IOS系統架構
2、思科IOS里的漏洞
(1)協議剖析代碼
(2)路由器上的服務
(3)安全特征
(4)命令行接口
3、逆向分析IOS
(1)仔細剖析映像
(2)比較IOS映像文件
(3)運行時分析
4、破解思科IOS
(1)棧溢出
(2)堆溢出
(3)shellcode
第14章:保護機制
1、保護
(1)不可執行棧
(2)W^X內存
(3)棧數據保護
(4)AAAS
(5)ASLR
(6)堆保護
(7)Windows SEH保護機制
(8)其他保護機制
2、不同實現之間的差異:
(1)Windows
(2)Linux
(3)openBSD
(4)mac os x
(5)solaris
第三部分:漏洞發現
第15章:建立工作環境
第16章:故障注入
第17章:模糊測試藝術
第18章:源碼審計:基於C語言里尋找漏洞
第19章:手工方法
第20章:跟蹤漏洞
第21章:二進制審計:剖析不公開源碼的軟件
第四部分:高級內容
第22章:其他載荷策略
第23章:編寫在實際環境中運行的代碼
第24章:攻擊數據庫軟件
第25章:UNIX內核溢出
第26章:破解UNIX內核漏洞
第27章:破解Windows內核