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

upload-labs通关方式

pass-1

通过弹窗可推断此关卡的语言大概率为js,因此得出两种解决办法 

方法一

浏览器禁用js

关闭后就逃出了js的验证就可以正常php文件

上传成功后打开图片链接根据你写的一句话木马执行它,我这里采用phpinfo()

方法二

在控制台找到此语句

将蓝色部分删除即可

pass-2

 

通过提示可知他是在服务端进行检查

 通过查看源码可以看出能上传的文件类型为image/jpeg

通过burp suite进行抓包

修改文件类型

上传成功

pass-3 

查看提示和代码发现他是使用黑名单禁止文件上传类型的

这里我们直接使用将文件类型改为php2 php3 php5 php7 phtml 等绕过

PHP5文件实际上就是.PHP文件,只不过代码由PHP5引擎解析。

PHP5是一种PHP版本间的区分,该后缀名并不常见,另外还有.PHP2、.PHP3和.PHP4文件。

我这里不解析php3 5 文件这里不演示了,但是使用php3 5 是可以成功绕过的

pass-4

首先查看提示,本关继续使用黑名单,禁止下列文件格式:

限制特别多,但是我们可以想到一种更奇特的方法(即.htaccss文件):

常见配法

.htaccess文件内容如下

<FilesMatch "4.jpg">
SetHandler application/x-httpd-php
</FilesMatch>


查看作用后,发现这句话的作用是将该目录所有文件均映射为php文件类型,所以我们先上传.htaccess文件,随后再上传我们的jpg文件(jpg文件要和.hataccess文件在同一个目录下),查看后我们发现uploads已经被传上去。

pass-5

这里看源码

这里没有转换小写因此将文件类型改为大写就行

 

pass-6

通过查看代码发现这里并没有首尾去空因此很简单加空格就行

windows下.和空格会被自动去掉因此用burp进行更改

上传成功

 

pass-7

 通过查看代码可以看出没有去点

因此这里还是用burp抓包改包

上传成功

 

 pass-8

查看源码

这里没有进行过滤data字符因此这里也是抓包改包

 

上传成功

 

pass-9

查看代码发现这里几乎过滤了所有的空格点data字符等

 

所以这里我们不能再只绕过一次了,通过代码执行顺序我们可以先过滤掉点再过滤空格

所以这里老办法抓包改包

 

 

pass-10

 这里查看代码关键代码如下

发现依旧是用上传的文件名来拼接路径并保存文件 没有对文件重命名

只是用了str_ireplace()函数来检测(此函数无视大小写) 如果文件名含有黑名单里面的字符串 就替换为空

但是只替换一次 并没有进行正则匹配或者是循环匹配敏感字符  因此只要双写php即可 因为是从左往右读的 所以替换为空后 还是php

pphphp、phphpp都可以尝试 

上传成功 

 


http://www.kler.cn/a/271630.html

相关文章:

  • JSR303校验教学
  • Kafka常见问题之 org.apache.kafka.common.errors.RecordTooLargeException
  • 创建 priority_queue - 进阶(内置类型)c++
  • C++:多继承习题5
  • postgresql的用户、数据库和表
  • 基于Django的个人博客系统的设计与实现
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的自动驾驶目标检测系统详解(深度学习+Python代码+PySide6界面+训练数据集)
  • 1.python安装
  • Unity Timeline学习笔记(3) - SignalTrack信号轨道和自定义带参数的Marker信号和轨道
  • 基于Keras的模型剪枝(Pruning)
  • cms垃圾回收
  • MySQL-----事务
  • 差分逻辑电平 — LVDS、CML、LVPECL、HCSL互连
  • SQLiteC/C++接口详细介绍之sqlite3类(五)
  • em、px、rem、vh、vw 的区别
  • 掌握C#: 从基础到精通 - 中级实战练习集
  • mac启动skywalking报错
  • 亚马逊云科技 Lambda 运行selenium
  • 基于Springboot+Redis+mysql实现的闲置二手交易网站管理系统
  • layui table列表重载后保持进度条位置不变
  • npm下载慢换国内镜像地址
  • C++ 虚函数表
  • STM32 Simulink 自动代码生成电机控制——霍尔有感六步方波仿真到开发板运行
  • 项目需求:实现 PDF 添加水印,这五种方案送上!
  • 关于分布式微服务数据源加密配置以及取巧方案(含自定义加密配置)
  • ChatGPT编程—实现小工具软件(批量替换文本、批量处理图像文件)