文件上传靶机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 刘楠 * ...
随机推荐
- HAOI2008 木棍分割 数据结构优化dp+二分答案
很久之前打的题,现在补篇博客 打滚动数组 #E. 木棍分割 Accepted 100 1712 ms 1512 KiB 2019-05-07 17:01:23 Short 不打滚动数组 #419. ...
- 禁止特定IP访问Oracle数据库
通过使用数据库服务器端的sqlnet.ora文件可以实现禁止指定IP主机访问数据库的功能,这对于提升数据库的安全性有很大的帮助,与此同时,这个技术为我们管理和约束数据库访问控制提供了有效的手段 在sq ...
- redis学习第二天
Redis 在 2.8.9 版本之后添加了 HyperLogLog 结构 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常 ...
- Golang编写Windows动态链接库(DLL)及C调用范例
一.准备. 1.GoLang在1.10版本之后开始支持编译windows动态链接库,可以打开命令行工具使用go version 查看自己的go版本. 2.你的电脑上需要gcc,如果没有的话[点击这里] ...
- NAT介绍与配置
一,NAT定义 二.NAT的分类 三,NAT配置实验 一,NAT定义 NAT(Network Address Translation),网络地址转换技术,随着Internet的发展,IPv4地址枯竭已 ...
- SystemVerilog 中的相等运算符:== or === ?
1. 四值逻辑的逻辑运算 在对比SystemVerilog中的相等运算符之前,先来看一下三种最基本的逻辑运算符,下文中以·表示与运算,以+表示或运算,以'表示非运算.我们都知道在逻辑代数中,只有0和1 ...
- OpenGL ES 压缩纹理
什么是压缩纹理 在实际应用特别是游戏中纹理占用了相当大的包体积,而且GPU无法直接解码目前流行的图片格式,图片必须转换为RGB等类型的格式才能上传到GPU内存,这显然增加了GPU内存的占用.为了处理这 ...
- 7、resync实时备份
sersync+rsync(增量,无差异备份),resync支持多线程,效果比inotify更好,配置思想和inotify很相似 7.1.在备份服务器上安装并配置rsync服务,实现nfs共享目录,可 ...
- InterlliJ Debug启动提示:Method breakpoints may dramatically slow down debugging
- 【译】在运行时编辑代码的 .NET 热重载
今天,我们很高兴向你介绍 Visual Studio 2019 中 16.11(预览版1)中的 .NET 热重载(通过 .NET 6(预览版4)中的 dotnet watch 命令行工具).在这篇文章 ...