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

芜湖

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

目录

[题目一 来都来了](#题目一 来都来了)

操作内容:

flag值:

[题目二 Honor](#题目二 Honor)

操作内容:

flag值:

[题目三 我看看谁还不会RSA](#题目三 我看看谁还不会RSA)

操作内容:

flag值:

[题目四 hakiehs](#题目四 hakiehs)

操作内容:

flag值:

[题目五 Font](#题目五 Font)

操作内容:

flag值:

[题目六 ApeCoin](#题目六 ApeCoin)

操作内容:

flag值:

[题目七 Easyphp](#题目七 Easyphp)

操作内容:

flag值:

[题目八 Ezupload](#题目八 Ezupload)

操作内容:

flag值:

[题目九 get_source](#题目九 get_source)

操作内容:

flag值:

[加油各位( •̀ ω •́ )y 期待与君再相逢](#加油各位( •̀ ω •́ )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

根据源编码 编写脚本

这里提供两个 脚本

python 复制代码
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))
python 复制代码
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 期待与君再相逢

相关推荐
梧桐树04293 小时前
python常用内建模块:collections
python
Dream_Snowar4 小时前
速通Python 第三节
开发语言·python
蓝天星空5 小时前
Python调用open ai接口
人工智能·python
jasmine s5 小时前
Pandas
开发语言·python
郭wes代码5 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf5 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零15 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound6 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx6 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe6 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机