校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 淺談php://filter的妙用

淺談php://filter的妙用

熱門標簽:上海公司外呼系統線路 芒果電銷機器人 銀川ai電話機器人 十堰ai電話機器人效果怎么樣 浙江外呼電話系統軟件 地圖標注風向標 電梯外呼線路板維修視頻 臨沂智能電銷機器人軟件 安陽自動外呼系統價格是多少

php://filter是PHP中獨有的協議,利用這個協議可以創造很多“妙用”,本文說幾個有意思的點,剩下的大家自己下去體會。本來本文的思路我上半年就準備拿來做XDCTF2016的題目的,沒想到被三個白帽的一題搶先用了,我也就只好提前分享一下。

XXE中的使用

php://filter之前最常出鏡的地方是XXE。由于XXE漏洞的特殊性,我們在讀取HTML、PHP等文件時可能會拋出此類錯誤parser error : StartTag: invalid element name 。其原因是,PHP是基于標簽的腳本語言,?php ... ?>這個語法也與XML相符合,所以在解析XML的時候會被誤認為是XML,而其中內容(比如特殊字符)又有可能和標準XML沖突,所以導致了出錯。

那么,為了讀取包含有敏感信息的PHP等源文件,我們就要先將“可能引發沖突的PHP代碼”編碼一遍,這里就會用到php://filter。

php://filter是PHP語言中特有的協議流,作用是作為一個“中間流”來處理其他流。比如,我們可以用如下一行代碼將POST內容轉換成base64編碼并輸出:

readfile("php://filter/read=convert.base64-encode/resource=php://input");

如下:

所以,在XXE中,我們也可以將PHP等容易引發沖突的文件流用php://filter協議流處理一遍,這樣就能有效規避特殊字符造成混亂。

如下,我們使用的是php://filter/read=convert.base64-encode/resource=./xxe.php

巧用編碼與解碼

使用編碼不光可以幫助我們獲取文件,也可以幫我們去除一些“不必要的麻煩”。

記得前段時間三個白帽有個比賽,其中有一部分代碼大概類似于以下:

?php
$content = '?php exit; ?>';
$content .= $_POST['txt'];
file_put_contents($_POST['filename'], $content);

 $content在開頭增加了exit過程,導致即使我們成功寫入一句話,也執行不了(這個過程在實戰中十分常見,通常出現在緩存、配置文件等等地方,不允許用戶直接訪問的文件,都會被加上if(!defined(xxx))exit;之類的限制)。那么這種情況下,如何繞過這個“死亡exit”?

幸運的是,這里的$_POST['filename']是可以控制協議的,我們即可使用 php://filter協議來施展魔法:使用php://filter流的base64-decode方法,將$content解碼,利用php base64_decode函數特性去除“死亡exit”。

眾所周知,base64編碼中只包含64個可打印字符,而PHP在解碼base64時,遇到不在其中的字符時,將會跳過這些字符,僅將合法字符組成一個新的字符串進行解碼。

所以,一個正常的base64_decode實際上可以理解為如下兩個步驟:

?php
$_GET['txt'] = preg_replace('|[^a-z0-9A-Z+/]|s', '', $_GET['txt']);
base64_decode($_GET['txt']);

所以,當$content被加上了?php exit; ?>以后,我們可以使用 php://filter/write=convert.base64-decode 來首先對其解碼。在解碼的過程中,字符、?、;、>、空格等一共有7個字符不符合base64編碼的字符范圍將被忽略,所以最終被解碼的字符僅有“phpexit”和我們傳入的其他字符。

“phpexit”一共7個字符,因為base64算法解碼時是4個byte一組,所以給他增加1個“a”一共8個字符。這樣,"phpexita"被正常解碼,而后面我們傳入的webshell的base64內容也被正常解碼。結果就是?php exit; ?>沒有了。

最后效果是 :

利用字符串操作方法

有的同學說,base64的算法我不懂,上面的方法太復雜了。

其實,除了使用base64特性的方法外,我們還可以利用php://filter字符串處理方法來去除“死亡exit”。我們觀察一下,這個?php exit; ?>實際上是什么?

實際上是一個XML標簽,既然是XML標簽,我們就可以利用strip_tags函數去除它,而php://filter剛好是支持這個方法的。

編寫如下測試代碼即可查看 php://filter/read=string.strip_tags/resource=php://input 的效果:

echo readfile('php://filter/read=string.strip_tags/resource=php://input');

可見,?php exit; ?>被去除了。但回到上面的題目,我們最終的目的是寫入一個webshell,而寫入的webshell也是php代碼,如果使用strip_tags同樣會被去除。

萬幸的是,php://filter允許使用多個過濾器,我們可以先將webshell用base64編碼。在調用完成strip_tags后再進行base64-decode?!八劳鰁xit”在第一步被去除,而webshell在第二步被還原。

最終的數據包如下:

除此之外,我們還可以利用rot13編碼獨立完成任務。原理和上面類似,核心是將“死亡exit”去除。?php exit; ?>在經過rot13編碼后會變成?cuc rkvg; ?>,在PHP不開啟short_open_tag時,php不認識這個字符串,當然也就不會執行了:

當然,這個方法的條件就是不開啟短標簽。

以上就是關于php://filter的妙用的疑惑全部內容,感謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php中使用array_filter()函數過濾空數組的實現代碼
  • 巧用php中的array_filter()函數去掉多維空值的代碼分享
  • php array_filter除去數組中的空字符元素

標簽:遂寧 常州 吐魯番 遵義 寧夏 武威 荊門 徐州

巨人網絡通訊聲明:本文標題《淺談php://filter的妙用》,本文關鍵詞  淺談,php,filter,的,妙用,淺談,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談php://filter的妙用》相關的同類信息!
  • 本頁收集關于淺談php://filter的妙用的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    美女视频黄a大片欧美| 日韩你懂的在线观看| 久久99精品久久久久| 亚洲成人av一区二区三区| 一级日本不卡的影视| 亚洲人成网站在线| 一区二区三区不卡在线观看| 亚洲欧洲日韩女同| 一区二区三区不卡视频| 天天综合日日夜夜精品| 亚洲成人av在线电影| 蜜桃av一区二区三区电影| 天堂午夜影视日韩欧美一区二区| 8x8x8国产精品| 国产一区二区三区最好精华液| 久久久久久久综合日本| av在线这里只有精品| 一区二区三区日韩在线观看| 9191精品国产综合久久久久久| 色哟哟一区二区三区| 五月激情综合网| www精品美女久久久tv| 成人av免费在线播放| 午夜一区二区三区在线观看| 亚洲精品一线二线三线无人区| 成人精品免费看| 午夜精品一区二区三区三上悠亚| 精品国产亚洲一区二区三区在线观看| 粉嫩在线一区二区三区视频| 午夜国产精品影院在线观看| 国产无遮挡一区二区三区毛片日本| 97久久超碰精品国产| 麻豆一区二区三区| 亚洲欧洲中文日韩久久av乱码| 日韩一区二区三区四区| av激情亚洲男人天堂| 男人操女人的视频在线观看欧美| 中文字幕一区二区三区不卡| 日韩一级大片在线| 91久久香蕉国产日韩欧美9色| 毛片一区二区三区| 欧美中文一区二区三区| 欧美在线综合视频| 国产农村妇女毛片精品久久麻豆| 亚洲精品国产第一综合99久久 | 日韩高清在线观看| 99在线热播精品免费| 欧美成人福利视频| 亚洲国产精品久久久久婷婷884| 久草精品在线观看| 7777精品伊人久久久大香线蕉完整版 | 精品视频在线免费看| 精品动漫一区二区三区在线观看| 一二三四社区欧美黄| 国产ts人妖一区二区| 日韩欧美国产1| 五月婷婷久久综合| 91福利国产精品| 国产精品不卡一区二区三区| 极品少妇xxxx精品少妇偷拍| 欧美精品乱人伦久久久久久| 一区二区三区中文在线| 成人18视频日本| 久久精品亚洲麻豆av一区二区| 一区二区国产视频| 久久影院视频免费| 欧美videos中文字幕| 欧美一卡2卡3卡4卡| 欧美精品精品一区| 91麻豆精品久久久久蜜臀| 欧美三级三级三级| 欧美裸体一区二区三区| 欧美欧美午夜aⅴ在线观看| 久久中文娱乐网| 国产亚洲精品久| 日本一区二区不卡视频| 国产色婷婷亚洲99精品小说| 久久久久99精品一区| 欧美精品一区视频| 久久中文字幕电影| 国产精品美女久久久久久| 欧美经典三级视频一区二区三区| 国产欧美1区2区3区| 国产精品欧美极品| 中文字幕综合网| 一个色妞综合视频在线观看| 午夜精品久久久久久久久久久| 亚洲在线视频一区| 日本伊人色综合网| 国内精品久久久久影院一蜜桃| 国产福利不卡视频| 91小视频免费观看| 91福利在线看| 欧美一级片免费看| 国产亚洲欧美色| 中文字幕在线观看一区| 一区二区三区中文字幕电影| 日韩激情一二三区| 激情小说欧美图片| 色综合久久综合网97色综合| 欧美人与性动xxxx| 精品91自产拍在线观看一区| 中文字幕在线不卡国产视频| 亚洲午夜视频在线观看| 日本中文字幕一区二区视频 | 欧美韩日一区二区三区四区| 亚洲日本在线观看| 亚洲高清免费在线| 狠狠v欧美v日韩v亚洲ⅴ| 波多野结衣在线一区| 欧美熟乱第一页| 久久综合精品国产一区二区三区| 国产精品你懂的在线| 午夜免费欧美电影| 国产91精品一区二区麻豆亚洲| 一本色道**综合亚洲精品蜜桃冫 | 欧美精品一区男女天堂| 日韩伦理免费电影| 激情av综合网| 日本韩国欧美在线| 精品国产欧美一区二区| 中文字幕一区二区三| 日韩精品欧美成人高清一区二区| 国产精品自拍一区| 精品视频免费看| 国产欧美一区二区在线| caoporm超碰国产精品| 欧美精品久久99久久在免费线 | 国产成人aaa| 91精品视频网| 亚洲人成在线播放网站岛国| 久久福利视频一区二区| 91黄色激情网站| 欧美激情在线一区二区三区| 天堂一区二区在线免费观看| 97久久精品人人做人人爽| 欧美精品一区二区久久婷婷| 一区二区三区免费看视频| 国产凹凸在线观看一区二区| 日韩欧美一区在线| 亚洲一区精品在线| 91一区二区在线观看| 国产日韩欧美不卡| 美女脱光内衣内裤视频久久影院| 色老汉一区二区三区| 国产精品久久久99| 国产麻豆成人传媒免费观看| 欧美电影影音先锋| 亚洲国产视频直播| 色婷婷综合久久久| 欧美国产精品一区二区三区| 国产一区在线观看视频| 正在播放亚洲一区| 午夜精品一区二区三区免费视频 | 91丝袜高跟美女视频| 国产人成一区二区三区影院| 老司机精品视频在线| 欧美美女网站色| 午夜亚洲国产au精品一区二区| 国产精品入口麻豆九色| 狠狠色狠狠色综合| 日韩精品中文字幕一区 | 亚洲精品一区二区三区蜜桃下载 | 欧美色精品天天在线观看视频| 亚洲免费毛片网站| 色婷婷综合久久久中文一区二区| 中文字幕一区二区三区蜜月| 成人免费的视频| 亚洲人成7777| 91色porny| 亚洲男人天堂av网| 欧美亚洲自拍偷拍| 视频一区二区中文字幕| 宅男在线国产精品| 狠狠色狠狠色综合系列| 久久久久久久久蜜桃| 高清国产一区二区三区| 国产精品动漫网站| 色婷婷亚洲精品| 午夜欧美电影在线观看| 日韩欧美在线123| 欧洲国内综合视频| 亚洲国产精品久久久久秋霞影院| 欧美伊人久久久久久久久影院| 视频一区中文字幕国产| 欧美大片一区二区三区| 国产成人精品免费看| 国产精品的网站| 欧美性猛片aaaaaaa做受| 视频在线观看国产精品| 久久久久久久久久久99999| 风流少妇一区二区| 亚洲伦理在线免费看| 欧美人与性动xxxx| 国产精品88888| 亚洲精品国产成人久久av盗摄| 91精品久久久久久蜜臀| 国产精品一区二区三区网站| 综合久久一区二区三区| 在线成人免费观看|