亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > PHP > 正文

ThinkPHP5核心類Request遠(yuǎn)程代碼漏洞分析

2020-03-22 20:16:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、漏洞介紹

2019年1月11日,ThinkPHP團(tuán)隊(duì)發(fā)布了一個(gè)補(bǔ)丁更新,修復(fù)了一處由于不安全的動(dòng)態(tài)函數(shù)調(diào)用導(dǎo)致的遠(yuǎn)程代碼執(zhí)行漏洞。該漏洞危害程度非常高,默認(rèn)條件下即可執(zhí)行遠(yuǎn)程代碼。啟明星辰ADLab安全研究員對(duì)ThinkPHP的多個(gè)版本進(jìn)行源碼分析和驗(yàn)證后,確認(rèn)具體受影響的版本為ThinkPHP5.0-5.0.23完整版。

二、漏洞復(fù)現(xiàn)

本地環(huán)境采用ThinkPHP 5.0.22完整版+PHP5.5.38+Apache進(jìn)行復(fù)現(xiàn)。安裝環(huán)境后執(zhí)行POC即可執(zhí)行系統(tǒng)命令,如圖:

afc4957c54f94380ee4cc381c70b9e4.png

三、漏洞分析

以網(wǎng)址下載的5.0.22完整版進(jìn)行分析,首先定位到漏洞關(guān)鍵點(diǎn):

thinkphp/library/think/Request.php:518

在method函數(shù)的第二個(gè)if分支中,引入了一個(gè)外部可控的數(shù)據(jù)$_POST[Config::get[‘var_method’]。而var_method的值為_method。

88aec3bbdb122bd58ac7d060948157c.png

Request類的__construct函數(shù)如下:

由于$options參數(shù)可控,攻擊者可以覆蓋該類的filter屬性、method屬性以及get屬性的值。而在Request類的param函數(shù)中:

當(dāng)$this- mergeParam為空時(shí),這里會(huì)調(diào)用$this- get(false)。跟蹤$this- get函數(shù):

該函數(shù)末尾調(diào)用了$this- input函數(shù),并將$this- get傳入,而$this- get的值是攻擊者可控的。跟蹤$this- input函數(shù):

該函數(shù)調(diào)用了$this- getFileter取得過(guò)濾器。函數(shù)體如下:

$this- filter的值是攻擊者通過(guò)調(diào)用html' target='_blank'>構(gòu)造函數(shù)覆蓋控制的,將該值返回后將進(jìn)入到input函數(shù):

查看filterValue函數(shù)如下:

在call_user_func函數(shù)的調(diào)用中,$filter可控,$value可控。因此,可致代碼執(zhí)行。

漏洞觸發(fā)流程:

從ThinkPHP5的入口點(diǎn)開始分析:

thinkphp/library/think/App.php:77

run函數(shù)第一行便實(shí)例化了一個(gè)Request類,并賦值給了$request。然后調(diào)用routeCheck($request,$config):

這里調(diào)用Route::check進(jìn)行路由檢測(cè)。函數(shù)如下:

注意紅色字體部分。對(duì)應(yīng)開頭的第一個(gè)步驟,也就是調(diào)用method函數(shù)進(jìn)行變量覆蓋。這里需要覆蓋的屬性有$this- filter,$this- method,$this- get。因?yàn)?request- method()的返回值為$this- method,所以該值也需要被控制。這里返回值賦值給了$method,然后取出self::$rules[$method]的值給$rules。這里需要注意:THINKPHP5有自動(dòng)類加載機(jī)制,會(huì)自動(dòng)加載vendor目錄下的一些文件。但是完整版跟核心版的vendor目錄結(jié)構(gòu)是不一樣的。

完整版的目錄結(jié)構(gòu)如下:

c36d6d7b0e92ced3321a9237fb87f72.png

而核心版的目錄結(jié)構(gòu)如下:

d790057811ee238741e8c395e59e35d.png

可以看到完整版比核心版多出了幾個(gè)文件夾。特別需要注意的就是think-captcha/src這個(gè)文件夾里有一個(gè)helper.php文件:

ec7a20529c2ec18d38d039653ef1662.png

這里調(diào)用/think/Route::get函數(shù)進(jìn)行路由注冊(cè)的操作。而這步操作的影響就是改變了上文提到的self::$rules的值。有了這個(gè)路由,才能進(jìn)行RCE,否則不成功。這也就是為什么只影響完整版,而不影響核心版的原因。此時(shí)的self::$rules的值為:

0fadd6dc1eb3d4bd1e9b9985be422fa.png

那么,當(dāng)攻擊者控制返回的$method的值為get的時(shí)候,$rules的值就是這條路由的規(guī)則。然后回到上文取到$rules之后,根據(jù)傳入的URL取得$item的值,使得$rules[$item]的值為captcha路由數(shù)組,就可以進(jìn)一步調(diào)用到self::parseRule函數(shù)。函數(shù)體略長(zhǎng),這里取關(guān)鍵點(diǎn):

此時(shí)傳遞進(jìn)來(lái)的$route的值為/think/captcha/CaptchaController@index。因此進(jìn)入的是標(biāo)注紅色的if分支中。在這個(gè)分支中,$result的’type’鍵對(duì)應(yīng)的值為‘method’。然后將$result層層返回到run函數(shù)中,并賦值給了$dispatch。

然后將$dispatch帶入到self::exec函數(shù)中:

進(jìn)入到紅色標(biāo)注的分支,該分支調(diào)用Request類的param方法。因此,滿足了利用鏈的第三步,造成命令執(zhí)行。

啟明星辰ADLab安全研究員對(duì)ThinkPHP5.0-5.0.23每個(gè)版本都進(jìn)行了分析,發(fā)現(xiàn)ThinkPHP5.0.2-5.0.23可以使用同一個(gè)POC,而ThinkPHP5.0-5.0.1需要更改一下POC,原因在于Route.php的rule函數(shù)的一個(gè)實(shí)現(xiàn)小差異。

ThinkPHP5.0-5.0.1版本的thinkphp/library/think/Route.php:235,將$type轉(zhuǎn)換成了大寫:

babc8839872c16c7021cd1881bfd403.png

在ThinkPHP5.0.2-5.0.23版本中,rule函數(shù)中卻將$type轉(zhuǎn)換成了小寫:

7a1bf42968e525229ed1a5c4716149a.png

四、補(bǔ)丁分析

在ThinkPHP5.0.24中,增加了對(duì)$this- method的判斷,不允許再自由調(diào)用類函數(shù)。

2285f587985703d73ee1c2d9baea765.png

五、結(jié)論

強(qiáng)烈建議用戶升級(jí)到ThinkPHP5.0.24版本,并且不要開啟debug模式,以免遭受攻擊。

相關(guān)推薦:《PHP教程》

以上就是ThinkPHP5核心類Request遠(yuǎn)程代碼漏洞分析的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产一区二区三区四区在线| 亚洲不卡1区| 欧美日韩一区二区免费在线观看| 成人福利影视| 久久99日本精品| 色婷婷激情一区二区三区| 国产日韩一区二区三区在线播放| 欧美高清在线精品一区| 日韩禁在线播放| 亚洲熟女乱综合一区二区三区| 波多野结衣乳巨码无在线| yw在线观看| 最新av免费在线| 精品动漫一区二区三区在线观看| 国产精品国模大尺度视频| 亚洲精品一区三区三区在线观看| 福利视频一区二区三区| 在线视频欧美日韩精品| 久久66热这里只有精品| 国产成人在线观看网站| 3d动漫精品啪啪一区二区竹菊| 国产香蕉精品视频| 草草影院第一页| 成人黄色视屏网站| 久久av老司机精品网站导航| 亚洲热av色在线播放| 羞羞答答国产精品www一本| 国产又黄又粗又猛又爽的视频| 久久精品成人欧美大片免费| 最近中文字幕mv在线一区二区三区四区| 少妇高潮av久久久久久| 国产农村老头老太视频| 久久亚洲精精品中文字幕| 婷婷久久一区| 欧美激情中文字幕在线| 欧美激情护士| 亚洲免费观看高清完整版在线| 亚洲成人av网址| 成人网18免费软件大全| 国产日韩欧美a| 国内av一区二区| jizz亚洲大全| 免费看黄色aaaaaa 片| 中文字幕乱码一区二区| 五月激情婷婷网| 农村妇女一区二区| 国产在线观看免费网站| 日本黄色免费录像| 午夜电影网一区| 国产精品一区hongkong| 在线观看日韩av先锋影音电影院| 久久久精品国产sm调教| 搞av.com| 午夜激情久久久| 国产 欧美 日韩 一区| 999精品免费视频| 韩国三级hd中文字幕| 色婷婷av一区二区三区丝袜美腿| 四虎4hutv紧急入口| 亚洲制服丝袜在线| 激情aⅴ欧美一区二区欲海潮| 日韩美女一区二区三区在线观看| 免费毛片在线播放免费| 国产精品视频自在线| 日韩一级二级三级精品视频| 亚洲图片久久| 精品乱码亚洲一区二区不卡| 国产欧美日韩中文字幕在线| 天天干天天操天天干天天操| 欧美性受极品xxxx喷水| 免费观看一级特黄欧美大片| 在线观看一区日韩| 91精品观看| 国产高清自拍视频在线观看| 国产精品美女久久久久av爽| 在线免费看a| 国产女主播在线直播| 午夜免费入口| 欧美日韩免费不卡视频一区二区三区| 欧洲一区二区日韩在线视频观看免费| 免费观看一级特黄欧美大片| 日本按摩中出| 国产一区二区免费视频| 99久久亚洲| 男人天堂2024| 黄网站app在线观看大全免费视频| 先锋影音av资源站| 日韩欧美国产综合一区| 成人福利在线观看视频| 亚洲欧美一区二区三区孕妇| 成人18视频在线播放| 无遮挡又色又刺激的女人视频| 冲田杏梨av在线| 国产免播放器视频| 神马欧美一区二区| 欧美激情综合亚洲一二区| 中文字幕在线免费不卡| 欧美一级特黄aaaaaa| 国产午夜精品久久| 伊人av在线com| 欧美精品第一页在线播放| 亚洲欧美日韩爽爽影院| 日韩黄色一级片| 在线国产一区二区三区| 国产亚洲欧美精品久久久www| 99久久自偷自偷国产精品不卡| 九色porny丨精品自拍视频| 日韩免费高清在线观看| 美日韩在线观看| 羞羞漫画网18久久app| 国产精品一区二区三区成人| 亚洲国产精品一区二区久久hs| 亚洲天堂伊人网| 91丝袜超薄交口足| 日韩最新在线视频| 欧美成人激情视频| 精彩视频一区二区三区| 可以免费看的av毛片| 亚洲国产精品一区二区www在线| 亚洲欧美成人一区二区三区| 亚洲欧美日本在线观看| 精品午夜福利视频| 在线观看免费看片| 欧美黑人性受xxxx精品| 在线激情小视频| www久久久久久| 中文字幕精品一区二| 国产探花视频在线观看| a毛片在线观看| 国产精品无码一区二区三区| 欧美日韩美女视频| 国产呦萝稀缺另类资源| 精品久久久久久久久久| 久久亚洲免费视频| 欧美日韩无遮挡| 人妻 丝袜美腿 中文字幕| 国产精品无码在线播放| 日韩专区精品| 久久中文字幕视频| 日韩欧美精品一区二区三区经典| 国产小视频福利在线| 亚洲国产清纯| 欧洲一区二区三区在线| 日韩av高清| free性中国hd国语露脸| 日韩精品极品毛片系列视频| 亚洲男女av一区二区| 欧美日韩高清在线观看| 人善交vide欧美| 你懂的网址国产 欧美| 色播五月激情综合网| jizzz18| 韩国成人在线| 欧美福利一区| 欧美一级手机免费观看片| 美女色狠狠久久| 国产精品毛片一区二区三区| 成人网站免费观看入口| 精品国内自产拍在线观看| 国产精品一区二区a| 免费看黄裸体一级大秀欧美| 91久久精品国产91性色69| 激情五月婷婷久久| 中文字幕人妻一区二区| 男人天堂免费视频| 国产精品第5页| 国产亚洲综合久久| 亚洲影院在线看| av电影在线观看完整版一区二区| 成人免费看黄网址| 欧美日韩在线国产| 亚洲精品乱码久久久久久黑人| 99热这里只有精品4| 中文字幕在线观看欧美| 国产精品99久久99久久久| av动漫在线免费观看| 春暖花开成人亚洲区| 国产婷婷色一区二区三区四区| 午夜在线视频免费| 99热99这里只有精品| 一本到在线视频| 一区精品在线观看| 国产精品久久久久久久免费看| 欧美性xxxx69| 精品一区二区免费在线观看| 中文字幕一区二区精品| 最近中文字幕免费| 亚洲欧洲国产一区| 中文字幕线观看| 漂亮人妻被中出中文字幕| 免费福利片在线观看| 亚洲图中文字幕| 色婷婷**av毛片一区| 国产精品久久久久久久免费观看| 国产亚洲精品自在线观看| 国产精品狠色婷| 国产成人av电影| 男人操女人的视频在线观看欧美| 青娱乐国产盛宴| 精品国产一区二区三区久久狼5月| 欧美自拍偷拍第一页| 国产一区二区三区自拍| 7777精品伊人久久久大香线蕉超级流畅| 国产一区二区在线免费视频| 亚洲图色一区二区三区| 国产乱xxⅹxx国语对白| 午夜激情成人网| 极品美妇后花庭翘臀娇吟小说| 又黄又湿又爽又免费又色| 国产日韩欧美一区二区三区综合| 午夜精品久久久久久久第一页按摩| 久久一二三四区| 欧洲国产伦久久久久久久| 国产高清视频在线播放| 亚洲色图38p| 51色欧美片视频在线观看| 国产精品久久久久久久久久精爆| 午夜69成人做爰视频| 久久丝袜视频| www欧美成人18+| 久久精品国产第一区二区三区| 性色av一区二区| 亚洲第一视频在线观看| 日韩电影第一页| xxxxx性欧美特大| 国产成人短视频在线观看| 国自产拍偷拍福利精品免费一| 91玉足脚交白嫩脚丫| 91国内精品久久| 欧美一区二区视频在线观看2020| 免费在线观看的黄色网址| 波多野结衣办公室双飞| 国产精品二区一区二区aⅴ污介绍| 一本到高清视频免费精品| 希岛爱理一区二区三区| 国偷自产av一区二区三区| 一级日本在线| 欧美激情视频给我| 91福利视频导航| 国产精品亚洲第一| 蜜臀久久久99精品久久久久久| 日韩精品一卡二卡| 日日摸日日碰夜夜爽无码| а√天堂在线官网| 高潮一区二区三区乱码| 一区二区在线免费观看视频| 欧美偷拍综合| 91精品国产一区二区三区| 国产中文字幕在线免费观看| 天堂网av在线播放| 久久精品男女| 亚洲色图在线看| 国产精品免费区二区三区观看| 国产日韩精品一区二区| 久久综合偷偷噜噜噜色| 欧美一区二区视频在线观看2020| 成人在线播放网站| 午夜欧美巨大性欧美巨大| 欧美日韩国产成人精品| 天天综合网站| 国产黄色一级片| 国产精品成av人在线视午夜片| 亚洲娇小xxxx欧美娇小| 97人人模人人爽人人喊38tv| 性猛交xxxx乱大交孕妇印度| 免费在线观看一区| 亚洲精品国精品久久99热一| 日韩中文字幕在线视频| 一区二区在线观看视频| 日韩不卡免费视频| zzijzzij亚洲日本成熟少妇| zzijzzij亚洲日本成熟少妇| 国产精品亚洲一区二区三区| 国产一区二区在线免费观看| 亚洲精品国偷自产在线99热| 精品88久久久久88久久久| 久久久久综合一区二区三区| 国产福利一区二区三区在线视频| 一区二区三区日韩视频| 日韩av男人天堂| 久久亚洲精品视频| 大地资源第二页在线观看高清版| 男人操女人动态图| h在线观看视频免费网站| 国产欧美第一页| 在线精品国产成人综合| 日韩在线中文视频| 国产精品视频不卡| 国产精品pans私拍| 精品五月天堂| 亚洲视频免费看| 国产视频在线看| 亚洲精品视频一二三区| 韩国黄色一级片| 日韩精品一区不卡| 国产一二三视频| 成人欧美在线观看| 麻豆国产在线视频| 欧美吞精做爰啪啪高潮| 日韩激情视频一区二区| 亚洲一区二区三区爽爽爽爽爽| 国产精品www网站| 国产精品美女免费| 国产在线视频你懂得| 中文字幕影音先锋| 日韩精品专区在线| 欧美午夜精品伦理| 欧美jizzhd精品欧美另类| 神马午夜伦理影院| 亚洲日韩成人| www.亚洲| 亚洲成人精品| 国产精品偷伦视频免费观看国产| 国产精品果冻传媒潘| 91网站视频在线观看| 一本久久a久久免费精品不卡| 男女av免费观看| jizz性欧美2| 欧美日韩国产另类不卡| 久久99久久久久久久噜噜| 99在线精品一区二区三区| 免费在线观看黄色| 在线 丝袜 欧美 日韩 制服| 日本成人动漫在线观看| 国产欧美日韩激情| 91视频亚洲| 中文字幕在线视频免费| 亚洲网站免费|