1、CVE-2018-4878漏洞復現
在kali中使用 msfvenom 生成漏洞利用程式碼
檢視生成的檔案
修改 CVE-2018-4878-master 資料夾中的 cve-2018-4878.py 檔案(改成自己監聽埠監聽地址的密文)
進行替換
修改 cve-2018-4878.py 檔案中的檔案生成路徑為指定路徑
執行python指令碼,生成兩個檔案:exploit.swf、index2.html
開啟Apache服務,並將生成的兩個檔案複製到apache服務目錄下
在kali上開啟監聽
Win7系統安裝flash外掛
使用瀏覽器訪問Kali中生成好的 index2.html 頁面
Kali中獲得win7機器許可權
2、實現WAF安裝與配置
安裝DVWA,首先在一鍵啟動-WNMP 處設定使用 MySQL+Apache 套件啟動Web環境
將DVWA原始碼放到網站根目錄
編輯phpstudy_pro\WWW\DVWA\config\config.inc.php
修改資料庫賬號密碼為root
執行phpstudy,版本是php7.3.4,同步啟動Apache服務
成功安裝,啟動DVWA,預設密碼為admin/password
系統初始化之後使用 SQL_Front 工具修改 dvwa 庫下兩個表的字符集校對為 utf8_general_ci ,防止
後續出現亂碼
安裝安全狗(WAF)
首先檢視本地服務,看其中是否有apache服務
以管理員身份執行cmd,進入 apache/bin 目錄,執行 .\httpd.exe -k install -n apache2.4.39
檢視本地服務,可以看到有apache服務
apache服務啟動以後,不要調整也不要關閉phpStudy,直接安裝安全狗
安裝成功,開啟安全狗,已經開啟了防護功能
3、WAF繞過SQL隱碼攻擊
(1)分別在無WAF和有WAF的情況下,利用SQLMap進行注入,對比注入結果的區別
無WAF:
將DVWA靶場資料包複製到SQLmap目錄下,使用-r引數注入
SQLmap開始注入
有WAF:
sqlmap無法直接跑出資料
(2)有WAF的情況下,手工注入出DVWA資料庫中的user和password
繞過聯合注入,1' order by 1--+
被攔截
利用group by繞過
1' group by 3--+
報錯,查詢到2列
regexp(正則匹配函式),regexp "%0A%23"匹配換行和#,無實際意義,改變語句格式。
使用-1' regexp "%0A%23"/*!11144union %0A select*/ 1,database(%0A /*!11144*/)--+
繞過,成功注入出資料庫名為dvwa
同理,注出user()為root@localhost
獲取所有的庫名
獲取dvwa庫裡面所有的表名
獲取users表裡面的所有欄位
注入出賬號密碼
md5解密可知賬號密碼為:admin/password
4、WAF繞過XSS實驗
利用base64編碼繞過
輸入<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIHRlc3QiKTs8L3NjcmlwdD4="
使script語句編碼,從而繞過WAF
利用svg標籤進行繞過,<svg>
標記定義 SVG 圖形的容器