第十七届全国大学生信息安全竞赛创新实践能力赛初赛部分复现

Misc

神秘文件

1.根据提示信息,均需要从ppt中提取信息

2.在ppt的属性中发现一串密文和key,解密之后得到第一部分,根据提示Bifid chipher,为双歧密码解密,使用Bifid Cipher Decode解码

3.在第五张幻灯片,发现有一串编码,base64之后得到第六部分

4.第三张幻灯片发现base64编码,解码之后得到flag

5.在第五张幻灯片的批注下找到base64,解码之后得到第五部分

6.在幻灯片的母版中发现加密的内容,并且需要溢出B,b,1,3,解码之后得到第八部分

7.在第四张幻灯片中选择窗口,发现加密内容,解码之后得到第七部分

8.将ppt改为zip之后,在照片的文件夹中发现图片有加密的内容,解密之后得到第九部分

9.在ppt的压缩包中发现doc文件打开之后,发现有加密的内容,解密(根据提示凯撒密码位移为10,且是base64编码)之后得到第二部分

 

10. 将压缩包中的.bin文件放在010中打开,发现加密内容

11.使用base64解码之后,再使用RC4解密,最后再base64,得到第三部分

Web

Simple_PHP

1.代码审计

<?php
ini_set('open_basedir', '/var/www/html/'); //这行代码使用 ini_set 函数设置 PHP 的 open_basedir 配置项。open_basedir 是一个安全相关的配置项,用于限制 PHP 可以访问的目录范围。这里将其设置为 /var/www/html/,意味着 PHP 只能在这个目录及其子目录中执行文件操作。
error_reporting(0);if(isset($_POST['cmd'])){$cmd = escapeshellcmd($_POST['cmd']); //代码检查是否有名为 cmd 的 POST 参数。如果有,则使用 escapeshellcmd 函数处理该参数,该函数会尝试转义 shell 命令中的特殊字符,使其更加安全。if(!preg_match('/ls|dir|nl|nc|cat|tail|more|flag|sh|cut|awk|strings|od|curl|ping|\*|sort|ch|zip|mod|sl|find|sed|cp|mv|ty|grep|fd|df|sudo|more|cc|tac|less|head|\.|{|}|tar|zip|gcc|uniq|vi|vim|file|xxd|base64|date|bash|env|\?|wget|\'|\"|id|whoami/i', $cmd)) {system($cmd); //这段代码首先使用正则表达式来检查 $cmd 是否包含任何可能危险或敏感的命令。如果 $cmd 不包含这些命令,那么代码将使用 system 函数执行这个命令。system 函数用于执行外部程序,并输出其标准输出。
}
}show_source(__FILE__);
?>

绕过知识点:

open_basedir函数的绕过:

open_basedir对命令执行没有限制

假如没有进行过滤 那我们就可以通过system函数直接执行

资料:绕过 open_basedir_glob 绕过basedir-CSDN博客

 escapeshellcmd()函数:

escapeshellcmd() 对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。

资料:escapeshellarg参数绕过和注入的问题_escapeshellcmd-CSDN博客

编码绕过:

如果命令注入的网站过滤了某些分割符,可以将分隔符编码后(url编码,base64,十六进制编码等)绕过 

资料:如何实现CTF中命令执行绕过方法 - 网络管理 - 亿速云

方法一

无参数+数据库连接查询

1.使用php -r phpinfo();命令查看相关信息,phpinfo是一个服务器的运行指令,可以显示php服务器的配置信息。观察代码并没有发现禁用php,尝试用php -r 去执行php命令

php -r:执行一段php代码,如 php -r "echo 'hello world';"

2.因为linux好多指令被禁用了,考虑16进制转2进制,同样eval函数也没有被禁止,那么既能够不被转义,又能不被匹配,还是命令执行的,所以想到使用十六进制编码进行绕过

知识点1:

hex2bin()函数是PHP中的内置函数。 hex2bin()函数用于解码十六进制编码的二进制字符串。也就是说,它将以十六进制表示编码的二进制字符串解码回二进制表示。

hex2bin() 函数把十六进制值的字符串转换为 ASCII 字符。

注意:此函数的目的不是将十六进制数转换为二进制数,为此我们可以使用PHP中的 base_convert()函数。此函数仅用于解码十六进制编码的二进制字符串。

知识点2:

在十六进制中,只存在数字和字母,不会被转义,还能进制转换后绕过正则;

3.按照正常逻辑,查看index.php文件,发现什么都没有,再查看根目录,发现根目录下没有flag

4.想到读取/etc/passwd文件,发现有mysql用户,其中/root表示用户目录,/bin/bash表示该用户登录linux时用的shell。

/etc/passwd 是linux系统对用户进行识别的一个文件,系统中的所有用户都要在这里登记.当用户登录到linux系统时,linux会读取这个文件来确认用户的身份./etc/passwd文件中的每一行都表示一个用户信息;一行有7个段位;每个段位用:号分割;

5.想到flag在数据库里面,进行查找

相关命令:echo `mysql -u root -p'root' -e 'use PHP_CMS;show databases;'`;

这个命令是在命令行中执行的,它的作用是使用mysql命令连接到MySQL数据库,并执行查询语句来显示PHP_CMS数据库中的所有数据库,使用反引号`来引用命令的输出。

​6.使用echo `mysql -u root -p'root' -e 'use PHP_CMS;show tables;'`;来查表

7.使用来查字段 echo `mysql -u root -p'root' -e 'use PHP_CMS;select * from F1ag_Se3Re7;'`; 得到flag

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

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

相关文章

【python】python商家会员数据分析可视化(源码+数据集+课程报告论文)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Midjourney应用场景、特点、生成图片带来影响

Midjourney是一个基于GPT-3.5系列接口开发的免费AI机器人&#xff0c;旨在提供多领域的智能对话服务。本文主要介绍Midjourney的应用场景、功能特点、图片生成后可以做什么&#xff1f; 一、Midjourney应用场景 Midjourney的应用场景相当广泛&#xff0c;以下是一些主要的适用…

单链表OJ题(课堂总结)

1.链表的带环问题 上图就是一个典型的带环链表 1.1如何判读链表是否带环&#xff1f; 最常见的方法就是利用快慢指针&#xff0c;快指针追加慢指针&#xff0c;当二者相等的时候即可判断链表带环 其实现的代码如下&#xff1a; bool hasCycle(struct ListNode*head) { s…

nuxt2:自定义指令 / v-xxx / directives / 理解 / 使用方法 / DEMO

一、理解自定义指令 在 vue 中提供了一些对于页面和数据更为方便的输出&#xff0c;这些操作就叫做指令&#xff0c;以 v-xxx 表示&#xff0c;比如 html 页面中的属性 <div v-xxx ></div>。自定义指令很大程度提高了开发效率&#xff0c;提高了工程化水平&#x…

通过键值对访问字典

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中&#xff0c;如果想将字典的内容输出也比较简单&#xff0c;可以直接使用print()函数。例如&#xff0c;要想打印dictionary字典&#xff…

【ARMv8/v9 异常模型入门及渐进 10 -- WFI 与 WFE 使用详细介绍 1】

请阅读【ARMv8/v9 ARM64 System Exception】 文章目录 WFI 与 WFE等待事件&#xff08;WFE&#xff09;发送事件&#xff08;SEV&#xff09;本地发送事件&#xff08;SEVL&#xff09;WFE 唤醒事件 WFE 使用场景举例与代码实现wfe睡眠函数sev 事件唤醒函数全局监视器和自旋锁 …

【Text2SQL 论文】IncSQL:通过增量式生成 action 序列来得到 SQL

论文&#xff1a;IncSQL: Training Incremental Text-to-SQL Parsers with Non-Deterministic Oracles ⭐⭐⭐ ICLR 2019&#xff0c;arXiv:1809.05054, Microsoft Research 一、论文速读 本文提出了 IncSQL&#xff0c;一个使用 Non-Deterministic Oracles 思路的增量式 Text…

[[nodiscard]]--c++17

作用 用于标记某个函数或者类的成员函数的返回值需要处理。 被标记的函数和类的函数被调用&#xff0c;但是返回值没有接收的时候&#xff0c;编译器会warning. 标记函数 #include <iostream>[[nodiscard]] int square(int x) {return x * x; }int main() {// 注意&am…

C++青少年简明教程:switch语句

C青少年简明教程&#xff1a;switch语句 在C中&#xff0c;switch语句用于基于一个表达式的值来执行不同的代码块。这个表达式通常是一个整数类型&#xff08;如int&#xff0c;char&#xff0c;或枚举类型&#xff09;&#xff0c;并且case标签必须是整数常量表达式。 语法格…

香橙派Kunpeng Pro测评:他给的实在太多了

文章目录 一、开箱环节1、包装配置2、开发板包装3、开发板3.1、开发版正面3.2、开发板背面 二、硬件配置1、硬件配置清单 2、配置图解 三、开机~启动&#xff01;1、运行系统1.1、外设配置1.2、系统启动1.3、官方教程 2、openEuler系统概览 四、系统测试1、性能测试1.1、安装sy…

漫步者x1穷鬼耳机双耳断连

困扰了我两天&#xff0c;终于有时间解决这个问题了&#xff0c;查看了一堆都是别的型号。怎么没人用这个啥按键都没有的耳机QAQ&#xff0c;幸好给我找到了说明书&#xff0c;啊哈哈&#xff01; 说明书地址

堆结构知识点复习——玩转堆结构

前言:堆算是一种相对简单的数据结构&#xff0c; 本篇文章将详细的讲解堆中的知识点&#xff0c; 包括那些我们第一次学习堆的时候容易忽略的内容&#xff0c; 本篇文章会作为重点详细提到。 本篇内容适合已经学完C语言数组和函数部分的友友们观看。 目录 什么是堆 建堆算法…

电脑找不到opencl.dll原因分析及5种详细的解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到opencl.dll”。这通常意味着计算机中缺少或损坏了与OpenCL&#xff08;开放计算语言&#xff09;相关的动态链接库文件。OpenCL允许应用程序利用图形处理器&#xff08;GPU&#xff…

【问题记录】QT“类型强制转换“:无法从“ATL::CString“转换为“LPCWSTR“

一&#xff0c;问题现象 环境&#xff1a;VS2019QT 报错提示&#xff1a;“类型强制转换”&#xff1a;无法从"ATL::CString"转换为"LPCWSTR" 二&#xff0c;解决方法 打开项目属性&#xff0c;设置字符集&#xff0c;如下所示&#xff1a;

BFS解决最短路问题(详解)

目录 BFS简介 && 框架&#xff1a; 一.二叉树的最小深度 二&#xff1a;迷宫中里入口最近的出口&#xff1a; 三.最小基因变化: 四&#xff1a;单词接龙&#xff1a; ​五&#xff1a;为高尔夫比赛砍树&#xff1a; BFS简介 && 框架&#xff1a; 说到BFS…

动态规划-卡特兰数

不同的二叉搜索树&#xff08;96&#xff09; 题目描述: 状态表示: 建立一维数组dp&#xff0c;使用dp[i]来表示i个节点时有的二叉搜索树种类。 状态转移方程: 因为dp[i]表示有i个节点&#xff0c;我们设置一个循环&#xff0c;循环下标为j&#xff0c;此时j代表第几个节点为…

STM32Cube系列教程10:STM32CubeIDE工程创建+串口DMA+IDLE+printf重定向+软中断处理串口数据+非阻塞延时任务

文章目录 工程配置配置时钟配置Debug接口配置串口外设配置时钟树生成代码 配置串口重定向printf配置串口&#xff0c;开启IDLE&#xff0c;开启软中断 配置非阻塞延时任务调度函数编写任务调度函数延时任务创建 编译&#xff0c;下载与测试编译下载测试 前两天收到了ST社区的NU…

5.27周报

这两周邻近毕业故没有很多时间来学习课余内容&#xff0c;另外最近身体有些不舒服【偏头痛】&#xff0c;所以学的内容不多&#xff0c;包括SVM向量机和ResNet【不包括代码复现】 1.SVM支持向量机的大概内容 1、目的&#xff1a; 主要内容是如何找到分类的那条线【超平面】—…

我的世界开服保姆级教程

前言 Minecraft开服教程 如果你要和朋友联机时&#xff0c;可以选择的方法有这样几种&#xff1a; 局域网联机&#xff1a;优点&#xff1a;简单方便&#xff0c;在MC客户端里自带。缺点&#xff1a;必须在同一局域网内。 有些工具会带有联机功能&#xff1a;优点&#xff1a;一…

【GateWay】自定义RoutePredicateFactory

需求&#xff1a;对于本次请求的cookie中&#xff0c;如果userType不是vip的身份&#xff0c;不予访问 思路&#xff1a;因为要按照cookie参数进行判断&#xff0c;所以根据官方自带的CookieRoutePredicateFactory进行改造 创建自己的断言类&#xff0c;命名必须符合 xxxRout…