河南省第五届“金盾信安杯”网络与数据安全大赛实操技能赛 部分wp(自己的一些思路和解析 )(主misc crypto )

news2024/11/17 22:26:22

芜湖

不评价 以下仅是自己的一些思路和解析  有什么问题或者建议随时都可以联系我

目录

题目一 来都来了

操作内容:

flag值:

题目二 Honor

操作内容:

flag值:

题目三 我看看谁还不会RSA

操作内容:

flag值:

题目四 hakiehs

操作内容:

flag值:

题目五 Font

操作内容:

flag值:

题目六 ApeCoin

操作内容:

flag值:

题目七 Easyphp

操作内容:

flag值:

题目八 Ezupload

操作内容:

flag值:

题目九 get_source

操作内容:

flag值:

加油各位( •̀ ω •́ )y 期待与君再相逢 


解题思路及过程

题目一 来都来了

操作内容:

附件只有一个压缩包

但解压需要密码 我们查看源码 经过对比 发现是伪加密

将09改为00

得到题目

很明显是base解码

将其放在txt里

使用not++打开 缩放 得到flag

flag值:

flag{cp2ae315-eef4-3fra-a768-cd9xb19cdk4e}

题目二 Honor

操作内容:

附件只有图片一张

正常的查看源码

发现存在第二张图片

Kali foremost分离

得图

经过多工具尝试

使用stegdetect判断存在隐写

Stegdetect.exe -tjopi -s 10.0 00001995.jpg

然后用stegseek使用rockyou字典(kali自带)爆破

stegseek  00000000.jpg rockyou.txt

得到最终加密字符

f6l3-a6ag3c}{-bc4c5e28-e4649c76b0-707e6069

这不是栅栏密码就是凯撒密码

经过尝试 栅栏密码 12栏数

在线网站 (标准的他还跑不出来

栅栏加密/解密 - Bugku CTF

flag值:

flag{424c076e-768c-3636-acb5-4676900b9eec}

题目三 我看看谁还不会RSA

操作内容:

只有一个py

这一看标准的RSA

根据源编码 编写脚本

这里提供两个 脚本

from Crypto.Util.number import *

c=8232151627233115772131180151146951323147507324390914513031444555762539986162650

p=8666789885346075954502743436174521501697

q=2449101960789395782044494299423558347143

n = p*q

phin = (p-1)*(q-1)

e=37777



m = pow(c,e,n)

print(long_to_bytes(m))

import gmpy2
from Crypto.Util.number import *
def find_m(c, d, n, p, q):
    f = (p - 1) * (q - 1)
    e = 37777
    d_inv = gmpy2.invert(d, f)
    m = pow(c, d_inv, n)
    return m
c = 8232151627233115772131180151146951323147507324390914513031444555762539986162650
e=37777
p = 8666789885346075954502743436174521501697
q = 2449101960789395782044494299423558347143
n = p*q
f = (p-1)*(q-1)
d = gmpy2.invert(e,f)
m = find_m(c, d, n, p, q)
print(long_to_bytes(m))

flag值:

flag{r5a_Who_w0nt}

题目四 hakiehs

操作内容:

还是只有一个文件

Vsdx的后缀

像这种文档类文件 我们可以直接转化为压缩包格式的 在里面查找线索

解压缩

Crypto-hakiehs\attachment\attachment\visio\media

在这个地址找到 图片密文

进过信息检索

找到相对应的对照表

对照 字母小写 得flag

flag值:

flag{linkzeldaganon}

题目五 Font

操作内容:

这个题有点意思 玩脑洞 完全可以当misc出了

附件是只有一张图片

敏捷的狐狸和懒惰的狗

在图片属性里发现提示

刚开始以为是emoji解密 也试了aea 都不行

所以这种加密方式只可能是出题人自创

对照表要么在图片里 要在文字里

但要考虑到这个题是密码题 不是misc

所以应该没有太多的隐写 就想简单点

总共有两行

猜测 一行是答案 一行是对照

总共35的字符

然后看图片

图片的字面意思就是

一只敏捷的棕色狐狸扑向一只懒狗

翻译一下 要凑够35个字符

theQuickbrownfoxjumpsoverthelazydog

用这个去和第一行(◎☀◐♬¤☾♀☹☽§♪℗♩☑♪®♂¤☒♫〼♪۞◐§◎☀◐◑☼♭©☺♪√)组成对照表

√:g;♪:0;☺ d;© y;♭ z;☼ a;◑ l;◐ e;☀ h;◎  t;§  r;◐  e;۞  v;♪  o;〼  s;♫ p;☒  m;¤  u;♂  j;® x;♪ o;☑  f;♩  n;℗  w;♪ o;§  r;☽  b;☹  k;♀  c;☾  i;¤ u;♬ q;◐  e;☀ h;◎  t

最后根据这个对照表

去解第二行 得到flag

flag值:

 flag{qtsyjfgvbndhflhgfnmjfhko}

题目六 ApeCoin

操作内容:

使用dirsearch扫描目录,发现源码泄露

在/static/font/目录下发现.txt.php后门文件

在CMD5解密得到连接密码74658263,使用冰蝎连接得到flag

flag值:

flag{50ddd4d4-c403-422f-af67-3805077076aa}

题目七 Easyphp

操作内容:

根据提示使用php伪协议读取hint.php文件

Base64解码后得到源文件

根据hint.php代码可知,需要构造pop链来执行get->__call中的eval函数。

各魔术方式调用方式

__call():调用不存在或不可见的成员方法时,PHP会先调用__call()方法来存储方法名及其参数

__isset():当对一个对象的不存在或不可访问的属性使用 isset() 或 empty() 函数时自动调用,传递属性名作为参数。

__wakeup():在对象被反序列化(使用 unserialize() 函数)之前自动调用,可以在此方法中重新初始化对象状态。

__destruct():类的析构函数,在对象销毁之前自动调用析构函数

__toString():当使用echo或print输出对象将对象转化为字符串形式时,会调用__toString()方法

构造的pop链(倒推)为:使用__isset()触发__call(),然后使用__toString触发__isset(),最后使用__destruct()触发__toString()。要注意的是__wakeup不能使用表示属性个数的值大于真实属性个数的方法绕过,但是我们可以让dog->b的地址给a,再将c赋值ct类。get::__call()->mouse::__isset()->ct::__toString()->dog::__destruct()

又因为hint.php过滤了很多函数

所以将表示字符串类型的s大写为S,其对应的值会被当作十六进制解析(长度不能改变)

查看realflag目录下的文件

查看you_want_flag.php文件得到flag

得到flag

flag值:

flag{28fabc34-48bb-4959-b3c7-a67ddb343d8d}

题目八 Ezupload

操作内容:

使用dirsearch扫描目录发现flag文件,访问得到flag

得到flag

flag值:

flag{71a58713-31d7-4ae7-a5f7-d4889a8ec2e3}

题目九 get_source

操作内容:

访问地址发现该网站使用的是php7.4.21。想到了php<=7.4.21Development Server源码泄露漏洞,利用该漏洞查看idnex.php

要POST传入a,b,pwn三个变量且a不能等于b且a的MD5值要和pwn的sha1值相等,我们可以使用数组绕过得到flag

得到flag

flag值:

flag{25e02e06-3553-4a5b-bfa9-b1fff4745dde}

加油各位( •̀ ω •́ )y 期待与君再相逢 

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

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

相关文章

Three.js 3D模型爆炸分解

你是否曾想展示一些很酷的发动机的 3D 模型? 这是一种可行的方法,使用一些非常基本的数学:一个简单的分解视图。 为此,我们将使用 React-Three-Fiber,但它可以与原生 Three.js 配合使用(它与 r3f 生态系统没有深度绑定,只是对我来说迭代速度更快)。 1、准备3D模型 首…

Java 设计模式——建造者模式

目录 1.概述2.结构3.实例3.1.产品类3.2.抽象建造者类3.3.具体建造者类3.4.指挥者类3.5.测试 4.优缺点5.使用场景6.模式扩展7.创建者模式对比 1.概述 建造者模式 (Builder Pattern) 是一种创建型设计模式&#xff0c;用于创建复杂对象。它将对象的构建过程分离成独立的部分&…

在 Linux 中重命名文件和目录

目录 前言 使用 mv 命令重命名文件和目录 通过组合 mv、find 和 exec 命令重命名与某个模式匹配的多个文件 使用 rename 命令轻松重命名多个文件 总结 前言 在这篇基本命令行教程中&#xff0c;你将学习在 Linux 终端重命名文件和目录的各种方法。 如何在 Linux 终端中重命…

从前序与中序遍历序列构造二叉树(C++实现)

从前序与中序遍历序列构造二叉树 题目思路分析代码代码讲解 题目 思路分析 我们可以通过递归实现的二叉树构建函数。它根据给定的先序遍历序列和中序遍历序列构建一棵二叉树&#xff0c;并返回根节点。可以创建一个_build 函数&#xff0c;该函数负责构建二叉树的节点&#xff…

个人测试用例以及测试金句分享

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️测试必背金句 界面易用可双安&…

Ants

描述 输入 L10 n3 x{2,6,7} 输出 min4 max8思路 最短时间肯定是每只蚂蚁都朝离自己最近的端点去爬行&#xff0c;这样不会出现蚂蚁相遇的情况 最长时间肯定是每只蚂蚁都朝离自己最远的端点去爬行&#xff0c;但这样会发生蚂蚁相遇的情况 对于最长时间中相遇情况的分析 我们先…

力扣:提莫攻击

代码&#xff1a; class Solution { public:int findPoisonedDuration(vector<int>& timeSeries, int duration){//根据数组中给出的元素的值来进行判断&#xff01;//若后面元素-前面元素>d 中了d秒&#xff01;// <d 中了差的秒数&…

RNN 网络结构及训练过程简介

本文通过整理李宏毅老师的机器学习教程的内容&#xff0c;介绍 RNN&#xff08;recurrent neural network&#xff09;的网络结构。 RNN 网络结构, 李宏毅 RNN RNN 的特点在于存储功能&#xff0c;即可以记忆前面时刻的信息。 最简单的 RNN 结构如下&#xff1a; 当然&a…

MUYUCMS v2.1:一款开源、轻量级的内容管理系统

MuYuCMS&#xff1a;一款基于Thinkphp开发的轻量级开源内容管理系统&#xff0c;为企业、个人站长提供快速建站解决方案。它具有以下的环境要求&#xff1a; 支持系统&#xff1a;Windows/Linux/Mac WEB服务器&#xff1a;Apache/Nginx/ISS PHP版本&#xff1a;php > 5.6 (…

JDK源码系列:StringBuffer与StringBuilder对比

一、源码分析StringBuffer与StringBuilder的区别 1、StringBuffer是多线程安全的&#xff0c;StringBuilder是多线程不安全的 多线程安全指的是 多个线程同时对一个对象进行append 等操作&#xff0c;不会出现覆盖、丢失的情况。 看下StringBuffer是如何做到多线程安全的&#…

吉他初学者学习网站搭建系列(3)——如何实现吉他在线调音

文章目录 背景知识teoriapitchytone效果 背景知识 学过初中物理就会知道&#xff0c;声音是由空气振动产生的。振动产生波&#xff0c;所以声音就是不同振幅和频率的波构成的。振幅决定了声音的响度&#xff0c;频率决定了声音的音高。想更进一步了解的可以访问这个网页wavefo…

C++ STL map迭代器失效问题

最近在开发过程中&#xff0c;定位一个问题的时候&#xff0c;发现多线程场景下大量创建和销毁某个C:\Windows\System32\reg.exe时出现了383个进程创建消息处理的接口&#xff0c;和384个进程销毁处理消息的接口都在等待锁&#xff0c;另外一个线程也在等锁&#xff0c;后面看了…

【数据结构实验】查找(二)基于线性探测法的散列表

文章目录 1. 引言2. 实验原理2.1 散列表2.2 线性探测法 3. 实验内容3.1 实验题目&#xff08;一&#xff09;输入要求&#xff08;二&#xff09;输出要求 3.2 算法实现三、实验设计3.3 代码整合 4. 实验结果 1. 引言 本实验将通过C语言实现基于线性探测法的散列表 2. 实验原理…

车载通信架构 —— 传统车内通信网络CAN(可靠性为王)

车载通信架构 —— 传统车内通信网络CAN(可靠性为王) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非…

cesium轨迹线(闪烁轨迹线)

cesium轨迹线(闪烁轨迹线) 下面有源码 实现思路 使用ellipse方法加载圆型,修改polyline中‘material’方法重写glsl来实现当前效果(cesium版本1.109) 示例代码 index.html <!DOCTYPE html> <html lang="en"><head

SQL Server秘籍:数据分隔解密,数据库处理新境界!

点击上方蓝字关注我 在数据数据过程中经常会遇到数据按照一定字符进行拆分&#xff0c;而在不同版本的SQL SERVER数据库中由于包含的函数不同&#xff0c;处理的方式也不一样。本文将列举2个版本的数据库中不同的处理方法。 1. 使用 XML 方法 在SQL SERVER 2016版本之前&#x…

VMware OpenSLP漏洞解决方案

PS&#xff1a;早期为客户做VMware检测的方法&#xff0c;大家如有遇到可参考 OpenSLP堆溢出漏洞攻击大量ESXI服务器&#xff0c;该漏洞编号为CVE-2021-21974&#xff0c;由 OpenSLP 服务中的堆溢出问题引起 大于以下版本则不受影响 ESXi versions 7.x prior to ESXi7…

LangChain 10思维链Chain of Thought一步一步的思考 think step by step

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

nodejs+vue+python+PHP+微信小程序-健身俱乐部在线管理平台的设计与实现-安卓-计算机毕业设计

随着经济的发展、财富的累积&#xff0c;人们生活水平、生活质量大幅度提高&#xff0c;生活环境得到明显改善&#xff0c;但是竞争激烈、人们生活压力大、生活节奏快加上饮食习惯和生活方式不合理导致国内 亚健康人群逐年增多。统计数据表明当前我国亚健康人群比例已经超过了7…

Linux-基本指令(1.0)

Linux是一个非常流行的操作的知识&#xff0c;并提供实例帮助读者更好地理解。让我们一起来学习吧&#xff01;系统&#xff0c;也是云计算、大数据、人工智能等领域的重要基础。学习Linux命令是Linux系统管理的基础&#xff0c;也是开发过程中必不可少的技能。本博客将介绍Lin…