文件上传漏洞-绕过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 天前
这是一个很酷的金属球,点击它会产生涟漪……
前端·javascript·three.js
烛阴1 天前
为什么 `Promise.then` 总比 `setTimeout(..., 0)` 快?微任务的秘密
前端·javascript·typescript
LateFrames1 天前
C# 中,0.1 在什么情况下不等于 0.1 ?
开发语言·c#
froginwe111 天前
SciPy 图结构
开发语言
Larry_Yanan1 天前
QML学习笔记(五十二)QML与C++交互:数据转换——时间和日期
开发语言·c++·笔记·qt·学习·ui·交互
张愚歌1 天前
轻松打造个性化Leaflet地图标记
前端·javascript
用户3777967210961 天前
新值依赖旧值?并发更新的“坑”
javascript
歪歪1001 天前
详细介绍一下“集中同步+分布式入库”方案的具体实现步骤
开发语言·前端·分布式·后端·信息可视化
_处女座程序员的日常1 天前
如何预览常见格式word、excel、ppt、图片等格式的文档
前端·javascript·word·excel·开源软件
yaoxin5211231 天前
229. Java 集合 - 操作集合中的多个元素(批量操作)
java·开发语言·python