小迪安全day20WEB漏洞-文件上传之基础及过滤方式

时间:2022-02-25 01:15:05

小迪安全day20WEB漏洞-文件上传之基础及过滤方式

  • 什么是文件上传漏洞

    有文件上传就可以测试是否有漏洞,关键看代码是否完备。

    服务端代码未对客户端上传的文件进行严格的验证和过滤

  • 漏洞危害

    自定义网站后门,获取网站权限,属于高危漏洞

    上传Webshell脚本,网页后门,查看服务器目录,服务器中的文件等

  • 如何查找判断

    • 黑盒查找:不知道源代码情况下,通过目录扫描和网站应用,以及通过网站后台、会员中心进行获取权限,需要自己判断。
    • 白盒查找:通过源代码分析文件上传漏洞。
    • 判断:通过抓包分析
  • 注意事项以及应用说明

    文件上传的区分归类,是编辑器还是第三方应用,还是其它的,再进行后续测试

常规文件上传地址的获取说明

  • 搜索语法搜索关键词

    inurl:upload.php

  • 网站的目录扫描(铸剑)

  • 针对网站进行搜索upload关键词

    site:youku.com upload

  • 网站应用功能

    —上传头像、图片、会员中心、上传视频

不同格式下的文件类型后门测试

后门程序又称特洛伊木马,后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。

  • php网站一般上传php后门

  • PHP后门上传格式为JPG(在文件内插入PHP代码)不能执行,不要妄想以图片为后门控制网站

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

复现vulhub的nginx解析漏洞

  • cd vulhub/nginx

    ls查看存在的漏洞

    cd nginx_parsing_vulnerability

  • docker-compose up -d启动环境

    docker-compose config查看端口

    ip add show eth0查看ip地址

  • 根据ip地址进入漏洞复现界面

    上传植入后门的图片,进入地址

  • 增加/.php后缀,被解析成PHP文件

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

搭建upload-labs靶场

Pass-01前端验证

  • 修改JS文件
  • 禁用js
  • 上传png后缀的webshell,代理抓包,修改上传的文件后缀 (推荐)

burpsite抓包,传到repeater模块,插入一句话木马

<?php
phpinfo();
@eval($_POST[xx]);
?>
ps:@是阻断php语句报错的符号,跟在@后面的php语句不会报错

跳转URL至/upload/xxx.php

利用蚁剑连接URL和密码,就可以进入到目标目录

某 CMS 及 CVE 编号文件上传漏洞测试

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

  • docker compose logs | grep password获取密码,用于登录进入复现的系统
  • 再根据vulhub官网提示进行复现(jsp文件上传)