文件上传靶机DVWA和upload-labs
DVWA靶机
LOW
<?php phpinfo() ?>

上传文件



Medium级别

修改Content-Type: application/octet-stream的值为jpg的格式为Content-Type: image/jpeg

访问文件http://localhost/DVWA-master/hackable/uploads/1.php

high级别
图片马
由于后台验证了像素,所以要有图片,我们把php文件和图片文件合成一个文件
在cmd中进行 /b表示二进制 /a表示ascii码
先进入桌面
cd Desktop
copy 1.jpg /b + 1.php /a 2.jpg

解码文件 .htaccess
我们先写文件
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
文件我们要保存成.htaccess,没有文件名,我们bp改包
抓包修改1.txt为.htaccess



现在访问文件http://localhost/DVWA-master/hackable/uploads/2.jpg

upload-labs靶机
第一关
查看源码

是前端绕过,我们可以禁用js
在浏览器里打开about:config
把红色的选项改为false


访问文件http://localhost/upload-labs-master/upload//1.php

第二关
只对文件的MIME进行的验证,改包
把application/octet-stream改为image/jpeg


第三关
更改文件名绕过
php相同的有php1 php2 php3 php4 php5 phtml pht

第四关
把1.php的后缀改为jpg绕过,在上传解码文件.htaccess

<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
上传.htaccess

第五关
文件后缀大小写绕过

第六关
文件后缀加空格绕过

第七关
文件后缀加[.]绕过

第八关
文件后缀加::$DATA绕过
访问时不加::$DATA

第九关
由于后台代码是先删除两端的空格,然后删除末尾的点,还有一些其他的,最后在删除两端的空格。我们可以写[. .](点 空格 点),代码是先删两端的空格,这里,没有删掉,然后删末尾的点,删掉了,剩点和空格,最后删除两端的空格,就剩点了,绕过了

第十关
双写

第十一关
00截断
一般用在文件被上传到一个目录下面,我们在目录下面写上文件名1.php,然后在用00截断,上传的文件名我们用白名单能上传的格式(jpg),由于用了00截断,其实保存在目录下的文件名是1.php,而不是jpg
源文件

修改后

进行%00的url解码

第十二关
00截断
源文件

第十三关
图片马(jpg)
第十四关
图片马(png)
第十五关
图片马(png)
第十六关
二次渲染 传个gif的动态图
文件上传靶机DVWA和upload-labs的更多相关文章
- 3. 文件上传靶机实战(附靶机跟writeup)
upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs 运行环境 操作系统:推荐windows ...
- WEB文件上传之apache common upload使用(一)
文件上传一个经常用到的功能,它有许多中实现的方案. 页面表单 + RFC1897规范 + http协议上传 页面控件(flash/html5/activeX/applet) + RFC1897规范 + ...
- 反射型XSS+文件上传+CSRF—DVWA
在学习的过程中,想到将几种漏洞进行组合练习,记录下学习过程.大佬请绕过!谢谢!! 测试环境:DVWA,安装方法参考上一篇:https://www.cnblogs.com/aq-ry/p/9220584 ...
- ASP.NET 文件上传的实现(Upload)
1.最近应项目开发的需求要实现附件的异步上传和下载. 2.上传:文件上传到指定的路径下,并返回上传文件的信息给前端界面,如:文件的图标.上传的文件名.文件的大小. 3.上传后,在前端界面上显示上传的文 ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- JavaWeb学习总结(五十)——文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- java web(四)文件上传与下载
一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...
- JAVA-使用commos-fileupload实现文件上传与下载
一文件的上传 实体类 在CODE上查看代码片派生到我的代码片 import java.sql.Timestamp; /** * * @Decription 文件上传实体类 * @author 刘楠 * ...
随机推荐
- 【dp】背包问题
01背包 呐,为什么叫它01背包呢,因为装进去就是1,不装进去就是0.所以针对每个物品就两种状态,装,不装(请允许我用这么老套的开篇,相信听过很多次背包讲解的人,大多都是这个开篇的)所以咯,我这个背包 ...
- SpringBoot数据访问(三) SpringBoot整合Redis
前言 除了对关系型数据库的整合支持外,SpringBoot对非关系型数据库也提供了非常好的支持,比如,对Redis的支持. Redis(Remote Dictionary Server,即远程字典服务 ...
- vue中$nextTick详细讲解保证你一看就明白
1.功能描述 今天我们要实现这个一个小功能: 页面渲染完成后展示一个div元素: 当点击这个div元素后: div元素消失: 出现一个input元素:并且input元素聚焦 想必大家我觉得简单,我们一 ...
- vim安装及个性化配置
1.安装vim,并且vim命令的别名设置为vi yum install vim -y (如果不能识别vim命令,需要先安装vim) vi /etc/bashrc 或者 vi ~/.bashrc 在最后 ...
- 『心善渊』Selenium3.0基础 — 13、Selenium操作下拉菜单
目录 1.使用Selenium中的Select类来处理下拉菜单(推荐) 2.下拉菜单对象的其他操作(了解) 3.通过元素二次定位方式操作下拉菜单(重点) (1)了解元素二次定位 (2)示例: 页面中的 ...
- 从 html 实现一个 react🎅
前言 我们认为,React 是用 JavaScript 构建快速响应的大型 Web 应用程序的首选方式.它在 Facebook 和 Instagram 上表现优秀.官网地址 react 的理念是在于对 ...
- POJ 1269 Intersecting Lines 判断两直线关系
用的是初中学的方法 #include <iostream> #include <cstdio> #include <cstring> #include <al ...
- Element Ui使用技巧——Form表单的校验规则rules详细说明
Element UI中对Form表单验证的使用介绍: Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item的 prop 属性设置为需校验的字段名 ...
- kubernates 1.20.6安装
kubernates 安装 1. 前置要求 硬件条件 三台主机 1主2从 硬件配置 master 2核4G slave 2核2G 2. 安装 访问GitHub 仓库 https://github.co ...
- spring集成flyway
最近给公司项目集成flyway,由于我们项目移动端使用的是spring框架,网上看了很多博客,感觉这方面的东西还是很少的,毕竟现在是springboot的天下,大多数都是springboot集成fly ...