当前位置: 首页 > news >正文

【网络安全】-文件上传漏洞实战-upload-labs(0~16)

准备:

一句话木马:<? php @eval($_REQUEST[cmd]); ?)>

格式:写入txt文本重命名后缀问.php /.php 格式,看具体要求上传。

Pass-01:

显示页面源代码,发现是js对不合法文件进行检查,上传修改为.jpg的php文件直接修改后缀名为.php,使用burpsuite工具抓包,再将jpg改为php,然后点击Forward即可完成上传

Pass-02:

上传一个1.php文件,用burp抓包。抓包后修改可上传文件类型,成功上传文件.

Pass-03:

显示页面源代码,黑名单验证,禁止上传.asp,.aspx,.php.jsp后缀的文件,我们可以php上传一个名为1.php5的文件,发现直接上传成功。

Pass-04:

显示页面源代码,黑名单验证增多,先上传一个.png文件,然后上传.htaccess后缀文件(内容:<IfModule mime_module>
AddHandler php5-script .gif          
SetHandler application/x-httpd-php   
</IfModule>  ->把上传的png文件当成php5文件进行解读),再访问.png。

Pass-05:

显示页面源代码,发现可以用php. .绕过上传。

Pass-06:

显示页面源代码,发现这关有转换大小写的代码,可以上传大小写混合的后缀名来进行绕过。

Pass-07:

显示页面源代码, 发现有收尾去空,会去掉文件前后面加上的空格,但windows特性,文件名后空格会被直接删除,不能直接上传.php后加空格,所以我们要用burp抓包然后再添加空格。

Pass-08:

显示页面源代码,对比第四关,发现少了删除文件末尾的点一样使用burp抓包然后后缀加一个点,和第六关一样,windows文件后缀名不能加’.'所以我们要用burp抓包然后再添加点。

Pass-09:

显示页面源代码,发现有去除字符串,和前面关卡一样,在burp中抓包在文件名后加::$DATA。

Pass-10:

显示页面源代码,发现没有循环验证,也就是说转换大小写去除空格什么的它只验证一次,所以把后缀改为.phP. . ,直接开始实验,上传一个1.php抓包。

Pass-11:

显示页面源代码,黑名单验证,意思是如果上传了它这些后缀的文件,就会把后缀名删除所以我们只需要把后缀改为.pphphp,它删除掉中间的php后缀仍然为php。

Pass-12:

显示页面源代码,白名单绕过满足条件后先上传一个.png文件开始抓包,需要使用%00截断。

前置条件:

php版本小于5.3.4    ->无法下载

php_ini文件中的magic_quotes_gpc处于off状态。

步骤:

此电脑:phpstudy/www上方搜索php_ini

文档打开-查找-magic_quotes_gpc,on->off

                       

                  

Pass-13:

显示页面源代码,白名单绕过满足条件后先上传一个.png文件开始抓包,需要使用%00截断。

只是post请求不能自动编码%00,需要手动编码。

Pass-14:

上传图片马到服务器

显示页面源代码:只验证头部信息,只读2字节

图片码制作:直接页面截图,重命名为.txt文件,打开文件,将一句话木马黏贴进去,再进行重命名为3.png文件。

上传3.png文件,复制图像链接(http://upload-labs-master/upload/2720240909120007.png)构造使用include文件包含漏洞访问:http://upload-labs-master/include.php?file=upload/2720240909120007.png得到php解析。

注:有些浏览器对一句话木马敏感,不进行解析,需要把一句话木马换成无危害性的php输出函数:<?php phpinfo(); ?>

Pass-15:

显示页面源代码:

引入getimagesize函数对文件名前两位进行检查。

实质上与Pass-14 的只验证头部信息,只读2字节含义相同,做法也相同。

Pass-16:

显示页面源代码:

前置条件:

1.php>5.3

2.需要开启php_ini的allow_url_fopen模块 ->allow_url_fopen=On

3.需要开启php_exif模块

重启apache与mysql

接下来做法与上一关相同:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何用GPU算力卡P100玩黑神话悟空?
  • Python 数学建模——独立性检验
  • spring如何整合druid连接池?
  • 大模型LLM部署学习
  • [数据集][目标检测]乱堆物料检测数据集VOC+YOLO格式1143张1类别
  • 网络安全工程师能赚多少钱一个月?
  • 构建常态化安全防线:XDR的态势感知与自动化响应机制
  • html css网页制作
  • 【failed with MalformedInputException: Input length = 1 -> 修复解决方案】
  • 写在OceanBase开源三周年
  • RasberryPi 3B树莓派基本配置
  • 新颖的团建分组方式
  • 利用Python实现希尔伯特变换取包络 - 理论及实践
  • java语言发展史
  • DDS基本原理--FPGA学习笔记
  • 0x05 Python数据分析,Anaconda八斩刀
  • angular2开源库收集
  • learning koa2.x
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Redis学习笔记 - pipline(流水线、管道)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SQLServer插入数据
  • Vue2.0 实现互斥
  • 好的网址,关于.net 4.0 ,vs 2010
  • 回流、重绘及其优化
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 设计模式 开闭原则
  • 世界上最简单的无等待算法(getAndIncrement)
  • 数据科学 第 3 章 11 字符串处理
  • 一些关于Rust在2019年的思考
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #android不同版本废弃api,新api。
  • #pragma 指令
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (苍穹外卖)day03菜品管理
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (译)2019年前端性能优化清单 — 下篇
  • (原)本想说脏话,奈何已放下
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)程序员技术练级攻略
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET 分布式技术比较