第 1 篇 路由器漏洞基礎知識
第 1 章 基礎準備與工具 2
1.1 路由器漏洞的分類 2
1.1.1 路由器密碼破解漏洞 3
1.1.2 路由器Web漏洞 4
1.1.3 路由器後門漏洞 5
1.1.4 路由器溢齣漏洞 6
1.2 路由器係統的基礎知識和工具 6
1.2.1 MIPS Linux 7
1.2.2 BusyBox命令 7
1.2.3 文本編輯器 18
1.2.4 編譯工具GCC 24
1.2.5 調試工具GDB 26
1.3 MIPS匯編語言基礎 28
1.3.1 寄存器 28
1.3.2 字節序 30
1.3.3 MIPS尋址方式 31
1.3.4 MIPS指令集 32
1.4 HTTP協議 38
1.4.1 HTTP協議請求行 38
1.4.2 HTTP協議消息報頭 40
1.4.3 HTTP協議請求正文 42
第 2 章 必備軟件和環境 43
2.1 路由器漏洞分析必備軟件 43
2.1.1 VMware的安裝和使用 43
2.1.2 Python的安裝 48
2.1.3 在Linux下安裝IDA Pro 50
2.1.4 IDA的MIPS插件和腳本 52
2.2 路由器漏洞分析環境 55
2.2.1 固件分析利器Binwalk的安裝 55
2.2.2 Binwalk的基本命令 56
2.2.3 QEMU和MIPS 59
第 3 章 路由器漏洞分析高級技能 71
3.1 修復路由器程序運行環境 71
3.1.1 固件分析 71
3.1.2 編寫劫持函數動態庫 72
3.1.3 運行測試 74
3.2 Linux下IDA的反匯編與調試 78
3.2.1 靜態反匯編 78
3.2.2 動態調試 80
3.3 IDA腳本基礎 87
3.3.1 執行腳本 87
3.3.2 IDC語言 88
3.3.3 IDAPython 104
3.4 Python編程基礎 106
3.4.1 第一個Python程序 107
3.4.2 Python網絡編程 107
第 2 篇 路由器漏洞原理與利用
第 4 章 路由器 Web 漏洞 112
4.1 XSS漏洞 112
4.1.1 XSS簡介 112
4.1.2 路由器XSS漏洞 112
4.2 CSRF漏洞 113
4.2.1 CSRF簡介 113
4.2.2 路由器CSRF漏洞 113
4.3 基礎認證漏洞 114
4.3.1 基礎認證漏洞簡介 114
4.3.2 路由器基礎認證漏洞 115
第 5 章 路由器後門漏洞 116
5.1 關於路由器後門 116
5.2 路由器後門事件 116
5.2.1 D-Link路由器後門漏洞 117
5.2.2 Linksys TheMoon蠕蟲 117
5.2.3 NETGEAR路由器後門漏洞 117
5.2.4 Cisco路由器遠程特權提升漏洞 118
5.2.5 Tenda路由器後門漏洞 118
5.2.6 磊科全係列路由器後門 118
第 6 章 路由器溢齣漏洞 119
6.1 MIPS堆棧的原理 119
6.1.1 MIPS32架構堆棧 119
6.1.2 函數調用的棧布局 120
6.1.3 利用緩衝區溢齣的可行性 124
6.2 MIPS緩衝區溢齣 128
6.2.1 Crash 128
6.2.2 劫持執行流程 130
6.3 MIPS緩衝區溢齣利用實踐 134
6.3.1 漏洞攻擊組成部分 134
6.3.2 漏洞利用開發過程 139
第 7 章 基於 MIPS 的 Shellcode開發 147
7.1 MIPS Linux係統調用 147
7.1.1 write係統調用 149
7.1.2 execve係統調用 153
7.2 Shellcode編碼優化 156
7.2.1 指令優化 156
7.2.2 Shellcode編碼 158
7.3 通用Shellcode開發 164
7.3.1 reboot Shellcode 164
7.3.2 reverse_tcp Shellcode 166
7.4 Shellcode應用實例 173
7.4.1 劫持PC和確定偏移 173
7.4.2 確定攻擊途徑 173
7.4.3 構建漏洞攻擊數據 175
7.4.4 漏洞測試 177
第 3 篇 路由器漏洞實例分析與利用——軟件篇
第 8 章 路由器文件係統與提取 180
8.1 路由器文件係統 180
8.1.1 路由器固件 180
8.1.2 文件係統 181
8.2 手動提取文件係統 182
8.2.1 查看文件類型 182
8.2.2 手動判斷文件類型 184
8.2.3 手動提取文件係統 186
8.3 自動提取文件係統 189
8.3.1 Binwalk智能固件掃描 189
8.3.2 Binwalk的提取與分析 191
8.4 Binwalk用法進階 194
8.4.1 基於magic簽名文件自動提取 194
8.4.2 基於Binwalk的配置文件提取 199
第 9 章 漏洞分析簡介 201
9.1 漏洞分析概述 201
9.2 漏洞分析方法 201
第 10 章 D-Link DIR-815 路由器多次溢齣漏洞分析 203
10.1 漏洞介紹 203
10.2 漏洞分析 204
10.2.1 固件分析 204
10.2.2 漏洞成因分析 205
10.3 漏洞利用 216
10.3.1 漏洞利用方式:System/Exec 216
10.3.2 繞過0構造ROP Chain 218
10.3.3 生成POC 221
10.4 漏洞測試 225
第 11章 D-Link DIR-645 路由器溢齣漏洞分析 227
11.1 漏洞介紹 227
11.2 漏洞分析 229
11.2.1 固件分析 229
11.2.2 漏洞成因分析 229
11.3 漏洞利用 238
11.3.1 漏洞利用方式:System/Exec 239
11.3.2 生成POC 240
11.4 漏洞測試 243
第 12 章 D-Link DIR-505 便攜
路由器越界漏洞分析 244
12.1 漏洞介紹 244
12.2 漏洞分析 246
12.2.1 固件分析 246
12.2.2 漏洞成因分析 247
12.3 漏洞利用 251
12.3.1 漏洞利用方式:System/Exec 251
12.3.2 構造ROP Chain 252
12.3.3 生成POC 253
12.4 漏洞測試 255
第 13 章 Linksys WRT54G 路由器溢齣漏洞分析—運行環境
修復 257
13.1 漏洞介紹 257
13.2 漏洞分析 258
13.2.1 固件分析 258
13.2.2 修復運行環境 259
13.2.3 漏洞成因分析 265
13.3 漏洞利用 267
13.3.1 漏洞利用方式:執行Shellcode 267
13.3.2 生成POC 269
13.4 漏洞測試 271
第 14 章 磊科全係列路由器後門漏洞分析 273
14.1 漏洞介紹 273
14.2 漏洞分析 274
14.2.1 固件分析 274
14.2.2 漏洞成因分析 275
14.3 漏洞利用 281
14.4 漏洞測試 283
第 15 章 D-Link DIR-600M 路由器Web漏洞分析 286
15.1 漏洞介紹 286
15.2 漏洞分析 286
15.2.1 權限認證分析 287
15.2.2 數據提交分析 288
15.3 漏洞利用 288
15.4 漏洞統計分析 290
15.4.1 ZoomEye簡介 291
15.4.2 ZoomEye應用實例 291
15.4.3 小結 295
· · · · · · (
收起)