Upload-labs通关指南(上) 1-10
Upload-labs
所有文章和随笔(随笔将不于csdn更新)将于我的个人博客(移动端暂未适配)第一时间更新。
一些网站存在文件上传接口,一旦存在这个接口就有可能存在漏洞。
 文件上传漏洞的逻辑是将一个webshell上传到服务器,服务器对它进行本地化存储并解析。
 那么我们只要获知上传文件的路径就可以对整个网站甚至是服务器进行控制。
本次实验使用的靶场环境是Upload labs, github项目地址
 环境:php 5.2.17
Pass-1
我们直接上传一个phpinfo测试一下,发现立刻就显示如下信息
该文件不允许上传,请上传.jpg|.png|.gif类型的文件,当前文件类型为:.php
怀疑是js拦截。将js禁用后成功上传
 成功访问
 
Pass-2
仍然上传一个.php的webshell提示文件类型不正确,使用burp抓包并修改文件类型
-application/octet-stream
+image/jpeg
Pass-3
waf拦截提示
不允许上传.asp,.aspx,.php,.jsp后缀文件!
抓包尝试修改后缀为php3,php4,php5,pht,phtm,phtml绕过
Pass-4
测试后发现仅提示此文件不允许上传,并且修改后缀、修改文件类型均无效
 上传.htaccess文件并写入如下内容
<FilesMatch "haha">
SetHandler application/x-httpd-php
</FilesMatch>
然后在上传一个带有"haha"字样的任意后缀的webshell即可
.htaccess文件是php的解析文件,根据文件写的规则,会把相应的东西当作php来执行
此题中所有文件名中包含“haha”字样(后缀)的文件都当作php来执行
Pass-5
本题旨在让我们使用文件包含配合文件上传进行一个配合攻击
 原理图如下:
 
因此我们可以抓包并修改后缀为jpg,利用文件包含将其以php执行
http://localhost/include.php?file=./upload/haha.jpg
Pass-6
由于此靶场是搭建与windows上,而windows对于后缀大小写不敏感,linux对大小写敏感
 可以直接抓包修改后驻为phP绕过
Pass-7
此题提示为“禁止上传所有可解析的后缀”,又根据windows特性,后缀后的空格不解析,因此直接抓包修改后缀加空格绕过。
Pass-8
后缀加.绕过
Pass-9
::$DATA是windows的NTFS文件系统中的默认属性
上传xxx.php::$DATA
 意思是让windows请求自己
Pass-10
可以使用burp抓包,第一次上传文件名xxx.php:.jpg
 此时会生成一个空的xxx.php文件
 第二次上传文件名xxx.>>>
 此时会在空文件中写入你的代码
Upload-labs通关指南(上) 1-10的更多相关文章
- SUCTF 2019 Upload labs 2 踩坑记录
		
SUCTF 2019 Upload labs 2 踩坑记录 题目地址 : https://github.com/team-su/SUCTF-2019/tree/master/Web/Upload La ...
 - 【原创】高性能网络编程(二):上一个10年,著名的C10K并发连接问题
		
1.前言 对于高性能即时通讯技术(或者说互联网编程)比较关注的开发者,对C10K问题(即单机1万个并发连接问题)应该都有所了解."C10K"概念最早由Dan Kegel发布于其个人 ...
 - python小练习,打出1-100之间的所有偶数,设计一个函数,在桌面上创建10个文件,并以数字命名,复利计算函数
		
练习一:打出1-100之间的所有偶数 def even_print(): for i in range(1,101): if i % 2 == 0: print (i) even_print() #列 ...
 - WordPress NextGEN Gallery ‘upload.php’任意文件上传漏洞
		
漏洞名称: WordPress NextGEN Gallery ‘upload.php’任意文件上传漏洞 CNNVD编号: CNNVD-201306-259 发布时间: 2013-06-20 更新时间 ...
 - python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名。
		
python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名. 使用for循环即可实现: for name in range(1,11): desktop_path='C: ...
 - 编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。如:ABCABCABC…… 依次递归
		
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.uti ...
 - RabbitMQ-Java客户端API指南-上
		
RabbitMQ-Java客户端API指南-上 客户端API严格按照AMQP 0-9-1协议规范进行建模,并提供了易于使用的附加抽象. RabbitMQ Java客户端使用com.rabbitmq.c ...
 - 看KubeEdge携手K8S,如何管理中国高速公路上的10万边缘节点
		
摘要:为保证高速公路上门架系统的落地项目的成功落地,选择K8s和KubeEdge来进行整体的应用和边缘节点管理. 一.项目背景 本项目是在高速公路ETC联网和推动取消省界收费站的大前提下,门架系统的落 ...
 - 《Advanced Bash-Scripting Guide》 in Chinese  高级Bash脚本编程指南》Revision 10中文版
		
<Advanced Bash-Scripting Guide> in Chinese <高级Bash脚本编程指南>Revision 10中文版 在线阅读链接:http://ww ...
 
随机推荐
- Redis-技术专区-帮从底层彻底吃透AOF技术原理
			
AOF持久化方式 AOF持久化方式是将redis的操作日志以追加的方式写入磁盘文件中.AOF持久化是以日志的形式记录服务器所处理的每一个写.删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看 ...
 - Servlet学习笔记(三)之HttpServletResponse
			
init() 方法中参数 ServletConfig 对象使用 通过ServletConfig 获得 ServletContext对象 使用 HttpServletRequest 与HttpServl ...
 - Windows系统定时备份MySQL数据库
			
当一个网站投入使用时,定期备份数据库是必要的事.那么,在Windows系统上,我们该如何做呢? 如下语句可以实现备份及还原MySQL数据库: 备份MySQL数据库 mysqldump -uroot - ...
 - LeetCode通关:通过排序一次秒杀五道题,舒服!
			
刷题路线参考:https://github.com/chefyuan/algorithm-base 大家好,我是拿输出博客督促自己刷题的老三,前面学习了十大排序:万字长文|十大基本排序,一次搞定!,接 ...
 - [考试总结]noip模拟41
			
发现长时间鸽博客会导致 rp--,所以今天来补一补 这个题目其实不是很毒瘤,然而是非常毒瘤... 题目不说请就是非常非常的烦人 首先 \(T1\) 就整整有两个歧义的地方,也就是说我们一共有 \(4\ ...
 - Flask(2)- 第一个 Flask Application
			
安装 flask Flask 是一个 Web 框架,使用它首先需要安装 pip3 install flask 导入 Flask 模块 import flask 最简单的一个栗子 主代码 from fl ...
 - linux 常用命令脑图
 - 什么是内存屏障? Why Memory Barriers ?
			
要了解如何使用memory barrier,最好的方法是明白它为什么存在.CPU硬件设计为了提高指令的执行速度,增设了两个缓冲区(store buffer, invalidate que ...
 - pip国内源设置
			
在目录 C:\Users\Administrator下新建pip目录 C:\Users\Administrator\pip 添加 pip.ini 文件 pip.ini内容设置为 [global] in ...
 - 微信小程序生成小程序某一个页面的小程序码
			
1 登录微信小程序后台,mp.weixin.qq.com 2 点击右上角工具->生成小程序码 3 填写小程序名称或appid 4 关键一步,下面页面填写用户微信号后,打开小程序到某一个页面,点击 ...