河南省第五届“金盾信安杯”网络与数据安全大赛实操技能赛 部分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=8232151627233115772131180151146951323147507324390914513031444555762539986162650p=8666789885346075954502743436174521501697q=2449101960789395782044494299423558347143n = p*qphin = (p-1)*(q-1)e=37777m = 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 = 37777d_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.mzph.cn/news/170320.shtml

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

相关文章

游戏视野计算

游戏地图是矩形的&#xff0c;将矩形分割成一个个紧邻的大小相等的方形格子&#xff0c;地图中每个对象必然归属于一个格子&#xff0c;每个格子维护了在这个格子里的所有对象。 将每个格子都放入从左下角到右上角的坐标系&#xff0c;设横轴是x&#xff0c;纵轴是y。 假设地图…

运维高级-day01

shell回顾 1、快速生成版权控制信息&#xff0c;具体的内容自己替换 [root scripts]# cat ~/.vimrc autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" func SetTitle() if expand("%:e") sh call setline(1,"#!/bin/bash")…

python:傅里叶分析,傅里叶变换 FFT

使用python进行傅里叶分析&#xff0c;傅里叶变换 FFT 的一些关键概念的引入&#xff1a; 1.1.离散傅里叶变换&#xff08;DFT&#xff09; 离散傅里叶变换(discrete Fourier transform) 傅里叶分析方法是信号分析的最基本方法&#xff0c;傅里叶变换是傅里叶分析的核心&…

go模版引擎的使用~~

go模板语句 以下是一些go语言模板引擎的一些简单知识和使用 基础语法 重要&#xff01;&#xff01;&#xff01;&#xff1a; 模板在写动态页面的网站的时候&#xff0c;我们常常将不变的部分提出成为模板&#xff0c;可变部分通过后端程序的渲染来生成动态网页&#xff0…

上手 Promethus - 开源监控、报警工具包

名词解释 Promethus 是什么 开源的【系统监控和警报】工具包 专注于&#xff1a; 1&#xff09;可靠的实时监控 2&#xff09;收集时间序列数据 3&#xff09;提供强大的查询语言&#xff08;PromQL&#xff09;&#xff0c;用于分析这些数据 功能&#xff1a; 1&#xff0…

Java Web——XML

1. XML概述 XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。XML是一种用于存储和传输数据的语言&#xff0c;它使用标签来标记数据&#xff0c;以便于计算机处理和我们人来阅读。 “可扩展”三个字表明XML可以根据需要进行扩展和定制。这意味…

【LeetCode】485. 最大连续1的个数

485. 最大连续1的个数 难度&#xff1a;简单 题目 给定一个二进制数组 nums &#xff0c; 计算其中最大连续 1 的个数。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,0,1,1,1] 输出&#xff1a;3 解释&#xff1a;开头的两位和最后的三位都是连续 1 &#xff0c;所以最…

ubuntu+Teslav100 环境配置

系统基本信息 nvidia-smi’ nvidia-smi 470.182.03 driver version:470.182.03 cuda version: 11.4 产看系统体系结构 uname -aUTC 2023 x86_64 x86_64 x86_64 GNU/Linux 下载miniconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CM&OA https://mi…

如何解决React子组件中的逻辑很多影响父组件回显速度的问题

前言 更新状态导致重新渲染时&#xff0c;由于子组件中的逻辑很多&#xff0c;影响到父组件的回显速度。 React18之前&#xff0c;由于渲染是同步的&#xff0c;一旦开始渲染&#xff0c;就不可被中断&#xff0c;所谓的同步&#xff0c;就是指如果react的某个组件执行时间长…

MyBatisPlus入门介绍

目录 一、MyBatisPlus介绍 润物无声 效率至上 丰富功能 二、Spring集成MyBatisPlus 三、SpringBoot集成MyBatisPlus 一、MyBatisPlus介绍 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强不做改变&#xff0c…

Kafka系列 - Kafka一篇入门

Kafka是一个分布式流式处理平台。很多分布式处理系统&#xff0c;例如Spark&#xff0c;Flink等都支持与Kafka集成。 Kafka使用场景 消息系统&#xff1a;Kafka实现了消息顺序性保证和回溯消费。存储系统&#xff1a;Kafka把消息持久化到磁盘&#xff0c;相比于其他基于内存的…

如何处理git多分支

本篇文章主要处理以下两种多分支问题 如何将自己在本地的修改上传到一个新的Git分支&#xff08;比如用于测试&#xff0c;不合并进main分支&#xff09;&#xff1f;如何在一个新的本地仓库拉取一个项目的非main分支&#xff0c;并处理他们关联关系&#xff1f; 1. 将自己在…

java基于springboot公益帮学网站 新闻发布系统的设计与实现vue

以Java为开发平台&#xff0c;综合利用Java Web开发技术、数据库技术等&#xff0c;开发出公益帮学网站。用户使用版块&#xff1a;可以选择注册并登录&#xff0c;可以浏览信息、可以网上互动、发布文章、内容推荐等。后台管理员管理版块&#xff1a;以管理员身份登录网站后台…

C# 读写FDX-B(ISO11784/85)动物标签源码

本示例使用的发卡器&#xff1a;EM4305 EM4469 ISO11784/85协议125K低频FXD-B动物标签读写发卡器-淘宝网 (taobao.com) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using S…

rk3588配置uac功能,android13使能uac及adb的复合设备

最近&#xff0c;因新增需求需要在现有产品上增加UAC的功能&#xff0c;查阅并学习相关知识后&#xff0c;在rk3588 SOC硬件平台搭载android13系统平台上成功配置了uac及uac&adb的复合设备。基于开源共享精神希望给大家提供些参考。 1.技术可行性预研 &#xff08;1&#…

【一起来学kubernetes】7、k8s中的ingress详解

引言配置示例负载均衡的实现负载均衡策略实现模式实现方案Nginx类型Ingress实现Treafik类型Ingress实现HAProxy类型ingress实现Istio类型ingress实现APISIX类型ingress实现 更多 引言 Ingress是Kubernetes集群中的一种资源类型&#xff0c;用于实现用域名的方式访问Kubernetes…

人工智能-注意力机制之残差连接和层规范化

残差连接和层规范化 层规范化和批量规范化的目标相同&#xff0c;但层规范化是基于特征维度进行规范化。尽管批量规范化在计算机视觉中被广泛应用&#xff0c;但在自然语言处理任务中&#xff08;输入通常是变长序列&#xff09;批量规范化通常不如层规范化的效果好。 以下代…

自建私有化证书颁发机构(Certificate Authority,CA)实战之 《0x02 Nginx 配置 https双向认证》

自建CA实战之 《0x02 Nginx 配置 https双向认证》 上一章节我们已经实现了Nginx上配置https单向认证&#xff0c;主要场景为客户端验证服务端的身份&#xff0c;但是服务端不验证客户端的身份。 本章节我们将实现Nginx上配置https双向认证&#xff0c;主要场景为客户端验证服…

C++ 实现位图

引出 面试题&#xff1a;给出 40 亿个不重复的无符号整数&#xff0c;没有排过序。给定一个无符号整数&#xff0c;如何快速判断这个数是否在这 40 亿个无符号整数中。[ 腾讯面试题 ] 想法一&#xff1a;将 40 亿个数据存放到 set 里面&#xff0c;然后再查找指定的无符号整数。…

Python基础入门例程75-NP75 使用字典计数(字典)

最近的博文: Python基础入门例程74-NP74 字典新增(字典)-CSDN博客 Python基础入门例程73-NP73 查字典(字典)-CSDN博客 Python基础入门例程72-NP72 生成字典(字典)-CSDN博客 目录 最近的博文: