久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

php filter協(xié)議使用方法

瀏覽:121日期:2022-06-06 11:39:19
<?phphighlight_file(__FILE__);error_reporting(0);$content = $_POST["content"];file_put_contents($_GET["filename"], "<?php exit; ?>".$content);?>

base64加密

看文章的時候看到這樣的一個代碼,發(fā)現(xiàn)我們往文件中寫入的時候,肯定會執(zhí)行<?php exit;?>,可是這樣就直接退出了就不能執(zhí)行我們后面的命令,所以我們要想辦法去繞過,或者說不執(zhí)行這個exit

這道題,可控點(diǎn)有兩個 filename 和 content,先直接給出payload ,然后解析

GET:?filename=php://filter/convert.base64-decode/resource=shell.php

POST:content=PD9waHAgcGhwaW5mbygpOz8+

上面的POST段為<?php phpinfo();?>加密段

看完大佬的文章理解:

base64只對64個字符解密,那如果不是64個字符中的,會直接忽略不計(jì)

并且base64中的字符,是要求是4個字節(jié)的倍數(shù),如果實(shí)在不行則=補(bǔ)齊

隨便輸入一個都是4字節(jié)的倍數(shù)

<?php exit; ?>這個數(shù)據(jù)是固定的,而< > ; ?是64以外的字符,解碼時會忽略,我們需要考慮的就是phpexit(空格不需要考慮),因?yàn)槭?的倍數(shù),如果在最后面系統(tǒng)自動加上=號的話,就改變了我們期望的值,所以需要我們手動進(jìn)行修改,這時候我們可以在前面隨便添加一個數(shù)據(jù),讓它與phpexit組合起來,成為一個亂碼,不會影響后面的執(zhí)行。

還有一道就是最近遇到的一道題目,和上面的思路差不多

eval("#".$_GET['flag]);

這個#影響了我后面get傳參,不能進(jìn)行命令執(zhí)行

所以我的思路也是想如何繞過#,或者刪除了它

可是,當(dāng)時想了很久都沒有想出來,還是大佬的提醒點(diǎn)了我一下

這既然是php里面的命令,我們完全可以把前面的閉合掉,然后自己再插入一句話木馬

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

shell=system('ls /');進(jìn)行這樣的操作獲得flag等等,當(dāng)時腦袋瓦特了想不起來

rot13編碼繞過

rot13編碼的本質(zhì)就是將字母左移13位。

如:<?php phpinfo();>經(jīng)過rot13編碼后這樣:<?cuc cucvasb();?>

用在php://filter中的話格式大概為這樣

php://filter/string.rot13/resource=文件名

這樣的話上面的題目,用rot13繞過前面的 exit就會轉(zhuǎn)成別的東西,而我們輸入的則最后還是那串執(zhí)行代碼,這樣也就可以繞過了

結(jié)果非常清楚,前面exit被認(rèn)為是加密解密成這樣,后面我們事先加了密,所以抵消,還是原來的

加強(qiáng)繞過exit

<?phphighlight_file(__FILE__);error_reporting(0);$content = $_GET["content"];file_put_contents($content, "<?php exit();".$content);

代碼換成了這樣,好比上面讓你疊飛機(jī)下面讓你造飛機(jī)(-0-)

顯而易見,只有content這一個傳參點(diǎn)了

這種就是加了一個write直接寫入文件,然后紅色部分/可以換成別的管道符,只要和rot13隔開就行

convert.iconv.

1.usc-2

這個編碼就是2個為一組交換字符的位置(空格也會交換)

為什么我們可以把filter直接寫入,因?yàn)閷懭胍院笾挥形覀冚斎氲囊痪湓捘抉R會被執(zhí)行,別的就相當(dāng)于亂碼一樣

2.usc-4

就是換成了4個字符一組交換

總結(jié):我們的思路其實(shí)都是相同的,通過某一個手段把exit繞過,然后執(zhí)行我們的命令,其實(shí)就是用一些編碼的特性,base64 rot13 usc-2 usc-4,都會把exit變成別的亂碼一般。

到此這篇關(guān)于php filter協(xié)議使用方法的文章就介紹到這了,更多相關(guān)php filter協(xié)議內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
主站蜘蛛池模板: 新野县| 兴业县| 富川| 杨浦区| 四子王旗| 喀喇沁旗| 定兴县| 崇阳县| 永仁县| 清原| 江源县| 银川市| 湾仔区| 西盟| 富顺县| 松潘县| 北宁市| 赤城县| 玉山县| 车险| 普兰店市| 宣武区| 都昌县| 连南| 中阳县| 江北区| 顺平县| 延庆县| 成安县| 罗源县| 太白县| 逊克县| 天峨县| 巴楚县| 山阴县| 鄂温| 邯郸县| 安顺市| 潞西市| 眉山市| 炎陵县|