- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- ThinkPHP6.0中怎么利用Getshell創(chuàng )建任意文件
這篇文章將為大家詳細講解有關(guān)ThinkPHP6.0中怎么利用Getshell創(chuàng )建任意文件,文章內容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
ThinkPHP是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級國產(chǎn)PHP開(kāi)發(fā)框架,誕生于2006年初,原名FCS,2007年元旦正式更名為T(mén)hinkPHP,遵循Apache2開(kāi)源協(xié)議發(fā)布,從Struts結構移植過(guò)來(lái)并做了改進(jìn)和完善,同時(shí)也借鑒了國外很多優(yōu)秀的框架和模式,使用面向對象的開(kāi)發(fā)結構和MVC模式,融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等環(huán)境,正式版需要PHP5.0以上版本支持,支持、PgSQL、Sqlite多種數據庫以及PDO擴展,ThinkPHP框架本身沒(méi)有什么特別模塊要求,具體的應用系統運行環(huán)境要求視開(kāi)發(fā)所涉及的模塊。
該漏洞源于ThinkPHP 6.0的某個(gè)邏輯漏洞,成功利用此漏洞的攻擊者可以實(shí)現“任意”文件創(chuàng )建,在特殊場(chǎng)景下可能會(huì )導致GetShell。
2020年1月10日,ThinkPHP團隊發(fā)布一個(gè)補丁更新,修復了一處由不安全的SessionId導致的任意文件操作漏洞。該漏洞允許攻擊者在目標環(huán)境啟用session的條件下創(chuàng )建任意文件以及刪除任意文件,在特定情況下還可以getshell。
ThinkPHP6.0.0-6.0.1
1.phpstudy中PHP設置成7.2版本,并把對應的文件夾放入環(huán)境變量path中
點(diǎn)擊此處添加圖片說(shuō)明文字
2.在Phpstudy服務(wù)器中打開(kāi)php.ini文件,找到extension=php_openssl.dll前面的分號去掉,意思是打開(kāi)ssl擴展,目的是為了能在cmd命令中能進(jìn)行訪(fǎng)問(wèn)
點(diǎn)擊此處添加圖片說(shuō)明文字
3.安裝composer.phar,找到下載內容的地方,去下載當前最新版本的composer.phar
下載地址https://getcomposer.org/download/
點(diǎn)擊此處添加圖片說(shuō)明文字
4. 雙擊安裝,不用勾選,選擇下一步
點(diǎn)擊此處添加圖片說(shuō)明文字
5.配置環(huán)境變量后自動(dòng)選擇了
點(diǎn)擊此處添加圖片說(shuō)明文字
然后一直下一步,安裝完成
點(diǎn)擊此處添加圖片說(shuō)明文字
輸入composer查看是否安裝成功
點(diǎn)擊此處添加圖片說(shuō)明文字
6.安裝tp6 php composer.phar create-project topthink/think tp 6.0.*
點(diǎn)擊此處添加圖片說(shuō)明文字
我這個(gè)時(shí)間Thinkphp的最新版是6.0.3,用上面的命令下載下來(lái)framework是6.0.3版本的,我們需要再執行一條命令,進(jìn)入下載的目錄tp6,使用cmd命令
composer require topthink/framework:6.0.0
點(diǎn)擊此處添加圖片說(shuō)明文字
8. 瀏覽器訪(fǎng)問(wèn)一下
點(diǎn)擊此處添加圖片說(shuō)明文字
首先在得到可控session參數名,這是本地構造的,實(shí)戰需要自己fuzz。
構造位置:tp6\app\controller\index.php
構造的內容
use think\facade\Session;
Session::set('user',$_GET['username']);
點(diǎn)擊此處添加圖片說(shuō)明文字
開(kāi)啟session且寫(xiě)入的session可控,/tp6/app/middleware.php 文件開(kāi)啟session,去掉注釋session的//
點(diǎn)擊此處添加圖片說(shuō)明文字
使用Burp抓取首頁(yè)的包構造payload:username就是我們剛才構造的接受參數,然后將PHPSESSID的值修改為32位的保存路徑
點(diǎn)擊此處添加圖片說(shuō)明文字
點(diǎn)擊發(fā)送,在瀏覽器訪(fǎng)問(wèn)
點(diǎn)擊此處添加圖片說(shuō)明文字
官方給出的修復方式
對session id 加一個(gè)過(guò)濾 使用 ctype_alnum()
$this->id = is_string($id) && strlen($id) === 32 ctype_alnum($id) && ? $id : md5(microtime(true) . session_create_id());
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站