婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > thinkphp諸多限制條件下如何getshell詳解

thinkphp諸多限制條件下如何getshell詳解

熱門標簽:地圖標注視頻廣告入駐 OMG地圖標注app 黔江400電話如何辦理 招標自動語音外呼系統 ai電話機器人加盟代理 中原區電話機器人價格 電銷機器人便宜的有嗎 400電話鄭州申請 gps 地圖標注軟件

前言

先說說2020_n1CTF的web題Easy_tp5復現問題。

這個題在保留thinkphp的RCE點的同時,并且RCE中ban掉許多危險函數,只能允許單參數的函數執行。對于現在在網絡中流傳的文件包含的點也增加了限制。

smile yyds!

先說一下這個題限制條件:

  • thinkphp版本:5.0.0
  • php版本:7
  • 對于包含文件增加了限制

ban掉所有的單參數危險函數

設置open_basedir為web目錄

設置僅在public目錄下可寫

在TP5.0.0的中,目前公布的只是存在利用Request類其中變量被覆蓋導致RCE。如果ban掉單參數可利用函數那么只能用文件包含,但是文件包含做了限制不能包含log文件,所以只能從別的方面入手。

這些限制都太大了,所以需要想辦法去上傳一個shell來完成后續繞disable_function。

首先TP5.0.0目前只存在通過覆蓋Request中的某些變量導致RCE,其余細節不再贅述,我們看看大概代碼執行點在哪里。

call_user_func是代碼執行點,我們基本上所有PHP自帶的可利用函數基本被ban掉,所以我們需要從自寫的函數調用來入手,首先我們需要看下這個點。可回調函數不僅僅指的是簡單函數,還可以是一些對象的方法,包括靜態方法。

方法一 thinkphp\library\think\Build::module

我們可以這樣通過調用這個類的靜態方法module,來實現寫文件的操作。

我們先看看這個該怎么走,我們看到這個mkdir是在application創建目錄,但是由于權限問題肯定無法創建。根據TP報錯即退出的機制從而中斷執行。那么我們可以通過../public/test來創建目錄。

我們會進入到buildhello函數中。

走完流程發現我們可以在public創建了一個test模塊,同樣看到test/controller/Index.php中我們所寫的../public/test保存了下來那么我們就繞過,但是執行完之后會發現一些語法錯誤導致代碼不能執行。

由于這部分內容可控那我們就把他變得符合語法執行,我們可以這么做test;eval($_POST[a]);#/../../public/test;,這樣就符合語法。

但是還有一個問題需要解決,就是我們這樣的payload會設置一個不存在目錄從而可以符合語法并且加入eval函數。但是現在還存在一個跨越不存在目錄的問題。

linux環境

win環境

在Linux中不能創建不存在的目錄,但是在win下就可以。但是報錯是warning,并不會中斷執行,并且在bindhello函數中我們會看到:

其中mkdir函數存在recursive參數為true,允許遞歸創建多級嵌套的目錄。這樣就可以使mkdir中使用不存在的目錄就可以進行繞過。但是現在有個問題:前面的mkdir中的warning報錯被TP捕獲到直接會退出無法執行后面的內容,那么我們就需要使用一些辦法進行抑制報錯。我們經常做題會用到一個函數error_reporting,我們可以使用error_reporting(0)抑制報錯。

我們再回到代碼執行點,我們發現call_user_func函數執行完的值會執行循環再次回到call_user_func()中當回調函數的參數進行使用。因此需要考慮一下怎么調整才能讓我們執行并且抑制報錯。

1.如果我們將error_reporting放在前面執行,無論參數是什么都會返回0從而導致后面執行代碼不可控。

2.如果我們將think\Build::module放前面,那么thinkphp報錯也不能執行成功。

但是如果我們放入一個中間值,在第一次執行能夠成功創建目錄,并且error_reporting還能成功執行,這時候就需要用到PHP弱類型比較,PHP中 0 == null,0 == 非數字開頭的字符串。

payload如下可示:

方法二 使用注釋符繞過語法產生的錯誤

payload如下:

這樣就會使用注釋符注釋掉后面的語法錯誤,然后使用?>包裹住,后面跟上自己用的payload即可。但是這樣會產生一個問題,無法在win環境下使用,win下文件夾中不能帶這些字符/ \ : * ? " > |

方法三 文件包含php偽協議

這種操作就是,我們通過之前的think\Build::module寫文件進去,寫入的內容是我們rot13編碼過的。然后通過think\__include_file調用我們寫入文件的內容,因為這個過濾不夠完全,可以讓我們包含我們所寫的內容。

方法四 覆蓋日志路徑寫入

因為題目將error_log函數ban掉了,所以這個非預期解是在不ban掉error_log函數的情況下所實現的。

payload具體如下:

1.通過json_decode使得我們傳入的{"type":"File", "path":"/var/www/html/null/public/logs"}轉換成內置類stdClass的一個對象。

2.再通過get_object_vars將其轉換成數組傳入到think\Log::init中。

3.在其中會new了一個\think\log\driver\File,并且傳入的參數是我們的'path'=>/var/www/html/null/public/logs,那么會觸發類中的__construct,將其默認的path給覆蓋掉。

4.最后因為我們觸發漏洞點的特殊性,肯定會報錯使得報錯信息可以被計入到log文件里。

5.之后再通過think\Lang::load包含。

方法五  ::竟然可以調用非靜態方法

下面是個簡單的例子。

?php
class A{
 public function test1($a){
  echo "test1".$a;
 }
 static function test2($a){
  echo "test2".$a;
 }
 public function test3($a){
  $this->b = $a;
  echo "test3".$this->b;
 }
}

call_user_func("A::test1","x");
echo "/br>";
call_user_func("A::test2","x");
echo "/br>";
call_user_func("A::test3","x");
echo "/br>";
//$xxx=new A();
//call_user_func(array($xxx,'test3'),"x");

我們看看會怎么執行。

會發現使用::調用了public類的方法并且能夠成功執行,但是會報錯。并且::僅僅適合在方法中沒有寫$this的情況,因為$this指代的是這個對象,找不到對象自然會報錯。那么我們看一下下面的payload就會一眼明白,payload其實用了跟上面預期解抑制錯誤的另一種方法,然后抑制報錯讓TP不會遇錯停止執行。

這個題解的payload如下:

1.因為PHP本身的錯誤處理被thinkphp所替代進行處理,所以上面就是將thinkphp所替代錯誤進行處理的方法給覆蓋掉導致沒有辦法正常執行。

2.調用self::path方法,可以拋棄掉我們上一個執行的返回值,并且返回我們所輸入的path。為什么會返回path,path為什么是我們輸入的值,這個就是之前提到的代碼執行點他是覆蓋了Request類的參數,所以方法返回的是$this->path,這個我們可以控制。

3.之后調用base64_decode,返回值就是我們base64解碼的內容。

4.解碼后的返回值就會進入\think\view\driver\Php::Display中,然后進入eval執行代碼。

總結

到此這篇關于thinkphp諸多限制條件下如何getshell詳解的文章就介紹到這了,更多相關tp諸多限制條件下getshell內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • ThinkPHP框架實現定時執行任務的兩種方法分析
  • thinkphp5redis緩存新增方法實例講解
  • ThinkPHP菜單無極分類實例講解
  • Thinkphp自定義美化success和error提示跳轉頁面代碼實例
  • ThinkPHP的標簽制作實例講解
  • thinkphp的鉤子的兩種配置和兩種調用方法
  • phpstudy的安裝及ThinkPHP框架的搭建圖文講解
  • ThinkPHP6.0 重寫URL去掉Index.php的解決方法
  • ThinkPHP6通過Ucenter實現注冊登錄的示例代碼
  • Thinkphp5+Redis實現商品秒殺代碼實例講解
  • ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸
  • 如何在thinkphp中使用windows計劃任務定時執行php文件

標簽:阿里 那曲 哈密 北京 池州 濟源 日照 孝感

巨人網絡通訊聲明:本文標題《thinkphp諸多限制條件下如何getshell詳解》,本文關鍵詞  thinkphp,諸多,限制,條件下,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp諸多限制條件下如何getshell詳解》相關的同類信息!
  • 本頁收集關于thinkphp諸多限制條件下如何getshell詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品国产a毛片| 欧美久久久久久久久久| 欧美高清性hdvideosex| 日韩一区欧美二区| 亚洲综合色噜噜狠狠| 亚洲大片在线观看| 国产精品乱码一区二区三区软件| 欧美三级在线播放| 欧美亚洲综合网| 欧美精品视频www在线观看| 精品亚洲porn| 一本高清dvd不卡在线观看| 中文字幕 久热精品 视频在线| 欧美一区二区三区在线看| 国产日产欧产精品推荐色 | 欧美老人xxxx18| 婷婷久久综合九色综合绿巨人 | 制服丝袜日韩国产| 久久久噜噜噜久久人人看 | 国产麻豆精品久久一二三| 欧美裸体一区二区三区| 国产清纯白嫩初高生在线观看91 | 久久久综合视频| 国产99久久久久| 色哟哟国产精品| 国产视频一区二区在线| 免费在线视频一区| 5858s免费视频成人| 精品久久久久久综合日本欧美| 欧美亚洲综合在线| 精品国一区二区三区| 精品奇米国产一区二区三区| 精品99久久久久久| 久久久久久免费网| 国产亚洲精品7777| 狠狠色狠狠色综合日日91app| 久久综合九色综合97_久久久| 亚洲成a人片综合在线| 99久久er热在这里只有精品15| 国产精品久久久久久久久免费樱桃| 精品日韩一区二区| 亚洲天堂成人在线观看| 首页综合国产亚洲丝袜| av在线不卡网| 久久久久国产精品麻豆ai换脸| 亚洲欧美日韩国产另类专区| 日韩专区一卡二卡| 欧美中文字幕久久| 中文字幕一区二区三区在线观看 | 亚洲一区在线观看免费| 大尺度一区二区| 欧美一级理论片| 国产日韩欧美一区二区三区乱码| 中文字幕在线一区免费| 欧美综合天天夜夜久久| 美女在线观看视频一区二区| 日本一区二区三区电影| 欧美精品在线观看一区二区| 国产98色在线|日韩| 91麻豆国产在线观看| 天堂资源在线中文精品| 免费观看在线色综合| 日韩中文字幕亚洲一区二区va在线| 日韩欧美一卡二卡| 337p亚洲精品色噜噜| 色综合久久综合中文综合网| 成人污视频在线观看| 国产精品一区二区x88av| 亚洲日韩欧美一区二区在线| 久久精品国产精品亚洲精品| 国产精品一卡二卡在线观看| 亚洲综合色区另类av| 中文欧美字幕免费| 欧美三级韩国三级日本一级| 国产成人午夜精品5599 | 日本一区二区三区视频视频| 国产精品影视天天线| 91精品欧美综合在线观看最新 | 欧美精品日韩一本| 91精品国产美女浴室洗澡无遮挡| 91在线免费看| 欧美日韩国产综合草草| 欧美亚洲图片小说| 秋霞午夜av一区二区三区| 一区二区三区在线免费观看| 久久精品欧美一区二区三区麻豆| 欧美日韩一区二区欧美激情 | 国产精品黄色在线观看| 日韩理论片一区二区| 亚洲三级久久久| 日本不卡的三区四区五区| 免费观看久久久4p| 成人免费av在线| 欧美日韩久久一区| 国产香蕉久久精品综合网| 亚洲另类春色国产| 日韩精品电影在线| 99国内精品久久| 91精品国产91综合久久蜜臀| 久久久不卡网国产精品二区| 亚洲精品高清在线| 蜜臀va亚洲va欧美va天堂| 91亚洲资源网| 久久精品夜夜夜夜久久| 天堂蜜桃一区二区三区| 丁香亚洲综合激情啪啪综合| 一本色道久久综合亚洲91| 欧美日韩1区2区| 精品三级在线观看| 成人午夜视频免费看| 亚洲一区二区美女| 欧美一级理论片| 狠狠色丁香婷婷综合久久片| 久久午夜国产精品| 日本久久电影网| 美女免费视频一区| 国产精品丝袜一区| 韩国精品主播一区二区在线观看 | 国产精品丝袜在线| 亚洲视频一区二区在线观看| 亚洲欧洲另类国产综合| 首页国产丝袜综合| 日本视频免费一区| 久久久久久免费网| 日韩理论片中文av| 美腿丝袜在线亚洲一区| 午夜精品福利在线| 国产精品主播直播| 国产aⅴ精品一区二区三区色成熟| 欧美在线观看视频一区二区| 免费在线一区观看| 久久先锋影音av鲁色资源| 岛国一区二区在线观看| 亚洲私人影院在线观看| 欧美三区在线观看| 国产呦萝稀缺另类资源| 亚洲素人一区二区| 日韩一卡二卡三卡四卡| 成人理论电影网| 日韩电影免费在线| 国产精品久久久久久久久免费桃花| 欧美视频一区在线| 成人18视频日本| 麻豆91小视频| 亚洲成人综合视频| 自拍视频在线观看一区二区| 欧美精品一卡两卡| 91视频观看免费| 久久婷婷国产综合国色天香| 国产寡妇亲子伦一区二区| 一区二区三区在线观看视频| 精品久久五月天| 91国偷自产一区二区开放时间 | 成人h精品动漫一区二区三区| 日本不卡一二三区黄网| 亚洲欧美视频在线观看视频| 精品国精品国产尤物美女| 欧美日韩国产一二三| a级高清视频欧美日韩| 国产在线精品一区二区夜色| 欧美日韩成人综合在线一区二区| 成人av片在线观看| 黄色精品一二区| 日日夜夜精品免费视频| 亚洲午夜在线观看视频在线| 国产精品免费久久久久| 精品国产露脸精彩对白 | 欧美三级日韩三级| 99久久久久久| 不卡一区中文字幕| av成人免费在线观看| 国产成人在线免费观看| 国内精品在线播放| 久久99精品久久只有精品| 日本成人中文字幕在线视频 | 久久综合国产精品| 日韩视频免费观看高清完整版| 欧美日韩亚洲不卡| 欧美日韩国产另类一区| 欧美日韩一区二区在线视频| 成人h精品动漫一区二区三区| 国产一区在线观看麻豆| 国产一区二区三区av电影| 精品综合久久久久久8888| 激情国产一区二区| 国产成人自拍高清视频在线免费播放| 久久99精品国产麻豆婷婷洗澡| 天天综合网 天天综合色| 五月婷婷激情综合| 日韩不卡免费视频| 久久99久久久欧美国产| 国产在线精品一区二区三区不卡| 国产一区二区成人久久免费影院| 黄色小说综合网站| 高清视频一区二区| 不卡一区二区中文字幕| 91蜜桃在线免费视频| 欧美精品乱人伦久久久久久| 欧美一激情一区二区三区| 2020国产精品|