iami233
iami233
文章156
标签37
分类4

文章分类

文章归档

ISCC 2021 Writeup

ISCC 2021 Writeup

2021年5月26日,比赛结束了,现在把其他做出来的题目wp放出来…

Web

ISCC客服冲冲冲(一)

F12 看了一下应该是通过 js 来实现 +1 的,直接来一招狸猫换太子(左右id互换),等待倒计时结束得到flag。(我觉得这题用鼠标宏应该也行

img

这是啥

Ctrl+U 查看网页源代码发现一段 JSFuck 编码的东西,复制后直接在 F12 - console 里粘贴回车

img

web01

根据页面提示我们依次访问 robots.txt -> code/code.txt 得到一段PHP代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
<p>code.txt</p>
if (isset ($_GET['password'])) { //get请求提交password参数
if (preg_match ("/^[a-zA-Z0-9]+$/", $_GET['password']) === FALSE)
{
echo '<p>You password must be alphanumeric</p>';

} //参数值必须包含数字字母
else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999) //参数值位数小于八位,参数值必须大于9999999
{
if (strpos ($_GET['password'], '*-*') !== FALSE)
{
die('Flag: ' . $flag);
} //参数值必须包含*-*
else
{
echo('<p>*-* have not been found</p>');
}
}
else
{
echo '<p>Invalid password</p>';
}
}
?>

我们直接用科学计数法绕过

1
?password=1e9*-*

img

tornado

看到页面 又是一道原题,护网杯easy_tornado

三个文件内容:

1
2
3
4
5
6
7
8
/flag.txt
flag in /fllllllllllllaaaaaag

/welcome.txt
render

/hints.txt
md5(cookie_secret+md5(filename))

请求的链接格式:file?filename=文件名&filehash=hash值

根据提示 cookie文件名md5 再次 md5加密 后就是 hash 获取 cookies

1
/error?msg={{handler.settings}}

计算文件 hash

1
2
3
4
5
<?php
$filename = '/fllllllllllllaaaaaag';
$cookies = 'ef57c331-744f-4528-b434-9746317d4f6a';
echo md5($cookies.md5($filename));
?>

img

登录

扫到一个备份文件

img

打开压缩包发现是原题.. 0CTFpiapiapia 跟着操作直接拿到flag

img

ISCC客服冲冲冲(二)

打开页面后登录框是一个图片…图片下载下来发现存在隐写

img

img

发现源码泄露

img

题目描述里提到:经过激烈的竞争,客服一号终于通过自己的努力(选手的帮助),保住了自己的饭碗(获得了客服的密码),所以密码应该是上一题的flag

所以我们直接 post 一个账号密码上去,页面提示管理员禁止登录

img

登录其他账户提示看不到flag

img

这题提示都和 bugkuweb39 一样,应该是原题 CBC字节翻转攻击

直接照着做就行了,注意要一气呵成,免得重头再来。

Misc

海市蜃楼-1

下载附件解压后得到一个docx,打开提示损坏。

img

我们直接把 docx 改为 zip,解压后全局检索 flag 或者 ISCC

img

小明的表情包

下载附件后解压需要密码,结合题目描述里面的关键信息,猜测密码。

关键信息:小明说如果你记得我的 出生日月年,我就交给你。小明的生日年份隐藏在这串凯撒密码 AVARGRRA AVARGL AVAR

凯撒密码枚举所有可能后,得到1999年。所以密码范围应该是 01011999 - 31011999

img

直接使用脚本生成字典爆破。

1
2
3
4
f = open('字典.txt','w')
for i in range(1,31):
for j in range(1,13):
print("{:0>2d}{:0>2d}1999".format(i,j),file=f)

img

解压后得到一个图片,打开后提示图片损坏,我们直接使用16进制编辑器打开发现缺少文件头。直接补全后得到flag

img

李华的红包

附件是一张图片 很明显能够看出缺了半截

img

直接改下高度,得到完整图片

img

同时文件尾发现一段数字,结合图片内容 判断是敲击码,直接解密即可得到flag。

img

真作假时假亦真

音频下载下来末尾发现摩斯电码,暂时不知道用途。

img

binwalk 查看发现隐藏文件

img

分离后得到一张收款图,二维码扫不出任何内容,同时在 EXIF 中查看到一段王者荣耀代打的火星文… 但是乱码了,换个工具得到没乱码的内容

1
ポ④ωаиɡ锗榮燿棑位笩╇Q㈠⒌2肆⒌⒌23㈦2ず

img

用我八年的玩网经验 得出了qq
img

加好友成功得到flag(假的

img

空间留言板成功得到flag(也是假的

img

在一个说说配图末尾找到一个蓝奏云链接(友情提示蓝奏云 lanzous 主域被墙 可以改为 lanzoux

img

下载后得到一段加密

img

观察了半天 看到行列是 25*25 可能是二维码,直接上脚本 转1和0

1
2
3
4
5
6
data = """壹贰叁肆伍陆柒8玖〇壹2叁肆56柒89〇壹23肆伍陆78901贰3肆56柒89〇1贰叁4伍陆7捌玖0壹2叁肆伍6柒89〇壹贰叁肆5陆柒捌9〇123肆5陆7捌玖〇1贰345陆柒8玖〇壹贰34567890壹2叁肆伍6柒8玖01贰叁4伍6柒捌玖〇壹234伍陆78901贰3肆5陆78玖0壹贰345陆7捌玖0壹贰叁肆伍陆柒890壹贰叁肆56柒8玖0壹234伍67890123肆伍6柒捌玖〇1贰345陆7890壹贰3肆56柒捌90123肆56柒捌玖〇壹贰3肆567捌9〇1234伍陆78玖〇壹贰3肆5陆7捌9〇12叁肆伍6柒8901贰叁肆伍陆7捌9〇壹2叁肆伍陆柒89〇123肆伍67890壹234567捌玖0壹2叁4伍陆柒捌901贰3肆56柒捌9〇壹2345陆78玖0壹23肆伍67捌90壹2叁4伍陆7捌9〇壹2叁45陆柒89〇1贰叁45陆7890壹23肆伍陆柒8901234伍陆柒8玖〇1贰34伍6柒捌玖0壹贰34伍陆柒89〇壹2叁肆5陆柒89〇1贰叁肆伍678901234伍67捌9〇1234567890壹贰叁肆伍陆柒8玖0壹2叁4伍6柒8玖〇壹贰叁肆伍陆78901贰3肆伍陆7捌901贰3肆56789〇壹2叁肆伍6柒89012345陆柒8玖0壹贰叁4伍陆7捌玖〇1贰3肆56789〇1贰3肆5陆柒捌9〇壹2叁肆伍6柒8玖〇1贰345陆柒8玖0壹贰叁4伍陆78901贰3肆5678玖01贰3肆56789〇壹贰叁肆伍陆柒8玖01贰3肆伍陆78玖〇壹贰叁肆伍"""
for i in data:
if ord(i) < 58:
print(0,end='')
else:
print(1,end='')

二进制转二维码后得到flag

img

我的折扣是多少

give.exe 给出了 pass1,花括号内的编码 unicode转中文 后得到 krw

img

mp3 没发现什么特殊之处,也没摩斯电码之类的。

me.zip 结尾发现 base64 解码后得到 pass2

img

打开压缩包后又得到一个base64,解码后得到 youfoundme?

img

到这里应该可以想到 mp3 应该是存在隐写,使用 MP3Stego 提取

img

base32 解码后得到 flag

img

Retrieve the passcode

下载的附件里面有一个 scatter,看起来像坐标。描述里也提到了 scatter,百度了一番 scatter散点图

需要写 python 脚本,但我 python 图像这方面一点不行,直接爆破得到密码

img

解压压缩包后得到一个 pdf,很明显的一个 摩斯密码,直接解密得到 flag

img

img

本文作者:iami233
本文链接:https://5ime.cn/iscc-2021.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可