注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信計算機網(wǎng)絡安全編程修煉之道

安全編程修煉之道

安全編程修煉之道

定 價:¥78.00

作 者: James
出版社: 清華大學
叢編項: 安全技術經(jīng)典譯叢
標 簽: 網(wǎng)絡安全

ISBN: 9787302132165 出版時間: 2003-02-12 包裝: 平裝
開本: 16 頁數(shù): 629 字數(shù):  

內(nèi)容簡介

  從計算時代的早期開始到現(xiàn)在,安全行業(yè)經(jīng)歷了巨大的變化。早期的病毒、蠕蟲和惡意軟件在當今看來,簡直都成了小兒科。隨著行業(yè)的進一步發(fā)展,它又面臨著一個轉折點。這種日益激烈的矛盾關系(就是這種矛盾關系導致了這個行業(yè)的誕生)將會影響到我們的社會、文化和市場嗎?讓我們來看一組數(shù)據(jù)。如果研究一下1999年一個漏洞轉化成蠕蟲病毒所需的時間,再將這個數(shù)據(jù)與今天相比,就會發(fā)現(xiàn)現(xiàn)在出現(xiàn)一個自我繁殖的蠕蟲要比1999年快20倍以上:在1999年需要280天,而在2004年僅需4天。這些蠕蟲很容易就被制造出來并且隨時可能觸發(fā),而完成攻擊幾乎就不需要什么知識。這就意味著有更多的黑客在更短的時間內(nèi)編寫出更多的攻擊工具。我們第一次碰到這種新型的狡猾蠕蟲,是在20世紀90年代后期出現(xiàn)的“sadmind”等蠕蟲。它從攻擊Solaris操作系統(tǒng)本地的RPC服務開始,在完成感染之后,它就從Sun Solaris系統(tǒng)向Windows系統(tǒng)進軍,再循環(huán)往復。我們還看到了同時使用多個攻擊方向的蠕蟲,采用了針對不同服務的多種攻擊技術。還有一些可以自動變種的蠕蟲,使得檢測和防護它們更加困難。大量的威脅在黑暗中等待,并且還不僅僅是蠕蟲。明天的蠕蟲將會融合所有這些方面(多系統(tǒng)平臺、多應用程序和多方向)產(chǎn)生zero-day蠕蟲,卻沒有修復或防止措施。這些蠕蟲將會造成怎樣的破壞呢?它會影響所有一切。我們的大部分市場、基礎設施和銀行都已經(jīng)計算機化,并且進行了聯(lián)網(wǎng)。想想看,如果長達一個月時間,不能夠從銀行或經(jīng)紀人那里取出現(xiàn)金;或者不能夠橫穿鐵路或馬路,因為飛馳而來的列車或小車也和您一樣看到綠燈,那會發(fā)生什么情況呢?這些場景都是小說中編造的嗎?再仔細想想。以Banker.J worm為例吧。這個蠕蟲對系統(tǒng)的影響基本上和前面所說的蠕蟲類似,但是另外有個重要的問題就是它首次采用了phishing技術。所謂phishing攻擊是指將用戶誤導到攻擊者偽造的Web站點,以期竊取用戶的銀行用戶名和密碼的伎倆。當進入這種偽造的站點之后,它自己再使用這個用戶名和密碼登錄到銀行,設置一個在線交易收款人,然后進行支付。但是蠕蟲并不直接將用戶重定向到偽造的站點,而是顯示受感染系統(tǒng)上的同樣Web頁面。他們到底是誰,他們又為什么要這么做呢?他們大部分是些不諳世事的年輕人,受到自負心理和優(yōu)越感的驅(qū)使。另外有些是出于受金錢驅(qū)使或者有組織犯罪。無論這些出發(fā)動機如何,或者偽造攻擊的理由如何,管理員都必須提高自身素質(zhì),并解決問題出現(xiàn)的根源。每個產(chǎn)品或步驟都存在有漏洞,在被管理并修復之前,攻擊者總會去試圖利用它們。沒有萬全之策可以解決這個問題,也沒有某個產(chǎn)品或服務或培訓能夠給出所有的工具來與這些威脅作斗爭。正如戰(zhàn)場上的戰(zhàn)士一樣,您需要掌握一切可以掌握的武器?!栋踩幊绦逕捴馈肪褪悄膹椝?,是為了保證安全戰(zhàn)士們不至于折戟沙場的重要武器。仔細研讀《安全編程修煉之道》的每一頁,理解其內(nèi)容,然后做到為我所用。不要讓這部出色的作品從您手中輕易滑過。

作者簡介

  James C.Foster,是Computer Sciences公司是Global Security Solution Development的負責人,主要負責物理、人事和數(shù)據(jù)安全解決方案的研究和開發(fā)。在進入Computer Sciences公司之前,F(xiàn)oster是Foundstone公司(后被McAfee收購)的研發(fā)部主任,負責產(chǎn)品、咨詢和相應R & D建議等各方面的工作。在就職于Foundstone之前,F(xiàn)oster是Guardent 公司(后被Verisign收購n)的執(zhí)行總監(jiān)和研究工程師,是Information Security雜志(后被Tech Target收購)的撰稿人之一,此前還作過安全研究專家就職于國防部。憑著在高級遠程管理、國際化發(fā)展、應用程序安全,協(xié)議分析和搜索算法技術等領域的豐富經(jīng)驗,F(xiàn)oster為商業(yè)化操作系統(tǒng)組件進行代碼檢查,評估Win32應用程序,并研究商業(yè)級加密實現(xiàn)。

圖書目錄

第1章  安全編碼基礎    1
1.1  引言    2
1.2  C/C++    3
1.2.1  語言特性    3
1.2.2  Hello,World!實例    4
1.2.3  數(shù)據(jù)類型    5
1.2.4  流程控制    7
1.2.5  函數(shù)    8
1.2.6  類    9
1.2.7  案例研究:傅立葉系數(shù)
估算    10
1.3  Java    13
1.3.1  語言特性    14
1.3.2  Hello,World!實例    15
1.3.3  數(shù)據(jù)類型    15
1.3.4  流程控制    16
1.3.5  方法    18
1.3.6  類    18
1.3.7  獲取HTTP報頭    20
1.4  C#    21
1.4.1  移植到C#平臺的商業(yè)
案例    21
1.4.2  語言特性    22
1.4.3  Hello,World!實例    23
1.4.4  數(shù)據(jù)類型    23
1.4.5  流程控制    25
1.4.6  方法    26
1.4.7  類    26
1.4.8  C#線程    28
1.4.9  案例研究:命令行IP地址
解析    29
1.5  Perl    38
1.5.1  數(shù)據(jù)類型    39
1.5.2  運算符    40
1.5.3  Perl腳本實例    42
1.5.4  專用變量    44
1.5.5  模式匹配和替換    44
1.5.6  正則表達式修飾符    45
1.5.7  常用的Perl工具    45
1.5.8  I Am a Perl Coder!    46
1.5.9  日志修改工具    47
1.6  Python    52
1.7  本章小結    56
1.8  要點回顧    56
1.9  相關網(wǎng)站鏈接    57
1.10  常見問題    58
第2章  NASL腳本    61
2.1  引言    62
2.1.1  NASL的發(fā)展史    62
2.1.2  NASL的目標    62
2.2  NASL腳本的語法    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.2  Nessus框架下的編程    75
2.4  案例研究:經(jīng)典的
NASL腳本    77
2.5  NASL代碼移植    81
2.6  本章小結    90
2.7  要點回顧    91
2.8  相關網(wǎng)站鏈接    92
2.9  常見問題    92
第3章  BSD套接字    95
3.1  引言    96
3.2  BSD套接字編程簡介    96
3.3  TCP客戶端與服務器    97
3.4  UDP客戶端與服務器    103
3.5  套接字選項    111
3.6  基于UDP套接字的
網(wǎng)絡掃描    113
3.7  基于TCP套接字的
網(wǎng)絡掃描    122
3.8  線程與并行    134
3.9  本章小結    136
3.10  要點回顧    136
3.11  相關網(wǎng)站鏈接    137
3.12  常見問題    137
第4章  Windows套接字    139
4.1  引言    140
4.2  Winsock概述    140
4.3  Winsock 2.0    141
4.3.1  通過Visual Studio 6.0
鏈接    142
4.3.2  通過源代碼鏈接    143
4.4  案例研究:使用WinSock
抓取網(wǎng)頁    146
4.5  編寫客戶端程序    147
4.6  編寫服務器程序    151
4.7  編寫exploit及漏洞
檢測程序    155
4.8  本章小結    163
4.9  要點回顧    164
4.10  常見問題    165
4.11  案例研究:使用Winsock
執(zhí)行Web攻擊    166
4.12  案例研究:使用Winsock
執(zhí)行遠程緩沖區(qū)溢出    168
第5章  Java套接字    173
5.1  引言    174
5.2  TCP/IP概述    174
5.2.1  TCP客戶端    175
5.2.2  IP地址及域名解析    178
5.2.3  基于文本的輸入/輸出:
LineNumberReader類    181
5.2.4  TCP服務器    185
5.2.5  使用瀏覽器連接
TCPServer1    189
5.2.6  處理多重連接    189
5.2.7  WormCatcher    198
5.3  UDP客戶端與服務器    204
5.4  本章小結    211
5.5  要點回顧    211
5.5.1  TCP客戶端    211
5.5.2  TCP服務器    211
5.5.3  UDP客戶端與服務器    211
5.6  常見問題    212
第6章  編寫可移植的代碼    215
6.1  引言    216
6.2  UNIX和Windows移植
指南    216
6.2.1  預編譯指令    216
6.2.2  確定操作系統(tǒng)    218
6.2.3  進程的創(chuàng)建和終止    222
6.2.4  多線程    227
6.2.5  信號    234
6.2.6  文件操作    236
6.2.7  目錄操作    239
6.2.8  庫    242
6.2.9  Daemon/Win32服務編程    247
6.2.10  內(nèi)存管理    254
6.2.11  命令行參數(shù)處理    255
6.2.12  整型數(shù)據(jù)類型    259
6.3  本章小結    260
6.4  要點回顧    260
6.5  常見問題    261
第7章  可移植的網(wǎng)絡編程    263
7.1  引言    264
7.2  BSD套接字和Winsock    264
7.3  可移植的構件    266
7.3.1  返回值    266
7.3.2  擴展錯誤信息    268
7.3.3  API    270
7.3.4  原始套接字    302
7.3.5  Pcap和WinPcap    313
7.4  本章小結    319
7.5  要點回顧    319
7.6  常見問題    319
第8章  編寫shellcode I    323
8.1  引言    324
8.2  shellcode概述    324
8.2.1  工具    324
8.2.2  匯編程序設計語言    325
8.2.3  Windows和UNIX的
匯編比較    328
8.3  尋址問題    329
8.3.1  方案一:使用call和
jmp指令    329
8.3.2  方案二:將參數(shù)值入棧    330
8.4  NULL字節(jié)問題    331
8.5  系統(tǒng)調(diào)用的實現(xiàn)    332
8.5.1  系統(tǒng)調(diào)用編號    332
8.5.2  系統(tǒng)調(diào)用參數(shù)    332
8.5.3  系統(tǒng)調(diào)用返回值    334
8.6  遠程shellcode    334
8.6.1  端口綁定shellcode    334
8.6.2  套接字描述符重用
shellcode    336
8.7  本地shellcode    337
8.7.1  execve shellcode    338
8.7.2  setuid shellcode    339
8.7.3  chroot shellcode    340
8.7.4  Windows shellcode    344
8.8  本章小結    350
8.9  要點回顧    350
8.10  相關網(wǎng)站鏈接    352
8.11  郵件列表    352
8.12  常見問題    352
第9章  編寫shellcode II    355
9.1  引言    356
9.2  shellcode實例    356
9.2.1  write系統(tǒng)調(diào)用    359
9.2.2  execve shellcode    362
9.2.3  端口綁定shellcode    370
9.2.4  socket系統(tǒng)調(diào)用    373
9.2.5  bind系統(tǒng)調(diào)用    374
9.2.6  listen系統(tǒng)調(diào)用    374
9.2.7  accept系統(tǒng)調(diào)用    375
9.2.8  dup2系統(tǒng)調(diào)用    375
9.2.9  execve系統(tǒng)調(diào)用    376
9.2.10  反向連接shellcode    381
9.2.11  重用套接字的shellcode    384
9.2.12  重用文件描述符    386
9.2.13  shellcode編碼    392
9.3  重用程序變量    397
9.4  跨操作系統(tǒng)的shellcode    401
9.5  了解現(xiàn)有的shellcode    402
9.6  本章小結    406
9.7  要點回顧    406
9.8  相關網(wǎng)站鏈接    407
9.9  郵件列表    407
9.10  常見問題    407
第10章  開發(fā)exploit程序I    409
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-0763    414
10.6  TCP/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  相關網(wǎng)站鏈接    423
10.12  常見問題    423
第11章  開發(fā)exploit程序II    425
11.1  引言    426
11.2  為exploit編寫套接字和
綁定    426
11.2.1  客戶端套接字編程    426
11.2.2  服務器端套接字編程    428
11.3  棧溢出exploits    429
11.3.1  內(nèi)存的組織    430
11.3.2  棧溢出    431
11.3.3  尋找開源軟件中可
利用的棧溢出    435
11.4  案例研究:X11R6 4.2
XLOCALEDIR溢出    435
11.5  堆破壞exploits    440
11.6  案例研究: OpenSSL SSLv2
畸形客戶端密鑰遠程緩沖區(qū)
溢出漏洞CAN-2002-0656    444
11.7  整型bug exploits    457
11.7.1  整數(shù)環(huán)繞    458
11.7.2  忽略大小檢查    460
11.7.3  其他整型bug    462
11.8  案例研究: OpenSSH質(zhì)詢
響應整型溢出漏洞
CVE-2002-0639    462
11.9  案例研究:UW POP2 緩沖
區(qū)溢出漏洞CVE-1999
-0920    466
11.10  本章小結    474
11.11  要點回顧    475
11.12  相關網(wǎng)站鏈接    476
11.13  常見問題    476
第12章  開發(fā)exploit程序III    479
12.1  引言    480
12.2  MSF的使用    480
12.3  用Metasploit進行
exploit開發(fā)    485
12.3.1  確定攻擊向量    485
12.3.2  計算偏移量    486
12.3.3  選擇控制向量    491
12.3.4  發(fā)現(xiàn)返回地址    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  分析一個現(xiàn)有的exploit
模塊    512
12.4.3  覆蓋方法    516
12.5  本章小結    517
12.6  要點回顧    517
12.7  相關網(wǎng)站鏈接    518
12.8  常見問題    518
第13章  編寫安全組件    521
13.1  引言    522
13.2  COM    522
13.2.1  COM對象    522
13.2.2  COM接口    522
13.2.3  COM運行時    523
13.2.4  COM對象的實現(xiàn)    524
13.2.5  COM進程內(nèi)服務器
的實現(xiàn)    526
13.3  ATL    527
13.3.1  C++模板    528
13.3.2  ATL客戶端技術    528
13.3.3  ATL服務器技術    531
13.3.4  ATL屬性    543
13.4  將COM擴展添加到
RPCDump工具中    547
13.4.1  COM EXE服務器
實現(xiàn)    548
13.4.2  控制流    551
13.4.3  應用程序集成例程    552
13.4.4  工具接口定義    555
13.4.5  組件類    557
13.4.6  應用程序集成:
COMSupport.h    563
13.4.7  應用程序集成:
RPCDump.C    564
13.5  本章小結    566
13.6  要點回顧    566
13.7  相關網(wǎng)站鏈接    567
13.8  常見問題    567
第14章  創(chuàng)建Web安全工具    571
14.1  引言    572
14.2  設計    572
14.2.1  攻擊簽名格式    572
14.2.2  簽名    573
14.3  深入分析    573
14.3.1  套接字和執(zhí)行    573
14.3.2  解析器    583
14.3.3  頭文件    595
14.3.4  編譯    599
14.3.5  執(zhí)行    599
14.4  工具輸出    600
14.5  本章小結    600
14.6  要點回顧    601
14.7  相關網(wǎng)站鏈接    601
14.8  常見問題    601
附錄A  詞匯    605
附錄B  安全工具匯編    613
附錄C  exploit文檔    619
附錄D  系統(tǒng)調(diào)用參考    621
附錄E  數(shù)據(jù)轉換參考    625

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號