浅谈文件上传漏洞(客户端JS检测绕过)
时间:2022-07-25
本文章向大家介绍浅谈文件上传漏洞(客户端JS检测绕过),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
通常再一个web程序中,一般会存在登陆注册功能,登陆后一般会有上传头像等功能,如果上传验证不严格就可能造成攻击者直接上传木马,进而控制整个web业务控制权。下面通过实例,如果程序只进行了客户端JavaScript检测,咱们如何来绕过。
正文
工具准备:DVWA程序,burpsuite,中国菜刀。
首先本地创建一个.txt文档,里面写入咱们的一句话木马,然后将后缀名改为.php,一句话木马为
<?php eval($_POST[-7]);?> //连接菜刀的密码为-7
然后打开DVWA程序,将安全模式改为medium(中级),点击 File Upload模块,然后将咱们刚才创建的一句话.php文件上传,然后咱们发现被阻止了,只允许上传JPEG和PNG两种格式。
接下来。咱们将写入一句话的文件,后缀改为.png格式,然后通过burpsuite抓包
然后咱们发现,放行后,文件成功上传
然后咱们去根目录找一找,果然找到了咱们上传的文件
接下来,打开中国菜刀,输入上传木马的路径,输入密码,发现获取到目标网站的webshell
总结
一,找到文件上传点,测试发现存在上传漏洞。
二,发现只进行了客户端JavaScript检测。
三,通过burpsuite 抓包,修改文件后缀名绕过检测,上传一句话木马。
四,通过中国菜刀进行连接
五,获取到目标网站webshell
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【STM32H7】第13章 RL-TCPnet V7.X之创建多个TCP客户端
- Android倒计时的开始与停止 剩余时分秒的展示
- 由LFI引起的Zimbra邮件管理系统0day
- Android手电筒兼容各个手机与版本
- 【STM32F429】第13章 RL-TCPnet V7.X之创建多个TCP客户端
- RecyclerView仿应用列表实现网格布局
- Android实现带进度条的WebView
- Android实现记住密码功能
- 【- Flutter Web篇 -】 FlutterUnit web版闪亮登场
- Android简单实现弹幕效果
- 实现 Base64 的编码解码
- Android实现底部导航栏的主界面
- Spring注解@Autowired源码分析
- 使用RecyclerView实现水平列表
- android实现记住用户名和密码以及自动登录