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

芜湖

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

目录

题目一 来都来了

操作内容:

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 期待与君再相逢 

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

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

相关文章

3. 内存单元

1位的内存单元 对于一个内存单元需要有:1个锁存器,数据输入,可写控制,是否读取(也是是否输出), 行和列(内存地址), 数据输出这几部分组成写入: 当行和列, 数据输入,可写全为1时则写入,(行 & 列 & 输入 & 可写)读出(输出): 当 行,列, 是否读取(也是是否输出) ( 行 …

c语言练习12周(6~10)

以下程序调用递归函数fun实现求n!&#xff0c;请补充代码。 题干以下程序调用递归函数fun实现求n!&#xff0c;请补充代码。 int fun(int n) { int c; /****************/ /****************/ else cn*fun(n-1); …

【云备份】文件操作实用工具类设计

文章目录 为什么要单独设计文件工具类&#xff1f;整体实现Filesize ——文件大小stat接口 LastMTime ——最后一次修改时间LastATime —— 最后一次访问时间FileName —— 文件名称GetPostLen ——获取文件指定位置 指定长度的数据GetContnet —— 读取文件数据SetContent ——…

在 Linux 中重命名文件和目录

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

Sublime Text 3 安装离线插件 anaconda

1 下载 Sublime Text 3 免安装版 Download - Sublime Text 2 下载 Package Control&#xff0c;放到 Sublime Text Build 3211\Data\Installed Packages 目录下。 Installation - Package Control 3 页面搜索 anaconda anaconda - Search - Package Control Anaconda - Pac…

彩纸屋在线少儿编程源码/scratch在线编程系统/培训管理系统源码/在线培训系统源码PHP

源码简介&#xff1a; 彩纸屋在线少儿编程源码&#xff0c;它是scratch在线编程系统&#xff0c;作为培训管理系统源码/在线培训系统源码&#xff0c;采用PHP源码。 彩纸屋是全国首家提供scratch开源定制和少儿编程培训管理系统源代码的服务商&#xff0c;彩纸屋提供的scratc…

WebGL/threeJS面试题扫描与总结

什么是 WebGL&#xff1f;什么是 Three.js&#xff1f;请解释three.js中的WebGL和Canvas的区别&#xff1f; WebGL(全写Web Graphics Library)是一种3D绘图协议&#xff0c;这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起&#xff0c;通过增加OpenGL ES 2.0的一个…

WordPress安装AWS插件实现文本转语音功能

适用于 WordPress 的 AWS 插件示例演示了内容创建者如何轻松地为所有书面内容添加文本转语音功能。随着语音搜索的不断增加&#xff0c;以音频格式提供更多网站内容变得至关重要。通过添加语音功能&#xff0c;网站访客可以通过在线音频播放器和播客应用程序等新渠道使用您的内…

单调栈 模板

class Solution { public: //从后往前的方法 vector<int> dailyTemperatures(vector<int>& temperatures) {int n temperatures.size();vector<int> ans(n);//创建一个大小为n的数组stack<int> st;//这个时候栈中没有任何元素for(int i n-1;i &g…

4面试题--数据库(mysql)

执⾏⼀条 select / update 语句&#xff0c;在 MySQL 中发⽣了什么&#xff1f; Server 层负责建⽴连接、分析和执⾏ SQL。MySQL ⼤多数的核⼼功能模块都在这实现&#xff0c;主要包括 连接器&#xff0c;查询缓存&#xff08;8.0版本去除&#xff0c;因为每次更新将会清空该…

使用 STM32 读取和解析 NTC 热敏电阻的数值

本文介绍了如何利用 STM32 微控制器读取和解析 NTC&#xff08;Negative Temperature Coefficient&#xff09;热敏电阻的数值。首先&#xff0c;我们将简要介绍 NTC 热敏电阻的原理和特性。接下来&#xff0c;我们将详细讨论如何设计电路连接和采用合适的 STM32 外设进行数值读…

如何在GO中写出准确的基准测试

一般来说&#xff0c;我们不应该对性能进行猜测。在编写优化时&#xff0c;会有许多因素可能起作用&#xff0c;即使我们对结果有很强的看法&#xff0c;测试它们很少是一个坏主意。然而&#xff0c;编写基准测试并不简单。很容易编写不准确的基准测试&#xff0c;并且基于这些…

从0到0.01入门 Webpack| 008.精选 Webpack面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

机器学习算法——主成分分析(PCA)

目录 1. 主体思想2. 算法流程3. 代码实践 1. 主体思想 主成分分析&#xff08;Principal Component Analysis&#xff09;常用于实现数据降维&#xff0c;它通过线性变换将高维数据映射到低维空间&#xff0c;使得映射后的数据具有最大的方差。主成分可以理解成数据集中的特征…

JDK源码系列:StringBuffer与StringBuilder对比

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

思维模型 波纹效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。小变化&#xff0c;大影响。 1 波纹效应的应用 1.1 波纹效应在市场中的应用 2008 年&#xff0c;美国金融危机爆发&#xff0c;导致全球经济陷入衰退。这场危机的起因是美国房地产市场的崩…

一篇文章完成Hbase入门

文章目录 一、简介1、数据模型结构2、物理存储结构3、数据模型4、基本架构 二、安装1、下载解压安装包2、修改配置文件3、启动服务(单机、集群)4、配置高可用(HA) 三、命令行操作1、建表2、新增/更新数据3、查看表数据4、删除数据5、修改默认保存的数据版本 四、架构1、RegionS…

在 STM32 上实现温度补偿和校正

本文介绍了如何在 STM32 微控制器上实现温度补偿和校正&#xff0c;以提高温度传感器的测量精度。首先&#xff0c;我们将简要介绍温度补偿和校正的原理和目的。然后&#xff0c;我们将详细讨论在 STM32 上实现温度补偿和校正的步骤和方法。同时&#xff0c;提供了一个简单的示…

FPGA模块——SPI协议(读写FLASH)

FPGA模块——SPI协议&#xff08;读写FLASH&#xff09; &#xff08;1&#xff09;FLASH芯片 W25Q16BV&#xff08;2&#xff09;SPI协议&#xff08;3&#xff09;芯片部分命令1.Write Enable&#xff08;06h&#xff09;2.Chip Erase (C7h / 60h)3.写指令&#xff08;02h&am…

华为ospf路由协议防环和次优路径中一些难点问题分析

第一种情况是ar3的/0/0/2口和ar4的0/0/2口发布在区域1时&#xff0c;当ar1连接ar2的线断了以后&#xff0c;骨干区域就断了&#xff0c;1.1.1.1到2.2.2.2就断了&#xff0c;ping不通了。但ar5和ar6可以ping通2.2.2.2和1.1.1.1&#xff0c;ar3和ar4不可以ping通2.2.2.2和1.1.1.1…