国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路

這篇具有很好參考價值的文章主要介紹了ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

前言

本節(jié)我將分析thinkphp5.0.x 版本的RCE漏洞,根據(jù)漏洞的研究模擬挖掘此漏洞的思路

本次分析框架下載,由于官方已經(jīng)下架了相關(guān)的下載接口,這里我們用三方下載 一份v5.0.22版本的升級中...https://www.codejie.net/5828.html

附贈?thinkphp5.0官方開發(fā)手冊

架構(gòu)總覽 · ThinkPHP5.0完全開發(fā)手冊 · 看云ThinkPHP V5.0是一個為API開發(fā)而設(shè)計的高性能框架——是一個顛覆和重構(gòu)版本,采用全新的架構(gòu)思想,引入了很多的PHP新特性,優(yōu)化了核心,減少了依賴,實(shí)現(xiàn)了真正的惰性加載,支持composer,并針對API開發(fā)做了大量的優(yōu)化。ThinkPHP5是一個全新的里程碑版本,包括路由、日志、異常、模型、數(shù)據(jù)庫、模板引擎和驗(yàn)證等模塊都已經(jīng)重構(gòu),不適合原有3.2項目的升級,請慎重考慮商業(yè)項目升級,但絕對是新項目的首選(無論是WEB還是API開發(fā)),而且最好是忘記3.2版本的思維習(xí)慣,重新理解TP5。https://www.kancloud.cn/manual/thinkphp5/122950

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

這里先上payload 大家可以驗(yàn)證環(huán)境是否可行

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

?接下來我們就略過漏洞分析,模擬一下這個漏洞發(fā)現(xiàn)的思路

Request類中危險函數(shù)

在request類filterValue方法下有一個call_user_func()函數(shù)

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

如果傳進(jìn)去的兩個參數(shù)$filter與$value都是可控的話,則會產(chǎn)生漏洞

函數(shù)調(diào)用鏈倒逆分析

接下來分析誰可以調(diào)用filtervalue方法

在requestl類中1026行,調(diào)用了此方法filtervalue,傳入了相關(guān)值

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

?這段代碼是位于994行input函數(shù)內(nèi),其中data 沒有更改的,filter在1023行有本類的成員filter賦予

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

?那么我們繼續(xù)分析誰可以調(diào)用input函數(shù)

仍然在requesr類中661行調(diào)用了此函數(shù)input,且傳入input的data數(shù)組參數(shù)是本類的param賦予的

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

這段代碼位于request類中的param方法中

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php?繼續(xù)分析誰可以調(diào)用param函數(shù),現(xiàn)在就不用這考慮傳參的問題了,我只需request類的中param成員與filter成員為可控參數(shù)即可,且filter為數(shù)組包含一個system,param為這個數(shù)組包含命令語句為最佳。

讓參數(shù)變得可控

在app類中exec方法中有調(diào)用調(diào)用request類的param

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

?需要注意的是這個框架的對象的創(chuàng)建模式是單例模式,也就是說469行instance得到的對象在前提request對象存在的情況下,得到的還是之前的request而非新的對象。

那么我們到底可不可以控制request對象的成員呢?看看名字-request!用戶請求!似乎是可控的,不能說全不吧總有一兩個屬性是為用戶準(zhǔn)備的,?

現(xiàn)在繼續(xù)分析函數(shù)調(diào)用鏈。要確保dispatch的type為merhod,我們才能正常調(diào)用param函數(shù)

誰調(diào)用了exec?函數(shù),

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

在app類中77行run函數(shù)調(diào)用了exec函數(shù)

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

此外還有了兩個意外的收獲,1是我們找到了request對象2是我們發(fā)現(xiàn)了dispatch的賦值

函數(shù)調(diào)用鏈正向分析?

由此我們追入routecheck函數(shù),一是尋找讓dispatch對象的成員type值為method,二則是繼續(xù)尋找讓request對象的filter成員與param成員成為可控變量的契機(jī)。(不要亂 不要亂)

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

看到result不妨大膽的猜測,它最終就是這個函數(shù)執(zhí)行的返回值

在643行,就有了result結(jié)果,而且聯(lián)系了request對象

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

?追進(jìn)route的check方法

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

在857看到了敏感參數(shù)method ,保證type為method跟它有沒有關(guān)呢!再分析返回值

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

method會與rules有關(guān),rules在87行會與返回值有關(guān)。

也沒有找到type賦值的地方,我們大膽進(jìn)入strtolower($request->method());,且這還還是調(diào)用request對象的方法,那更要分析了

(在下圖 由注釋信息當(dāng)前的請求類型,猜測與type有關(guān))

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

根據(jù)邏輯語句(我們都沒有傳參),它會進(jìn)入524行

$_POST是什么參數(shù)!它一般都是用戶輸入的post數(shù)據(jù),這是我們可控的。代碼之后就把取出的值放在了method,看看它做了什么。它居然被調(diào)用了,而且傳入的參數(shù)就是$_post,這是我們控制的,也就是說現(xiàn)在,我們可以任意調(diào)用request類的方法,且是參數(shù)還是我們可控的,

那這樣的話,我用對象的方法去改對象的值豈不是輕輕松松!到request類中好好看看!

非常順利 __construct就有成員屬性賦值的機(jī)制。

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

我們可以將request對象的filter成員與param成員賦值了 ,(理論就是這樣不過實(shí)際上你要調(diào)試的更多,因?yàn)橐紤]到很多細(xì)節(jié)嘛)

至于type類型,這個我還真沒分析出來,不過我們可以嘗試調(diào)用接口方法,參看type類型這也不失為一種分析方法,像我調(diào)用/public/index.php的時候type就為module 調(diào)用/public/index.php?s=captcha就為method 這正是我們想要的

如果上述都可行,那我們構(gòu)造好的參數(shù),就可以RCE了, 誰調(diào)用app.run 完全不用管,一定會調(diào)用的

ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路,PHP代碼審計,安全,web安全,php

————————————————————————-----------——————————

總結(jié)

現(xiàn)在那么的RCE漏洞,那些大佬是怎么探索出來的,思路是什么,有沒有0day大佬交個朋友!...我只能盡力追趕吧....文章來源地址http://www.zghlxwxcb.cn/news/detail-799825.html

到了這里,關(guān)于ThinkPHP5.0.0~5.0.23RCE 漏洞分析及挖掘思路的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ThinkPHP5.0.23 遠(yuǎn)程代碼執(zhí)行漏洞

    ThinkPHP5.0.23 遠(yuǎn)程代碼執(zhí)行漏洞

    ThinkPHP 是一款運(yùn)用極廣的 PHP 開發(fā)框架。其 5.0.23 以前的版本中,獲取 method 的方法中沒有正確處理方法名,導(dǎo)致攻擊者可以調(diào)用 Request 類任意方法并構(gòu)造利用鏈,從而導(dǎo)致遠(yuǎn)程代碼執(zhí)行漏洞。 百度漏洞 獲得exp 路徑: POST傳參 我用的是hackbar,用burpsuite也行。 burp操作方法 抓包

    2024年02月11日
    瀏覽(22)
  • ThinkPHP5 5.0.23遠(yuǎn)程代碼執(zhí)行漏洞+webshell工具連接(復(fù)現(xiàn)詳細(xì)過程)

    ThinkPHP5 5.0.23遠(yuǎn)程代碼執(zhí)行漏洞+webshell工具連接(復(fù)現(xiàn)詳細(xì)過程)

    目錄 漏洞介紹 漏洞復(fù)現(xiàn) 1.環(huán)境搭建 2.漏洞利用 5.0.23以前的版本中,獲取method的方法中沒有正確處理方法名,導(dǎo)致攻擊者可以調(diào)用Request類任意方法并構(gòu)造利用鏈,從而導(dǎo)致遠(yuǎn)程代碼執(zhí)行漏洞。 1.環(huán)境搭建 使用docker容器搭建漏洞環(huán)境,進(jìn)入漏洞文件所在。 cd vulhub/thinkphp/5.0.2

    2024年02月06日
    瀏覽(21)
  • RCE 遠(yuǎn)程代碼執(zhí)行漏洞分析

    RCE 遠(yuǎn)程代碼執(zhí)行漏洞分析

    Remote Command/Code Execute 遠(yuǎn)程命令執(zhí)行/遠(yuǎn)程代碼執(zhí)行漏洞 這種漏洞通常出現(xiàn)在應(yīng)用程序或操作系統(tǒng)中,攻擊者可以通過利用漏洞注入惡意代碼,并在受攻擊的系統(tǒng)上執(zhí)行任意命令。 PHP 代碼執(zhí)行 PHP 代碼注入 OS 命令執(zhí)行 OS 命令注入 Java、Python…… Web 應(yīng)用程序 遠(yuǎn)程服務(wù) 操作系統(tǒng)

    2024年02月08日
    瀏覽(30)
  • Spring Rce 漏洞分析CVE-2022-22965

    Spring Rce 漏洞分析CVE-2022-22965

    Spring Framework 是一個開源的輕量級J2EE應(yīng)用程序開發(fā)框架。 3月31日,VMware發(fā)布安全公告,修復(fù)了Spring Framework中的遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2022-22965)。在 JDK 9 及以上版本環(huán)境下,可以利用此漏洞在未授權(quán)的情況下在目標(biāo)系統(tǒng)上寫入惡意程序從而遠(yuǎn)程執(zhí)行任意代碼。 影響組件:

    2024年02月05日
    瀏覽(18)
  • CVE-2022-42889 Apache Commons Text RCE漏洞分析

    CVE-2022-42889 Apache Commons Text RCE漏洞分析

    最近一直在對剛研發(fā)出來的自動化Web/API漏洞Fuzz的命令行掃描工具進(jìn)行維護(hù)更新(工具地址:https://github.com/StarCrossPortal/scalpel),目前掃描工具已更新至第三個版本,新增了5條2022年CVE漏洞POC,修復(fù)了例如Content- Type和body類型不一致等問題。最新版本測試穩(wěn)定,滿足Web/API的漏洞

    2024年02月13日
    瀏覽(25)
  • 二進(jìn)制漏洞分析與挖掘

    二進(jìn)制漏洞分析與挖掘

    本公眾號分享的所有技術(shù)僅用于學(xué)習(xí)交流,請勿用于其他非法活動,如果錯漏,歡迎留言指正 《0day安全:軟件漏洞分析技術(shù)第2版》王清電子工業(yè)出版社 入門用,但不全,過時了,linux部分沒有包含進(jìn)去 漏洞分析、挖掘和利用,安全領(lǐng)域重要和最具挑戰(zhàn)性和對抗性的分支 應(yīng)

    2024年02月06日
    瀏覽(21)
  • CVE-2021-22204 GitLab RCE之exiftool代碼執(zhí)行漏洞深入分析(二)

    文章寫于2022-01-19,首發(fā)在天融信阿爾法實(shí)驗(yàn)室 1 前言 2 前置知識 2.1 JPEG文件格式 2.2 Perl模式匹配 3 exiftool源碼調(diào)試到漏洞分析 3.1 環(huán)境搭建 3.2 漏洞簡介 3.3 exiftool是如何解析嵌入的0xc51b標(biāo)簽 3.4 exiftool是如何調(diào)用parseAnt函數(shù) 3.5 parseAnt函數(shù)分析 3.6 parseAnt漏洞分析 4 漏洞利用 4.1

    2024年02月14日
    瀏覽(19)
  • 邏輯漏洞挖掘之CSRF漏洞原理分析及實(shí)戰(zhàn)演練

    2月份的1.2億條用戶地址信息泄露再次給各大公司敲響了警鐘,數(shù)據(jù)安全的重要性愈加凸顯,這也更加堅定了我們推行安全測試常態(tài)化的決心。隨著測試組安全測試常態(tài)化的推進(jìn),有更多的同事對邏輯漏洞產(chǎn)生了興趣,本系列文章旨在揭秘邏輯漏洞的范圍、原理及預(yù)防措施,逐

    2024年02月07日
    瀏覽(22)
  • 邏輯漏洞挖掘之XSS漏洞原理分析及實(shí)戰(zhàn)演練

    2月份的1.2億條用戶地址信息泄露再次給各大公司敲響了警鐘,數(shù)據(jù)安全的重要性愈加凸顯,這也更加堅定了我們推行安全測試常態(tài)化的決心。隨著測試組安全測試常態(tài)化的推進(jìn),有更多的同事對邏輯漏洞產(chǎn)生了興趣,本系列文章旨在揭秘邏輯漏洞的范圍、原理及預(yù)防措施,逐

    2024年02月08日
    瀏覽(26)
  • ThinkPHP5遠(yuǎn)程命令執(zhí)行漏洞

    ThinkPHP5遠(yuǎn)程命令執(zhí)行漏洞

    ThinkPHP是一個快速、兼容而且簡單的輕量級國產(chǎn) PHP開發(fā)框架?,誕生于2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開源協(xié)議發(fā)布,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和 MVC模式 ,從Struts結(jié)構(gòu)移植過來并做了改進(jìn)和完善,同時也借鑒了國外很多優(yōu)秀的框架和模式。 由于th

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包