從實踐中學(xué)習(xí)sqlmap數(shù)據(jù)庫注入測試
定 價:109.8 元
叢書名:信息安全技術(shù)大講堂
- 作者:朱振方張鵬編著
- 出版時間:2022/3/1
- ISBN:9787111700623
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.138SQ
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
隨著IT的發(fā)展,Web技術(shù)從傳統(tǒng)的網(wǎng)站領(lǐng)域延伸到了手機App領(lǐng)域。而大部分網(wǎng)站都是采用數(shù)據(jù)庫來存儲數(shù)據(jù),這使得SQL注入技術(shù)成為Web安全防護的重點。為了保證網(wǎng)站的安全,開發(fā)人員和安全人員需要對網(wǎng)站上成百上千個網(wǎng)頁逐一進行檢查,以驗證其對各種SQL注入攻擊的防護效果,但這會帶來龐大的工作量。sqlmap是一款開源的SQL注入自動化測試工具,它不僅可以大幅度減少檢測時間,而且還可以驗證漏洞存在的危害性,在Web安防領(lǐng)域有著廣泛的應(yīng)用。本書結(jié)合大量示例,詳細介紹了sqlmap注入測試的相關(guān)知識。
本書共14章,分為3篇。第1篇“測試準備”,主要介紹sqlmap環(huán)境配置、指定目標、連接目標、探測注入點及數(shù)據(jù)庫類型等相關(guān)內(nèi)容;第2篇“信息獲取”,主要介紹如何基于sqlmap獲取4種主流數(shù)據(jù)庫信息(MySQL、MSSQL、Access和Oracle),以及如何手工獲取數(shù)據(jù)庫信息;第3篇“高級技術(shù)”,主要介紹sqlmap所使用的注入技術(shù)、訪問后臺數(shù)據(jù)庫管理系統(tǒng)、優(yōu)化注入、保存和輸出數(shù)據(jù)、規(guī)避防火墻等相關(guān)內(nèi)容。
本書適合滲透測試人員、網(wǎng)絡(luò)維護人員、網(wǎng)站開發(fā)人員和信息安全愛好者閱讀。通過本書的學(xué)習(xí),可以幫助讀者了解和掌握SQL注入的測試方式和注入技術(shù),以及危害性評估等相關(guān)知識。
從理論、應(yīng)用和實踐三個維度詳解sqlmap實施數(shù)據(jù)庫注入的相關(guān)知識;
通過260個操作實例,一步步帶領(lǐng)讀者從實踐中進行學(xué)習(xí);
涵蓋7類注入技術(shù)、4種主流數(shù)據(jù)庫以及各類優(yōu)化技術(shù);
涵蓋MySQL、MSSQL、Access、Oracle四種主流數(shù)據(jù)庫;
詳細講解sqlmap支持的七種數(shù)據(jù)庫注入技術(shù);
提供助記提示,幫助讀者記憶繁雜的選項;
完整展現(xiàn)SQL注入的前中后三個階段的各項技術(shù);
贈送配套的思維導(dǎo)圖以及知識點串講視頻;
提供后續(xù)的內(nèi)容更新服務(wù)和完善的工具獲取方式;
提供QQ群、論壇和E-mail互動交流方式。
隨著信息技術(shù)的發(fā)展,網(wǎng)站(Web)技術(shù)廣泛應(yīng)用于人們的生活和工作中。無論是傳統(tǒng)的網(wǎng)站還是手機App,它們都借助Web技術(shù)從服務(wù)器上讀寫數(shù)據(jù)。但Web服務(wù)器往往存在諸多潛在的安全風(fēng)險和隱患,如SQL注入攻擊、跨站腳本攻擊和命令注入攻擊等。尤其是Web服務(wù)器廣泛使用數(shù)據(jù)庫技術(shù),這導(dǎo)致SQL注入攻擊成為常見的攻擊方式。
一個Web服務(wù)器上可能存儲著成百上千個網(wǎng)頁,用于接收用戶數(shù)據(jù),并從數(shù)據(jù)庫中讀寫數(shù)據(jù),只要其中一個網(wǎng)頁對用戶數(shù)據(jù)過濾得不嚴格,就會形成SQL注入漏洞,加之SQL注入的方式眾多,這些因素都導(dǎo)致手動測試的工作量巨大。
sqlmap是一款業(yè)界知名的開源自動化SQL注入測試工具,支持當(dāng)下流行的39種數(shù)據(jù)庫。它不但提供多種目標指定方式,而且還支持多目標批量測試。另外,它還能利用6種主流的注入技術(shù)自動探測目標存在的SQL注入漏洞,并驗證漏洞的危害程度。
本書按照SQL注入的測試流程,詳細介紹sqlmap的使用方法。本書對sqlmap提交的參數(shù)進行詳細分析,明確SQL注入的防范機制,另外還重點展現(xiàn)SQL注入帶來的各種危害,從而幫助安防人員更好地進行防范。
本書特色
1.內(nèi)容可操作性強
SQL注入是一門操作性非常強的技術(shù),為了方便讀者學(xué)習(xí)和理解,本書遵循SQL注入的流程來合理安排內(nèi)容。首先介紹各項準備工作;然后介紹如何指定目標,給出設(shè)置連接目標的方式并探測注入點;后介紹如何利用注入漏洞獲取信息,并分析在該過程中采用的各項技術(shù)。書中在介紹每個功能時都配以實例,以幫助讀者通過實踐的方式進行理解和學(xué)習(xí)。
2.涵蓋不同類型的數(shù)據(jù)庫信息獲取方法
不同類型的數(shù)據(jù)庫獲取信息的方式和側(cè)重點有所不同,本書詳細介紹MySQL、MSSQL、Access和Oracle這4種常見的主流數(shù)據(jù)庫的信息獲取方法,以幫助讀者掌握SQL注入防護的重點。
3.涉及多種SQL攻擊技術(shù)和思路
為了幫助讀者了解SQL注入技術(shù),本書詳細介紹sqlmap使用的6種注入技術(shù),即基于布爾的盲注、基于錯誤的注入、基于時間的盲注、聯(lián)合查詢注入、堆疊注入和DNS注入,另外還會介紹一種特殊的注入思路——二級SQL注入。
4.提供完善的技術(shù)支持和售后服務(wù)
本書提供QQ交流群(343867787)和論壇(bbs.daxueba.net),供讀者交流和討論學(xué)習(xí)中遇到的各種問題。讀者還可以關(guān)注微博賬號(@大學(xué)霸IT達人)獲取圖書內(nèi)容更新信息及相關(guān)技術(shù)文章。另外,本書還提供售后服務(wù)郵箱hzbook2017@163.com,讀者在閱讀的過程中若有疑問,也可以通過該郵箱獲得幫助。
本書內(nèi)容
第1篇 測試準備
本篇涵蓋第1~4章,主要介紹學(xué)習(xí)SQL注入攻擊前的各項準備工作,如環(huán)境配置、指定目標、連接目標、探測注入漏洞及數(shù)據(jù)庫類型等。
第2篇 信息獲取
本篇涵蓋第5~9章,主要介紹如何獲取MySQL、MSSQL、Access和Oracle這4種常見的數(shù)據(jù)庫服務(wù)器的重要信息。
第3篇 高級技術(shù)
本篇涵蓋第10~14章,主要介紹sqlmap注入攻擊所依賴的技術(shù),并介紹如何驗證漏洞的危害性以及如何提升sqlmap的測試效率,如優(yōu)化注入、保存數(shù)據(jù)、導(dǎo)出數(shù)據(jù)和規(guī)避防火墻等。
本書配套資源獲取方式
本書涉及的教學(xué)視頻、思維導(dǎo)圖、工具和軟件需要讀者自行獲取,獲取途徑有以下幾種:
* 根據(jù)書中對應(yīng)章節(jié)給出的網(wǎng)址進行下載;
* 加入本書QQ交流群獲;
* 訪問論壇bbs.daxueba.net獲。
* 登錄機械工業(yè)出版社華章分社網(wǎng)站www.hzbook.com,在該網(wǎng)站上搜索到本書,然后單擊“資料下載”按鈕,即可在本書頁面上找到“配書資源”下載鏈接。
本書內(nèi)容更新文檔獲取方式
為了讓本書內(nèi)容緊跟技術(shù)發(fā)展和軟件更新的步伐,筆者會對書中的相關(guān)內(nèi)容進行不定期更新,并發(fā)布對應(yīng)的電子文檔。需要的讀者可以加入QQ交流群獲取,也可以通過機械工業(yè)出版社華章分社網(wǎng)站上的“本書配套資源”鏈接進行下載。
本書讀者對象
* 滲透測試技術(shù)人員;
* 網(wǎng)絡(luò)安全和維護人員;
* 信息安全技術(shù)愛好者;
* 網(wǎng)站開發(fā)人員;
* 高校相關(guān)專業(yè)的學(xué)生;
* 專業(yè)培訓(xùn)機構(gòu)的學(xué)員。
閱讀提示
* sqlmap是一款開源工具,會不定時進行版本更新,學(xué)習(xí)之前建議先按照1.2節(jié)的介紹下載和安裝其版本。如果其功能有較大變化,我們會發(fā)布增補文檔供讀者下載。
* SQL注入的部分操作會對Web服務(wù)器和數(shù)據(jù)庫服務(wù)器的運行產(chǎn)生一定的影響,因此應(yīng)該避免在生產(chǎn)環(huán)境中進行測試,而應(yīng)選擇在實驗環(huán)境中進行測試。
* 在測試之前建議了解相關(guān)法律,避免侵犯他人權(quán)益甚至觸犯法律。
感謝
感謝在本書編寫和出版過程中給予我們大量幫助的各位編輯!限于作者水平,加之寫作較為倉促,書中可能存在一些疏漏和不足之處,敬請各位讀者批評、指正。
編著者
朱振方 博士,教授,博士生導(dǎo)師,“計算機科學(xué)與技術(shù)”一流專業(yè)建設(shè)點負責(zé)人,F(xiàn)任山東交通學(xué)院信息科學(xué)與電氣工程學(xué)院計算機系主任,山東交通學(xué)院融媒體智能計算與安全技術(shù)研究中心主任。主要研究興趣有網(wǎng)絡(luò)信息安全和自然語言處理等。
張鵬 精通Web安全技術(shù),熟悉OWASP TOP10漏洞的原理與修復(fù)方案,熟悉滲透測試的步驟、方法和流程。對各類操作系統(tǒng)和應(yīng)用平臺的弱點有較深入的理解。熟悉常見腳本語言,能夠進行Web滲透測試,以及惡意代碼的檢測和分析。
前言
第1篇 測試準備
第1章 sqlmap環(huán)境配置2
1.1 sqlmap基礎(chǔ)知識2
1.1.1 sqlmap簡介2
1.1.2 sqlmap注入流程2
1.2 安裝sqlmap3
1.2.1 下載sqlmap安裝包3
1.2.2 在Windows中安裝sqlmap4
1.2.3 在Linux中安裝sqlmap6
1.3 啟動sqlmap7
1.3.1 標準模式8
1.3.2 交互模式8
1.3.3 向?qū)J?0
1.3.4 快速模式10
1.4 sqlmap使用技巧10
1.4.1 查看幫助信息11
1.4.2 查看版本信息13
1.4.3 使用短記憶法13
1.4.4 更新sqlmap14
1.4.5 使用INI配置文件15
1.4.6 設(shè)置冗余級別16
1.4.7 檢查依賴17
第2章 指定目標20
2.1 單個目標20
2.1.1 URL地址格式20
2.1.2 指定目標URL21
2.2 批量測試23
2.2.1 指定多個目標23
2.2.2 發(fā)出警報25
2.2.3 檢測到注入漏洞時報警26
2.3 日志文件27
2.3.1 捕獲日志文件27
2.3.2 指定日志文件35
2.3.3 過濾日志文件中的目標36
2.4 HTTP請求文件37
2.4.1 使用BurpSuite抓包37
2.4.2 指定HTTP請求文件39
2.5 從谷歌搜索引擎中獲取目標40
2.5.1 谷歌基礎(chǔ)語法40
2.5.2 指定搜索目標42
2.5.3 指定測試頁面44
2.6 爬取網(wǎng)站45
2.6.1 指定爬取深度45
2.6.2 排除爬取頁面46
2.6.3 設(shè)置臨時文件目錄46
第3章 連接目標48
3.1 設(shè)置認證信息48
3.1.1 指定認證類型48
3.1.2 指定認證憑證49
3.1.3 指定私鑰文件49
3.2 代理網(wǎng)絡(luò)50
3.2.1 使用已有的代理服務(wù)器50
3.2.2 使用新的代理服務(wù)器51
3.2.3 指定代理服務(wù)器52
3.2.4 指定代理憑證58
3.2.5 指定代理列表59
3.2.6 忽略系統(tǒng)級代理60
3.3 Tor匿名網(wǎng)絡(luò)60
3.3.1 搭建Tor匿名網(wǎng)絡(luò)60
3.3.2 使用Tor匿名網(wǎng)絡(luò)61
3.3.3 檢查Tor匿名網(wǎng)絡(luò)62
3.3.4 設(shè)置Tor代理端口62
3.3.5 設(shè)置Tor代理類型63
3.4 處理連接錯誤63
3.4.1 忽略HTTP錯誤狀態(tài)碼63
3.4.2 忽略重定向65
3.4.3 忽略連接超時65
3.5 檢測WAF/IPS66
3.6 調(diào)整連接選項68
第4章 探測注入漏洞及數(shù)據(jù)庫類型69
4.1 探測GET參數(shù)69
4.1.1 GET參數(shù)簡介69
4.1.2 使用sqlmap探測71
4.1.3 手動探測73
4.2 探測POST參數(shù)76
4.2.1 POST參數(shù)簡介76
4.2.2 指定POST參數(shù)77
4.2.3 自動搜索POST參數(shù)78
4.2.4 從HTTP請求文件中讀取POST參數(shù)81
4.2.5 手動判斷82
4.3 探測Cookie參數(shù)85
4.3.1 Cookie參數(shù)簡介85
4.3.2 指定Cookie參數(shù)85
4.3.3 指定包括Cookie的文件88
4.3.4 忽略Set-Cookie值89
4.3.5 加載動態(tài)Cookie文件90
4.3.6 手動判斷90
4.4 探測UA參數(shù)92
4.4.1 UA參數(shù)簡介92
4.4.2 指定UA參數(shù)94
4.4.3 使用隨機UA參數(shù)96
4.4.4 使用手機UA97
4.4.5 手動判斷99
4.5 探測Referer參數(shù)101
4.5.1 Referer參數(shù)簡介101
4.5.2 指定Referer參數(shù)101
4.5.3 手動判斷103
4.6 添加額外的HTTP頭105
4.6.1 指定單個額外的HTTP頭105
4.6.2 指定多個額外的HTTP頭106
4.7 指定測試參數(shù)106
4.7.1 指定可測試的參數(shù)106
4.7.2 跳過指定的參數(shù)108
4.7.3 跳過測試靜態(tài)參數(shù)109
4.7.4 使用正則表達式排除參數(shù)109
4.7.5 指定測試參數(shù)的位置109
第2篇 信息獲取
第5章 獲取MySQL數(shù)據(jù)庫信息112
5.1 MySQL數(shù)據(jù)庫簡介112
5.2 獲取數(shù)據(jù)庫標識112
5.3 獲取服務(wù)器主機名113
5.4 獲取數(shù)據(jù)庫的用戶名115
5.4.1 獲取當(dāng)前連接數(shù)據(jù)庫的用戶名115
5.4.2 獲取數(shù)據(jù)庫的所有用戶名116
5.5 獲取數(shù)據(jù)庫用戶的密碼117
5.5.1 獲取用戶密碼的哈希值118
5.5.2 在線破解哈希值119
5.5.3 使用其他工具破解哈希值121
5.6 獲取數(shù)據(jù)庫的名稱123
5.6.1 獲取當(dāng)前數(shù)據(jù)庫的名稱123
5.6.2 獲取所有數(shù)據(jù)庫的名稱124
5.7 獲取數(shù)據(jù)表126
5.7.1 獲取所有的數(shù)據(jù)表126
5.7.2 獲取指定數(shù)據(jù)庫中的數(shù)據(jù)表128
5.8 獲取數(shù)據(jù)庫架構(gòu)129
5.8.1 獲取所有數(shù)據(jù)庫的架構(gòu)129
5.8.2 獲取指定數(shù)據(jù)庫的架構(gòu)130
5.8.3 排除系統(tǒng)數(shù)據(jù)庫132
5.9 獲取數(shù)據(jù)表中的列133
5.9.1 獲取所有的列133
5.9.2 獲取指定數(shù)據(jù)表的列135
5.10 獲取數(shù)據(jù)表中的內(nèi)容136
5.10.1 獲取數(shù)據(jù)表中的全部內(nèi)容136
5.10.2 獲取指定的數(shù)據(jù)表中的內(nèi)容138
5.10.3 獲取所有的數(shù)據(jù)表中的內(nèi)容140
5.10.4 過濾數(shù)據(jù)表中的內(nèi)容141
5.10.5 獲取指定列的數(shù)據(jù)144
5.10.6 排除指定列的數(shù)據(jù)145
5.10.7 獲取注釋信息146
5.10.8 指定導(dǎo)出的數(shù)據(jù)格式147
5.11 獲取數(shù)據(jù)