av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

PHP偽協議基本原理介紹

瀏覽:116日期:2022-06-05 18:16:13
目錄
  • 前言
  • 常見的php偽協議
    • php://input
    • php://filter
    • zip://與bzip2://與zlib://協議
    • data://
    • phar://

前言

引用一張比較清晰易懂的圖

php偽協議是php自己支持的一種協議與封裝協議,簡單來說就是php定義的一種特殊訪問資源的方法。

常見的php偽協議

php://input

php://input 是個可以訪問請求的原始數據的只讀流,獲取POST請求數據的協議

當enctype=”multipart/form-data” 的時候 php://input 是無效的。

要使php://input 成功使用還需要配置php.ini 中的 allow_url_include設置為On

案例代碼

php<?php@include($_GET["file"]);?>

構造執行的代碼,輸出結果

php://filter

php://filter 是一種元封裝器, 設計用于數據流打開時的篩選過濾應用。 這對于一體式(all-in-one)的文件函數非常有用,類似 readfile()、 file() 和 file_get_contents(), 在數據流內容讀取之前沒有機會應用其他過濾器。

在利用上很多都是與包含函數結合使用,讀入或者輸出獲取文件源碼然后編碼讓其不執行從而輸出

php://filter 的使用:如
php://filter/read=convert.base64-encode/resource=index.php
php://filter/resource=index.php

php://filter 偽協議組成:
read=<讀鏈的篩選列表>
resource=<要過濾的數據流>
write=<寫鏈的篩選列表>

php://filter/read=處理方式(base64編碼,rot13等等)/resource=要讀取的文件

read 對應要設置的過濾器:
常見的過濾器分字符串過濾器、轉換過濾器、壓縮過濾器、加密過濾器
其中convert.base64-encode ,convert.base64-decode都屬于 轉換過濾器

<?php$a=($_GET["file"]);echo(file_get_contents($a));//獲取文件內容?>

訪問輸出base64編碼后的內容

zip://與bzip2://與zlib://協議

zip:// 等屬于壓縮流的協議,通過直接壓縮普通文件為zip文件,再通過zip:// 協議讀取,可以直接執行php代碼。壓縮后的zip文件可以隨意修改后綴也不影響zip://協議讀取。(注意是如phpinfo.txt直接壓縮為zip,而不是文件夾壓縮zip)

例:

<?php$a=($_GET["file"]);include($a);?>

壓縮及協議訪問格式:

壓縮文件為.zip后綴
zip://絕對路徑/phpinfo.zip%23phpinfo.php
壓縮文件為.bz2后綴
compress.bzip2://絕對路徑/phpinfo.zip/phpinfo.php
壓縮文件為.gz后綴
compress.zlib://絕對路徑/phpinfo.zip/phpinfo.php

zip://訪問

data://

data://協議與php://input 有很點相似的地方。他們都可以通過請求提交的php代碼數據配合文件包含函數可以達到代碼執行效果,data:// 的成功執行需要php.ini設置allow_url_include 與allow_url_open都為On。

data://協議的格式是: data://數據流封裝器,相應格式數據

常見的用法為
data://,<?php%20phpinfo();?>
data://text/plain,<?php%20phpinfo();?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

例:

<?php$a=($_GET["file"]);include($a);?>

構造data:// 訪問

phar://

phar://偽協議在前面phar反序列化的時候學習過,phar也可以對zip格式壓縮包進行訪問解析。

格式為:phar://絕對路徑\phpinfo.zip\phpinfo.php

到此這篇關于PHP偽協議基本原理介紹的文章就介紹到這了,更多相關PHP偽協議內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
主站蜘蛛池模板: 国产网站在线免费观看 | 日一区二区 | 91国产精品 | 国产精品色一区二区三区 | 99久久婷婷国产综合精品首页 | 99精品免费久久久久久日本 | 天天综合久久网 | 水蜜桃亚洲一二三四在线 | 精品久久香蕉国产线看观看亚洲 | 午夜精品久久久久久久久久久久 | 91精品国产欧美一区二区成人 | 天天成人综合网 | 久久国产香蕉 | 一区二区三区精品视频 | 成人免费视频观看视频 | 91免费在线 | 在线男人天堂 | 欧美激情久久久 | 日本 欧美 三级 高清 视频 | 羞羞视频在线观看网站 | 成人亚洲在线 | 亚洲图片一区二区三区 | 日本三级网址 | 中文字幕亚洲精品 | 日本一区二区不卡 | 密室大逃脱第六季大神版在线观看 | 成人中文字幕在线观看 | 精品久久久久久久久久久院品网 | 黄色中文字幕 | 99久久婷婷国产综合精品电影 | 欧美日韩国产精品一区二区 | 久久国产精品一区二区 | 午夜极品 | 黄色片免费在线观看 | 涩爱av一区二区三区 | 欧美成人免费在线 | 久久9视频 | h在线免费观看 | 国产午夜精品久久久久 | 国产成人综合在线 | 亚洲狠狠|