成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > thinkphp諸多限制條件下如何getshell詳解

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

熱門(mén)標(biāo)簽:地圖標(biāo)注視頻廣告入駐 OMG地圖標(biāo)注app 黔江400電話(huà)如何辦理 招標(biāo)自動(dòng)語(yǔ)音外呼系統(tǒng) ai電話(huà)機(jī)器人加盟代理 中原區(qū)電話(huà)機(jī)器人價(jià)格 電銷(xiāo)機(jī)器人便宜的有嗎 400電話(huà)鄭州申請(qǐng) gps 地圖標(biāo)注軟件

前言

先說(shuō)說(shuō)2020_n1CTF的web題Easy_tp5復(fù)現(xiàn)問(wèn)題。

這個(gè)題在保留thinkphp的RCE點(diǎn)的同時(shí),并且RCE中ban掉許多危險(xiǎn)函數(shù),只能允許單參數(shù)的函數(shù)執(zhí)行。對(duì)于現(xiàn)在在網(wǎng)絡(luò)中流傳的文件包含的點(diǎn)也增加了限制。

smile yyds!

先說(shuō)一下這個(gè)題限制條件:

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

ban掉所有的單參數(shù)危險(xiǎn)函數(shù)

設(shè)置open_basedir為web目錄

設(shè)置僅在public目錄下可寫(xiě)

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

這些限制都太大了,所以需要想辦法去上傳一個(gè)shell來(lái)完成后續(xù)繞disable_function。

首先TP5.0.0目前只存在通過(guò)覆蓋Request中的某些變量導(dǎo)致RCE,其余細(xì)節(jié)不再贅述,我們看看大概代碼執(zhí)行點(diǎn)在哪里。

call_user_func是代碼執(zhí)行點(diǎn),我們基本上所有PHP自帶的可利用函數(shù)基本被ban掉,所以我們需要從自寫(xiě)的函數(shù)調(diào)用來(lái)入手,首先我們需要看下這個(gè)點(diǎn)??苫卣{(diào)函數(shù)不僅僅指的是簡(jiǎn)單函數(shù),還可以是一些對(duì)象的方法,包括靜態(tài)方法。

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

我們可以這樣通過(guò)調(diào)用這個(gè)類(lèi)的靜態(tài)方法module,來(lái)實(shí)現(xiàn)寫(xiě)文件的操作。

我們先看看這個(gè)該怎么走,我們看到這個(gè)mkdir是在application創(chuàng)建目錄,但是由于權(quán)限問(wèn)題肯定無(wú)法創(chuàng)建。根據(jù)TP報(bào)錯(cuò)即退出的機(jī)制從而中斷執(zhí)行。那么我們可以通過(guò)../public/test來(lái)創(chuàng)建目錄。

我們會(huì)進(jìn)入到buildhello函數(shù)中。

走完流程發(fā)現(xiàn)我們可以在public創(chuàng)建了一個(gè)test模塊,同樣看到test/controller/Index.php中我們所寫(xiě)的../public/test保存了下來(lái)那么我們就繞過(guò),但是執(zhí)行完之后會(huì)發(fā)現(xiàn)一些語(yǔ)法錯(cuò)誤導(dǎo)致代碼不能執(zhí)行。

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

但是還有一個(gè)問(wèn)題需要解決,就是我們這樣的payload會(huì)設(shè)置一個(gè)不存在目錄從而可以符合語(yǔ)法并且加入eval函數(shù)。但是現(xiàn)在還存在一個(gè)跨越不存在目錄的問(wèn)題。

linux環(huán)境

win環(huán)境

在Linux中不能創(chuàng)建不存在的目錄,但是在win下就可以。但是報(bào)錯(cuò)是warning,并不會(huì)中斷執(zhí)行,并且在bindhello函數(shù)中我們會(huì)看到:

其中mkdir函數(shù)存在recursive參數(shù)為true,允許遞歸創(chuàng)建多級(jí)嵌套的目錄。這樣就可以使mkdir中使用不存在的目錄就可以進(jìn)行繞過(guò)。但是現(xiàn)在有個(gè)問(wèn)題:前面的mkdir中的warning報(bào)錯(cuò)被TP捕獲到直接會(huì)退出無(wú)法執(zhí)行后面的內(nèi)容,那么我們就需要使用一些辦法進(jìn)行抑制報(bào)錯(cuò)。我們經(jīng)常做題會(huì)用到一個(gè)函數(shù)error_reporting,我們可以使用error_reporting(0)抑制報(bào)錯(cuò)。

我們?cè)倩氐酱a執(zhí)行點(diǎn),我們發(fā)現(xiàn)call_user_func函數(shù)執(zhí)行完的值會(huì)執(zhí)行循環(huán)再次回到call_user_func()中當(dāng)回調(diào)函數(shù)的參數(shù)進(jìn)行使用。因此需要考慮一下怎么調(diào)整才能讓我們執(zhí)行并且抑制報(bào)錯(cuò)。

1.如果我們將error_reporting放在前面執(zhí)行,無(wú)論參數(shù)是什么都會(huì)返回0從而導(dǎo)致后面執(zhí)行代碼不可控。

2.如果我們將think\Build::module放前面,那么thinkphp報(bào)錯(cuò)也不能執(zhí)行成功。

但是如果我們放入一個(gè)中間值,在第一次執(zhí)行能夠成功創(chuàng)建目錄,并且error_reporting還能成功執(zhí)行,這時(shí)候就需要用到PHP弱類(lèi)型比較,PHP中 0 == null,0 == 非數(shù)字開(kāi)頭的字符串。

payload如下可示:

方法二 使用注釋符繞過(guò)語(yǔ)法產(chǎn)生的錯(cuò)誤

payload如下:

這樣就會(huì)使用注釋符注釋掉后面的語(yǔ)法錯(cuò)誤,然后使用?>包裹住,后面跟上自己用的payload即可。但是這樣會(huì)產(chǎn)生一個(gè)問(wèn)題,無(wú)法在win環(huán)境下使用,win下文件夾中不能帶這些字符/ \ : * ? " > |

方法三 文件包含php偽協(xié)議

這種操作就是,我們通過(guò)之前的think\Build::module寫(xiě)文件進(jìn)去,寫(xiě)入的內(nèi)容是我們r(jià)ot13編碼過(guò)的。然后通過(guò)think\__include_file調(diào)用我們寫(xiě)入文件的內(nèi)容,因?yàn)檫@個(gè)過(guò)濾不夠完全,可以讓我們包含我們所寫(xiě)的內(nèi)容。

方法四 覆蓋日志路徑寫(xiě)入

因?yàn)轭}目將error_log函數(shù)ban掉了,所以這個(gè)非預(yù)期解是在不ban掉error_log函數(shù)的情況下所實(shí)現(xiàn)的。

payload具體如下:

1.通過(guò)json_decode使得我們傳入的{"type":"File", "path":"/var/www/html/null/public/logs"}轉(zhuǎn)換成內(nèi)置類(lèi)stdClass的一個(gè)對(duì)象。

2.再通過(guò)get_object_vars將其轉(zhuǎn)換成數(shù)組傳入到think\Log::init中。

3.在其中會(huì)new了一個(gè)\think\log\driver\File,并且傳入的參數(shù)是我們的'path'=>/var/www/html/null/public/logs,那么會(huì)觸發(fā)類(lèi)中的__construct,將其默認(rèn)的path給覆蓋掉。

4.最后因?yàn)槲覀冇|發(fā)漏洞點(diǎn)的特殊性,肯定會(huì)報(bào)錯(cuò)使得報(bào)錯(cuò)信息可以被計(jì)入到log文件里。

5.之后再通過(guò)think\Lang::load包含。

方法五  ::竟然可以調(diào)用非靜態(tài)方法

下面是個(gè)簡(jiǎn)單的例子。

?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");

我們看看會(huì)怎么執(zhí)行。

會(huì)發(fā)現(xiàn)使用::調(diào)用了public類(lèi)的方法并且能夠成功執(zhí)行,但是會(huì)報(bào)錯(cuò)。并且::僅僅適合在方法中沒(méi)有寫(xiě)$this的情況,因?yàn)?this指代的是這個(gè)對(duì)象,找不到對(duì)象自然會(huì)報(bào)錯(cuò)。那么我們看一下下面的payload就會(huì)一眼明白,payload其實(shí)用了跟上面預(yù)期解抑制錯(cuò)誤的另一種方法,然后抑制報(bào)錯(cuò)讓TP不會(huì)遇錯(cuò)停止執(zhí)行。

這個(gè)題解的payload如下:

1.因?yàn)镻HP本身的錯(cuò)誤處理被thinkphp所替代進(jìn)行處理,所以上面就是將thinkphp所替代錯(cuò)誤進(jìn)行處理的方法給覆蓋掉導(dǎo)致沒(méi)有辦法正常執(zhí)行。

2.調(diào)用self::path方法,可以?huà)仐壍粑覀兩弦粋€(gè)執(zhí)行的返回值,并且返回我們所輸入的path。為什么會(huì)返回path,path為什么是我們輸入的值,這個(gè)就是之前提到的代碼執(zhí)行點(diǎn)他是覆蓋了Request類(lèi)的參數(shù),所以方法返回的是$this->path,這個(gè)我們可以控制。

3.之后調(diào)用base64_decode,返回值就是我們base64解碼的內(nèi)容。

4.解碼后的返回值就會(huì)進(jìn)入\think\view\driver\Php::Display中,然后進(jìn)入eval執(zhí)行代碼。

總結(jié)

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

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

標(biāo)簽:阿里 那曲 哈密 北京 池州 濟(jì)源 日照 孝感

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《thinkphp諸多限制條件下如何getshell詳解》,本文關(guān)鍵詞  thinkphp,諸多,限制,條件下,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《thinkphp諸多限制條件下如何getshell詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于thinkphp諸多限制條件下如何getshell詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    午夜av电影一区| 影音先锋人妻啪啪av资源网站| av片在线看| 国产网站无遮挡| 国产欧美日韩综合精品| 欧美激情在线视频二区| 精品中文字幕一区二区三区| 久久精品视频网| 91gao视频| 国产对白在线| 精品福利一区二区三区免费视频| 亚洲成人天堂网| 欧美精品在线一区二区| 超鹏97在线| av中文字幕网| 国产成人av自拍| 蜜桃特黄a∨片免费观看| 99国内精品久久久久| 欧美精品一区二区蜜桃| 日本在线观看不卡| 一区二区精品国产| 国产精品一区二区三区四| 国内综合精品午夜久久资源| 日韩午夜免费视频| 粉嫩av亚洲一区二区图片| 亚欧精品在线视频| 日本japanese极品少妇| av在线播放一区二区| 欧美日韩女优| 成人免费在线观看av| 亚洲婷婷在线| 免费中文字幕在线观看| 免费一区二区视频| 久久国产精品露脸对白| 激情不卡一区二区三区视频在线| 亚洲精品国产精品国自产在线| 成人性色生活片免费看爆迷你毛片| 日韩欧美成人一区二区| 亚洲免费电影在线观看| 逼特逼视频在线| 国产呦精品一区二区三区网站| 国产一区二区三区电影在线观看| 国产精品久久久av| 性猛交ⅹ×××乱大交| 精产国品自在线www| 久久动漫网址| 亚洲国产一区二区久久久777| 国产精品中出一区二区三区| 亚洲图片激情小说| 欧美午夜精品久久久久免费视| 欧美激情伊人电影| 成人h视频在线观看播放| 亚洲成a人片在线www| 成人在线免费在线观看| 综合分类小说区另类春色亚洲小说欧美| 国产精品91一区| 欧美一级免费在线观看| 亚洲国产成人一区| 久久不见久久见国语| av毛片午夜不卡高**水| 一区二区视频免费看| 国产综合在线播放| 成 年 人 黄 色 大 片大 全| 精品一区二区三区视频在线观看| 第一福利在线视频| 一区二区激情| 黄色a在线观看| 日韩欧美视频免费在线观看| 精品欧美一区二区三区| 欧美高清视频一区二区三区在线观看| 成年人视频网站免费观看| 影视先锋久久| 中文字幕亚洲无线码a| av在线1区2区| 不卡的看片网站| 精品无人乱码一区二区三区| 视频一区在线播放| 91九色最新地址| 欧美老女人性生活| 污污网站免费观看| 精品国产乱码久久久久久婷婷| 精品动漫一区二区三区| 成人精品一区二区三区中文字幕| 亚洲精品无码专区| 欧美一级片在线免费观看| 国产精品系列在线| 岛国片av在线| 午夜久久久久| 99这里有精品| 超碰超碰在线| 在免费jizzjizz在线视频| 91尤物国产福利在线观看| 欧美一卡二卡三卡| 国产一级免费大片| 天天色av.com| 黄色裸体一级片| 亚洲日本成人网| 日本欧美色综合网站免费| 韩日在线视频| 高潮一区二区| 午夜激情av在线| 黑人玩弄人妻一区二区三区| 日本一区二区高清视频| 爽爽窝窝午夜精品一区二区| 成人精品一区二区| 亚洲三级网页| 久久99精品久久久久久久久久| 99精品视频中文字幕| 东京热av一区| 正在播放日韩精品| 一区二区自拍| 韩国av免费在线观看| 丰满的少妇愉情hd高清果冻传媒| 少妇人妻互换不带套| 亚洲国产视频一区| 亚洲成色www8888| 日本美女一区二区三区视频| 中国女人内谢25xxxx免费视频| 免费一区视频| 黄色免费电影网站| 91久久久久国产一区二区| 狠狠操精品视频| 影院在线观看全集免费观看| 波多野结衣 久久| 欧美精品黑人性xxxx| 国产精品18久久久久久麻辣| 911久久香蕉国产线看观看| 麻豆影视在线播放| 正在播放欧美视频| 精品在线视频一区二区三区| 在线视频尤物| 久久字幕精品一区| 中文字幕字幕中文在线中不卡视频| 日韩精品久久久久久| 日韩在线免费播放| 黄色小视频大全| 国产乱码精品一区二区三区日韩精品| a级大胆欧美人体大胆666| 亚洲在线免费看| 国产精品久久久久久久龚玥菲| 国产成人亚洲综合a∨婷婷| 精品久久久久久无码国产| 免费在线播放第一区高清av| 国产性生活大片| 黄色a级片在线观看| 国产精品女视频| 1069视频| 黄色一区二区三区| 日本午夜视频在线观看| 亚洲国产精品成人综合色在线婷婷| 国产精品一二三在| 久久这里只有精品1| 日韩高清不卡一区二区三区| 一本色道久久综合一区| 欧美在线高清| 色婷婷av一区二区| 亚洲欧美精品中文第三| 精品成人免费自拍视频| 日韩中文影院| 国产精品一二二区| 天天爽夜夜爽视频| 亚洲欧美在线视频免费| 另类中文字幕网| 成人免费直播在线| 搞av.com| 亚洲成年人在线播放| 瑟瑟网站在线观看| 影音先锋男人在线| 成人免费视频观看视频| 黄色小视网站| 欧美性色黄在线视频| 日本成人一区二区三区| 91精品综合久久久久久久久久久| 国产男女猛烈无遮挡91| 国产精品久久国产精品99gif| 男生女生差差差的视频在线观看| 99视频网站| 蜜桃狠狠狠狠狠狠狠狠狠| 成人在线视频成人| 亚洲综合偷拍欧美一区色| 米奇777在线影院线| 欧美亚洲丝袜传媒另类| 国产欧美日韩视频一区二区三区| 精品国产91久久久久久| 欧美日韩精品二区第二页| 久久久久88色偷偷| 久久成人亚洲精品| 成人在线免费高清视频| 久草免费资源| 久艹在线观看视频| 国产精品后入内射日本在线观看| 人妻少妇精品无码专区二区| 亚洲少妇一区二区| 99re国产在线播放| 日本爱爱网站| 在线观看午夜看亚太视频| 人妻 日韩 欧美 综合 制服| 日本精品一区二区在线观看| 久久99国产精品久久99大师| 在线精品视频免费观看| 菠萝蜜一区二区| 夜夜夜夜夜夜操| 久久精品国产久精国产| 欧美一区二区三区播放| 久久久久久久久久久99999| 91在线视频在线| 亚洲综合中文字幕68页| 国产精品免费电影| 亚洲a∨一区二区三区| 亚洲久久久久久久久久| 成人爽a毛片一区二区免费| 最近中文字幕在线中文高清版| 国产亚av手机在线观看| 欧洲一区二区日韩在线视频观看免费| 日本性爱视频在线观看| 人成免费电影一二三区在线观看| 国产一区二区女内射| 久久久亚洲欧洲日产| 国产精品㊣新片速递bt| 污污网站在线看| 日批视频网站| 自拍在线播放| 精品国模一区二区三区| 日本精品人妻无码77777| a级片在线视频| 男人操女人视频网站| 97超碰欧美中文字幕| 免费91在线观看| 亚洲午夜小视频| 日本精品国产| 91视频论坛| 天天色天天爽| 天天干天天干天天干| 操操操日日日| 精品无码久久久久久久| 欧美激情精品久久久久久免费印度| 麻豆av在线播放| 日本精品视频在线观看| 久久久国产精品| www.黄在线观看| 亚洲一区二区三区涩| 天天摸天天干天天操| 精品一区二区观看| 91久久国产最好的精华液| 欧美性大战久久久久| 91国在线产| 国产日产欧美视频| 一区二区久久精品66国产精品| 国产福利第一视频| 欧美精选视频一区二区| 狂野欧美激情性xxxx| 亚洲调教一区| 男同在线观看| 成人av网站在线播放| 欧美zozozo| 国产美女直播视频一区| 亚洲毛片网站| 偷拍一区二区三区四区| 青草青青在线视频| 久久天天躁日日躁| 加勒比在线日本| 日韩国产小视频| 欧美日韩一区二区三区在线免费观看| 国产av一区二区三区精品| 久久久99久久| 国产精选第一页| 国产精品综合久久久久| 中文字幕在线看人| 国产有色视频色综合| 都市激情亚洲欧美| 日本国产一区二区| 伊人网在线播放| 亚洲字幕成人中文在线观看| yiren22综合网成人| 在线电影一区二区| 久久久久久久有限公司| 久久精品一本久久99精品| 波多野结衣作品集| 国产中文字幕网| 黄色在线免费看| 国产精品网址| 亚洲AV成人无码精电影在线| 国产欧美综合色| 国产精品视频麻豆| 四虎精品一区二区永久在线观看| 国产青青草视频| 欧洲亚洲视频| 亚洲伦理一区二区三区| 日韩欧美电影| 在线精品国产成人综合| 欧美综合一区第一页| 中文字幕日韩欧美精品在线观看| 啦啦啦在线视频免费观看高清中文| 一个人看的www日本高清视频| 欧美精品一二区| 国内精彩免费自拍视频在线观看网址| 欧美自拍视频在线| 欧美特黄aaaaaaaa大片| xfplay爱情电影网love| 亚洲精品美女视频| 天天噜噜噜噜噜噜| caoprom在线| 色影视在线视频资源站| 亚洲少妇第一页| 在线观看视频一区二区| 国产一区二区视频网站| 欧美精品欧美极品欧美激情| 999免费视频| 日干夜干天天干| 国产v综合ⅴ日韩v欧美大片| 久久久久亚洲精品成人网小说| 国产精品国产三级国产aⅴ浪潮| 国产视频亚洲色图| 五月激情六月丁香| 国产精品国产三级在线观看| 91麻豆免费视频网站| 国内在线免费高清视频| 亚洲图片自拍偷拍| 国产福利不卡视频| 精品福利视频一区二区三区| 69影院欧美专区视频| 人妻人人澡人人添人人爽| 韩日在线播放| 精品国产乱码久久久久久久久| 欧美亚洲综合另类| 亚洲三级黄色片| 婷婷精品视频| 亚洲黄色小视频在线观看|