20:WEB漏洞文件上传之基础及过滤方式

思维导图

知识点

1.什么是文件上传漏洞?

  • 有文件上传不一定存在漏洞
  • 凡是存在文件上传功能的地方都可以进行文件上传漏洞测试
  • 上传文件操作的代码的完整性、安全性,决定了是否会造成文件上传漏洞。如果开发者疏忽了文件上传代码某一方面的验证,就可能造成文件上传漏洞。
  • 文件上传漏洞是指攻击者上传了一个可执行的文件到服务器并执行,这里上传的文件可以是木马,病毒,恶意脚本或者webshell等。

2.文件上传漏洞有哪些危害?

  • ​ 如果上传的文件可以自定义,比如上传一个webshell网站后门,那么攻击者可以直接获取网站权限,这属于高危漏洞,获取到权限之后,我们可以进行服务器提权、获取内网权限、获取网站相关数据权限等。

3.文件上传漏洞如何查找及判断?

  • 查找方式分为
  • 黑盒查找:查找文件上传功能点常见位置比如文件后台、会员中心,文件扫描(通过扫描工具获取敏感信息)
  • 白盒查找:通过代码分析、查找是否存在文件上传的漏洞(前提:有对应网站源码)

4.文件上传漏洞有哪些需要注意的地方?

  • ​对文件上传类型进行区分,是属于编辑器文 件上传,还是属于第三方应用,还是会员中心。要先确认文件上传是什么类型,再选择用什么类型方法对它进行后期测试。

5.关于文件上传漏洞在实际应用中的说明?

本课重点

  • 案例1:常规文件上传地址的获取说明
  • 案例2:不同格式下的文件类型后门测试
  • 案例3:配合解析漏洞下的文件类型后门测试
  • 案例4:本地文件上传漏洞靶场环境搭建测试
  • 案例5:某CMS及CVE编号文件上传漏洞测试

案例1:常规文件上传地址的获取说明

  • 1).百度高级搜索,搜索关键字:inurl:upload.php,随机搜索网上的一些文件上传接口。
  • 2).百度高级搜索,针对特定网址搜索关键词:site:xxx.com upload,搜索特定网站的文件上传接口。
  • 3).通过扫描工具扫描,获取到特定网站的文件上传位置。
  • 4).手工寻找文件上传功能点,根据经验,上传一般存在于文件后台、会员中心等位置(上传头像等)。

案例演示

<1>百度高级搜索,搜索关键字:inurl:upload.php,随机搜索网上的一些文件上传接口。

下面这个地址是通过百度搜索关键词搜索出来的

<2>百度高级搜索,针对特定网址搜索关键词:site:xxx.com upload,搜索特定网站的文件上传接口。

<3>通过扫描工具扫描,获取到特定网站的文件上传位置。

案例2:不同格式下的文件类型后门测试

我们需要根据网站使用的语言来上传对应的脚本,比如针对PHP网站,我们只有上传.php格式的后门才有可以被执行,其他格式不会被执行,jpg等非脚本格式更不会被执行。因此,不要妄想使用一张带有后门脚本的图片就能控制网站。

案例3:配合解析漏洞下的文件类型后门测试

案例演示:Nginx 解析漏洞复现

参考:https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/

<1>找一张图片,使用notepad++打开,在最后面加上自己的代码。

<2>上传图片,打开图片在网站所在位置,发现没有执行代码,原因是我们上传图片的后缀是.png。

<3>但是如果你在图片路径后面加上/1.php,会发现,网页前面乱码,后面执行了代码,显示phpinfo信息。

<4>原因是这里有一个解析漏洞,此处nginx在格式解析上出现了混乱,将图片解析成了脚本。

案例4:本地文件上传漏洞靶场环境搭建测试

下载:https://githuub.com/cOny1/upload-labs

文件上传第一关解题思路:上传文件时,只有前端校验,后端未二次校验。

方法1:将前端html下载到本地,删除其中的校验代码,增加action值为服务器上传地址,执行,绕过前端过滤。

方法2:直接burp抓包修改后缀名

案例5:某CMS及CVE编号文件上传漏洞测试

一 finecms v5 会员头像 任意文件上传漏洞

<1>cms搭建

<2>找到上传头像功能

<3>抓包,修改格式为php,服务器返回上传失败

<4>但是实际上,我们可以在服务器上找到这个文件,说明上传成功了

<5>因此我们测试文件上传漏洞时,不能仅仅通过返回信息判断是否上传成功。

也可以直接百度FineCMS的文件上传漏洞进行测试,比如 https://www.cnblogs.com/ichunqiu/p/7453208.html

二 Weblogic 任意文件上传漏洞(CVE-2018-2894)

参考:https://vulhub.org/#/environments/weblogic/CVE-2018-2894/

原文地址:https://www.cnblogs.com/zhengna/p/15608178.html