系列名 :安全技術經典譯叢
作者:(美)JamesC.Foster/MikePrice/
譯者:鄧勁生/
出版日期:2006年9月
版別版次:2006年9月第1版第1次印刷
國標編號:ISBN7-302-13216-X
條形碼 :9787302132165
字數:930千字印張:40.25
印數:1-4000頁數:640
開本:185*260
簡介
在這本書著作里,暢銷書作者JamesC.Foster首次將黑客如何對作業系統及其套用的核心組件進行攻擊和破解的方法公諸於世。本書提供了使用C/C++、Java、Perl和NASL編寫的各種代碼和腳本,來對最為危險的攻擊進行檢測和防護。涵蓋了安全專家和軟體開發人員必須注意的最重要的5個方面:編碼、套接字、Shellcode、移植套用和編寫安全工具。章節
第1章安全編碼基礎11.1引言2
1.2C/C++3
1.2.1語言特性3
1.2.2Hello,World!實例4
1.2.3數據類型5
1.2.4流程控制7
1.2.5函式8
1.2.6類9
1.2.7案例研究:傅立葉係數估算10
1.3Java13
1.3.1語言特性14
1.3.2Hello,World!實例15
1.3.3數據類型15
1.3.4流程控制16
1.3.5方法18
1.3.6類18
1.3.7獲取HTTP報頭20
1.4C#21
1.4.1移植到C#平台的商業案例21
1.4.2語言特性22
1.4.3Hello,World!實例23
1.4.4數據類型23
1.4.5流程控制25
1.4.6方法26
1.4.7類26
1.4.8C#執行緒28
1.4.9案例研究:命令行IP位址解析29
1.5Perl38
1.5.1數據類型39
1.5.2運算符40
1.5.3Perl腳本實例42
1.5.4專用變數44
1.5.5模式匹配和替換44
1.5.6正則表達式修飾符45
1.5.7常用的Perl工具45
1.5.8IAmaPerlCoder!46
1.5.9日誌修改工具47
1.6Python52
1.7本章小結56
1.8要點回顧56
1.9相關網站連結57
1.10常見問題58
第2章nasl腳本61
2.1引言62
2.1.1NASL的發展史62
2.1.2NASL的目標62
2.2NASL腳本的語法63
2.2.1注釋64
2.2.2變數64
2.2.3運算符66
2.2.4控制結構69
2.3編寫NASL腳本72
2.3.1編寫NASL個人專用工具73
2.3.2Nessus框架下的編程75
2.4案例研究:經典的NASL腳本77
2.5NASL代碼移植81
2.6本章小結90
2.7要點回顧91
2.8相關網站連結92
2.9常見問題92
第3章BSD套接字95
3.1引言96
3.2BSD套接字編程簡介96
3.3TCP客戶端與伺服器97
3.4UDP客戶端與伺服器103
3.5套接字選項111
3.6基於UDP套接字的網路掃描113
3.7基於TCP套接字的網路掃描122
3.8執行緒與並行134
3.9本章小結136
3.10要點回顧136
3.11相關網站連結137
3.12常見問題137
第4章Windows套接字139
4.1引言140
4.2Winsock概述140
4.3Winsock2.0141
4.3.1通過VisualStudio6.0連結142
4.3.2通過原始碼連結143
4.4案例研究:使用WinSock抓取網頁146
4.5編寫客戶端程式147
4.6編寫伺服器程式151
4.7編寫exploit及漏洞檢測程式155
4.8本章小結163
4.9要點回顧164
4.10常見問題165
4.11案例研究:使用Winsock執行Web攻擊166
4.12案例研究:使用Winsock執行遠程緩衝區溢出168
第5章Java套接字173
5.1引言174
5.2TCP/IP概述174
5.2.1TCP客戶端175
5.2.2IP位址及域名解析178
5.2.3基於文本的輸入/輸出:LineNumberReader類181
5.2.4TCP伺服器185
5.2.5使用瀏覽器連線TCPServer1189
5.2.6處理多重連線189
5.2.7WormCatcher198
5.3UDP客戶端與伺服器204
5.4本章小結211
5.5要點回顧211
5.5.1TCP客戶端211
5.5.2TCP伺服器211
5.5.3 UDP客戶端與伺服器211
5.6常見問題212
第6章編寫可移植的代碼215
6.1引言216
6.2UNIX和Windows移植指南216
6.2.1預編譯指令216
6.2.2確定作業系統218
6.2.3進程的創建和終止222
6.2.4多執行緒227
6.2.5信號234
6.2.6檔案操作236
6.2.7目錄操作239
6.2.8庫242
6.2.9Daemon/Win32服務編程247
6.2.10記憶體管理254
6.2.11命令行參數處理255
6.2.12整型數據類型259
6.3本章小結260
6.4要點回顧260
6.5常見問題261
第7章可移植的網路編程263
7.1引言264
7.2BSD套接字和Winsock264
7.3可移植的構件266
7.3.1返回值266
7.3.2擴展錯誤信息268
7.3.3API270
7.3.4原始套接字302
7.3.5Pcap和WinPcap313
7.4本章小結319
7.5要點回顧319
7.6常見問題319
第8章編寫shellcodeI323
8.1引言324
8.2shellcode概述324
8.2.1工具324
8.2.2彙編程式設計語言325
8.2.3Windows和UNIX的彙編比較328
8.3定址問題329
8.3.1方案一:使用call和jmp指令329
8.3.2方案二:將參數值入棧330
8.4NULL位元組問題331
8.5系統調用的實現332
8.5.1系統調用編號332
8.5.2系統調用參數332
8.5.3系統調用返回值334
8.6遠程shellcode334
8.6.1連線埠綁定shellcode334
8.6.2套接字描述符重用shellcode336
8.7本地shellcode337
8.7.1execveshellcode338
8.7.2setuidshellcode339
8.7.3chrootshellcode340
8.7.4Windowsshellcode344
8.8本章小結350
8.9要點回顧350
8.10相關網站連結352
8.11郵件列表352
8.12常見問題352
第9章編寫shellcodeII355
9.1引言356
9.2shellcode實例356
9.2.1write系統調用359
9.2.2execveshellcode362
9.2.3連線埠綁定shellcode370
9.2.4socket系統調用373
9.2.5bind系統調用374
9.2.6listen系統調用374
9.2.7accept系統調用375
9.2.8dup2系統調用375
9.2.9execve系統調用376
9.2.10反向連線shellcode381
9.2.11重用套接字的shellcode384
9.2.12重用檔案描述符386
9.2.13shellcode編碼392
9.3重用程式變數397
9.4跨作業系統的shellcode401
9.5了解現有的shellcode402
9.6本章小結406
9.7要點回顧406
9.8相關網站連結407
9.9郵件列表407
9.10常見問題407
第10章開發exploit程式I409
10.1引言410
10.2定位漏洞410
10.3遠程與本地exploit程式的編寫411
10.4格式化字元串攻擊412
10.4.1格式化字元串412
10.4.2格式化字元串漏洞的修復414
10.5案例研究:xlockmore用戶提供的格式化字元串漏洞CVE-2000-0763414
10.6TCP/IP漏洞417
10.7競爭條件418
10.7.1檔案競爭條件418
10.7.2信號競爭條件419
10.8案例研究:man輸入驗證錯誤419
10.9本章小結421
10.10要點回顧422
10.11相關網站連結423
10.12常見問題423
第11章開發exploit程式II425
11.1引言426
11.2為exploit編寫套接字和綁定426
11.2.1客戶端套接字編程426
11.2.2伺服器端套接字編程428
11.3棧溢出exploits429
11.3.1記憶體的組織430
11.3.2棧溢出431
11.3.3尋找開源軟體中可利用的棧溢出435
11.4案例研究:X11R64.2XLOCALEDIR溢出435
11.5堆破壞exploits440
11.6案例研究:OpenSSLSSLv2畸形客戶端密鑰遠程緩衝區溢出漏洞CAN-2002-0656444
11.7整型bugexploits457
11.7.1整數環繞458
11.7.2忽略大小檢查460
11.7.3其他整型bug462
11.8案例研究:OpenSSH質詢回響整型溢出漏洞CVE-2002-0639462
11.9案例研究:UWPOP2緩衝區溢出漏洞CVE-1999-0920466
11.10本章小結474
11.11要點回顧475
11.12相關網站連結476
11.13常見問題476
第12章開發exploit程式III479
12.1引言480
12.2MSF的使用480
12.3用Metasploit進行
exploit開發485
12.3.1確定攻擊向量485
12.3.2計算偏移量486
12.3.3選擇控制向量491
12.3.4發現返回地址495
12.3.5使用返回地址498
12.3.6確定壞字元500
12.3.7確定空間限制500
12.3.8空操作指令拖動器502
12.3.9選取有效載荷和編碼器503
12.4將exploit集成到MSF中511
12.4.1框架511
12.4.2分析一個現有的exploit模組512
12.4.3覆蓋方法516
12.5本章小結517
12.6要點回顧517
12.7相關網站連結518
12.8常見問題518
第13章編寫安全組件521
13.1引言522
13.2COM522
13.2.1COM對象522
13.2.2COM接口522
13.2.3COM運行時523
13.2.4COM對象的實現524
13.2.5COM進程內伺服器的實現526
13.3ATL527
13.3.1C++模板528
13.3.2ATL客戶端技術528
13.3.3ATL伺服器技術531
13.3.4ATL屬性543
13.4將COM擴展添加到RPCDump工具中547
13.4.1 COMEXE伺服器實現548
13.4.2控制流551
13.4.3應用程式集成例程552
13.4.4工具接口定義555
13.4.5組件類557
13.4.6應用程式集成:COMSupport.h563
13.4.7應用程式集成:RPCDump.C564
13.5本章小結566
13.6要點回顧566
13.7相關網站連結567
13.8常見問題567
第14章創建Web安全工具571
14.1引言572
14.2設計572
14.2.1攻擊簽名格式572
14.2.2簽名573
14.3深入分析573
14.3.1套接字和執行573
14.3.2解析器583
14.3.3頭檔案595
14.3.4編譯599
14.3.5執行599
14.4工具輸出600
14.5本章小結600
14.6要點回顧601
14.7相關網站連結601
14.8常見問題601
相關圖書
RedHatLinux9網路管理
精通電腦上網技巧600招
電腦上網
計算機網路(第2版)
黑客防範手冊
MicrosoftEnterpriseLibrary高效開發指南
電腦組網
Web套用開發技術
計算機網路技術基礎(第2版)
計算機網路技術與套用