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

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.lryc.cn/news/319454.html

相关文章:

  • 本地用AIGC生成图像与视频
  • java 如何使用Lambda表达式实现递归和循环的替代品
  • 由浅到深认识C语言(12):位段/位域
  • antd5 虚拟列表原理(rc-virtual-list)
  • 机器学习-04-分类算法-03KNN算法
  • Learn OpenGL 08 颜色+基础光照+材质+光照贴图
  • springboot多模块下swaggar界面出现异常(Knife4j文档请求异常)或者界面不报错但是没有显示任何信息
  • 【系统架构设计师】系统工程与信息系统基础 01
  • python自动化之(django)(2)
  • C语言 内存函数
  • 145 Linux 网络编程1 ,协议,C/S B/S ,OSI 7层模型,TCP/IP 4层模型,
  • 【Java】List, Set, Queue, Map 区别?
  • 打卡学习kubernetes——了解k8s基本概念
  • 特殊内齿轮加工的另一种选择
  • Visual Studio配置libtorch(cuda安装一步到位)
  • 【工具】一键生成动态歌词字幕
  • Linux/Ubuntu/Debian从控制台启动程序隐藏终端窗口
  • Android中的设计模式---单例模式
  • 【NLP笔记】文本分词、清洗和标准化
  • 2024 年系统架构设计师(全套资料)
  • springboot蛋糕订购小程序的设计与实现
  • MongoDB——linux中yum命令安装及配置
  • 序列化笔记
  • ArkTs的资源Resource类型怎么转为string
  • Apache zookeeper kafka 开启SASL安全认证
  • Rust 的 inline 内联编译策略
  • 软考73-上午题-【面向对象技术2-UML】-UML中的图4
  • html编辑器
  • 利用“定时执行专家”软件的25种任务与12种触发器,提升IT系统管理自动化水平
  • 设计模式学习笔记 - 规范与重构 - 8.实践:程序出错返回啥?NULL、异常、错误吗、空对象?重构ID生成器,处理各函数的异常