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

相关推荐
尾善爱看海40 分钟前
Vue 面试进阶篇:Composition API、插槽、自定义指令……8 个章节 + 高频面试题全解析
前端·javascript·vue.js·面试·vue
SEO_juper1 小时前
外贸多语言站最隐蔽的流量杀手:hreflang 错了,谷歌把德语页推给美国人(附审计脚本)
开发语言·前端·python·seo·独立站·谷歌优化
geovindu1 小时前
CSharp: Strategy Pattern
开发语言·后端·c#·.net·.netcore·策略模式·行为模式
Tairitsu_H2 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
宣宣猪的小花园.2 小时前
【嵌入式】故障与降级:看门狗、保护机制和工程可靠性的底线
开发语言·人工智能·嵌入式硬件·机器学习
三小河2 小时前
在 Codex 桌面端接入 DeepSeek 模型(CC Switch 代理中转)
前端·javascript·人工智能
shmily麻瓜小菜鸡2 小时前
JS/TS 易踩坑知识点 — 自动分号插入(ASI)
开发语言·javascript·ecmascript
CoderYanger2 小时前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
geovindu2 小时前
CSharp: Task Scheduler
开发语言·后端·c#·.net·.netcore
qq_401700412 小时前
Qt窗体大小控制从resize到自适应
开发语言·qt