亚洲欧美日韩熟女|做爱高潮视频网址|国产一区二区三级片|国产Av中文字幕www.性色av|亚洲婷婷永久免费|国产高清中文字幕|欧美变态网站久re视频精品|人妻AV鲁丝第一页|天堂AV一区二区在线观看|综合 91在线精品

關(guān)于php偽協(xié)議在ctf中的調(diào)查

2023-06-05


1


php://input協(xié)議


第一個(gè)例子


flag.php

看看上面的php代碼,就知道讀取文件的內(nèi)容是thisisisi。 只有在test顯示flag的時(shí)候,我們才知道這個(gè)文檔有這樣的內(nèi)容,我們可以使用php。://本協(xié)議php://input可以獲得原始post數(shù)據(jù),只有瀏覽請求的原始數(shù)據(jù)的閱讀流,并將post請求中的數(shù)據(jù)作為PHP代碼執(zhí)行,并繞過以下操作:


使用條件:


allow_url_fopen:off/on


allow_url_include:on


第二個(gè)例子


php:實(shí)現(xiàn)代碼執(zhí)行//input
test1.將php改為以下

代碼執(zhí)行是通過POSTphp代碼實(shí)現(xiàn)的。


執(zhí)行php代碼?等一下,我能寫一個(gè)句子嗎?試試POST這個(gè)代碼。’);?>


注意:只有php5.2..17 下一次測試成功,其它都報(bào)錯(cuò)了,原因不明。


php://filter/convert.base64-encode/resource=

查看另一個(gè)代碼:


怎樣顯示flag?.php的內(nèi)容是什么?不會(huì)直接顯示,這個(gè)php就要用了。://filter/convert.base64-encode/resource=取源代碼并導(dǎo)出base64編碼,否則將直接作為php代碼執(zhí)行,看不到源代碼內(nèi)容。


php://filter也可以在雙off的情況下正常使用;


allow_url_fopen:off/on
allow_url_include:off/on

Base64解密獲取原始數(shù)據(jù):


使用反序列化讀取文件


借鑒2016xctf 一個(gè)問題的思路,代碼讓我簡化:


file);
 return'yes';
    }
}
$a= new flag();
$a->file= 'php://filter/convert.base64-encode/resource=flag.php';
$data= serialize($a);
echo$data.'
'; echounserialize($data);

對flag類進(jìn)行定義,并重寫tostring(),我們先new一個(gè)新的目標(biāo),然后給變量賦值,最后實(shí)例化。


假設(shè)實(shí)例化后的變量在某個(gè)問題中是可控的,我們知道類內(nèi)容,那么我們可以通過可控變量讀取任意文件。在上述代碼中,flag在反序列化過程中完成。.讀取php文件


2


file://協(xié)議


file://雙off條件下協(xié)議也可以正常使用;


allow_url_fopen:off/on


allow_url_include:off/on


file://用于瀏覽本地文件系統(tǒng),通常用于在CTF中讀取本地文件而不受allow_url_fopen和allow_url對include的影響


日前某比賽web的第二個(gè)問題是通過注入控制反序列化,file:///協(xié)議閱讀本地文件


注:file://協(xié)議必須是絕對的路徑


zip:bzip2///://, zlib://協(xié)議


正常使用雙off前提是正常使用


allow_url_fopen:off/on


allow_url_include:off/on


payload:


http://127.0.0.1/cmd.php?file=zip://D:/soft/phpStudy/WWW/file.jpg#code.txt


首先要實(shí)施的PHP代碼寫好文件名為phpcode。.txt,phpcode.用txt壓縮zip,壓縮文件叫file。.zip,如能上傳zip文件就可以直接上傳,如果不能就把file上傳。.zip重命名為file。.在上傳jpg之后,其它幾種壓縮格式也可以這樣操作。


因?yàn)?在get請求中會(huì)忽略后面的參數(shù)值,所以在使用get請求時(shí),url代碼應(yīng)該是#,在這里檢測相對路徑是不可行的,所以我們必須使用絕對路徑。


3


phar協(xié)議


1.jpg是含有1個(gè)jpg的一個(gè).php壓縮包,改變后綴名稱,包括以下方法。


include.php?f=phar://./images/1.jpg/1.php


4


zlib://協(xié)議


使用方法:


compress.zlib://file.gz


絕對路徑


http://127.0.0.1/cmd.php?file=compress.zlib://D:/soft/phpStudy/WWW/1.jpg


相對路徑


http://127.0.0.1/cmd.php?file=compress.zlib://./1.jpg


5


總結(jié)


以上只是最基本的例子,在ctf中要能夠靈活運(yùn)用,常言道再難的問題也離不開基礎(chǔ)。


題外話:最近國內(nèi)ctf比賽越來越國際化,pwn、re題占絕大多數(shù),web題很少或沒有直接,作為一只web狗要堅(jiān)強(qiáng)地走下去。



本文僅代表作者觀點(diǎn),版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請?jiān)谖闹凶⒚鱽碓醇白髡呙帧?/p>

免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時(shí)與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com