實驗聲明:本實驗教程僅供研究學習使用,請勿用於非法用途,違者一律自行承擔所有風險!
基於上傳漏洞的GET方式00截斷繞過
實驗目的
通過本實驗理解00截斷GET方式檢測繞過的基本思想,掌握如何利用burpsuit修改抓包信息來讓上傳檢測,熟悉上傳漏洞的防護策略。
實驗環境
滲透主機:burpsuitv1732
用戶名: college 密碼: 360College 工具:Burpsuite 目標網站:上傳漏洞訓練平台(第11關) 用戶名: college 密碼: 360College
實驗原理
服務器端檢測源代碼如下圖
代碼分析
(1)白名單檢測:指定數組中的上傳類型array('jpg','png','gif');
(2)關鍵函數功能
strrpos() 函數查找字符串在另一字符串中最后一次出現的位置。
例如strrpos("1.jpg",".")
substr(string,start,length)函數
示例代碼
源代碼中的檢測方案
屬於文件保存路徑沒有處理直接拼接函數名稱再拼接文件類型可以使用利用00截斷繞過。
截斷條件需要滿足:
(1)php版本小於5.3.4
(2)php的magic_quotes_gpc為OFF狀態
實驗步驟
第一步 啟動目標網站
登錄靶機后,進入D:/phpstudy2018目錄,然后雙擊啟動phpStudy。
查看php版本:
如果勾選的不是5.2.17版本,則勾選該版本,然后服務器自動重啟。
查看magic_quotes_gpc狀態。
確保magic_quotes_gpc開關,處於關閉(OFF)狀態。
第二步 滲透主機設置burpsuit與Firefox,開啟代理抓包功能
第三步 在burpsuit代理抓包功能開啟的前提下,上傳aa.php,然后修改參數,使用00截斷上傳繞過檢測
注意:修改的地方有兩處如下圖所示
第1處:在../upload/后面添加aa.php%00
第2處:將aa.php后綴修改為aa.jpg
第四步 成功繞過檢測上傳aa.php文件至目標網站
首先在目標網站相關路徑下可查看到上傳的文件,如下圖所示
另外在滲透主機遠程訪問http://ip/upload/aa.php成功
思考與總結
通過本次實驗,成功實現了修改抓包信息來繞過上傳檢測,掌握上傳漏洞的攻擊方法以及防御措施。