iami233
iami233
文章175
标签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>';
}
}
?>

我们直接用科学计数法绕过,payload:?password=1e9*-*
img

tornado

看到页面 又是一道原题护网杯的easy_tornado
https://www.cnblogs.com/xhds/p/12285121.html
三个文件内容:

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

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

ISCC客服冲冲冲(二)

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

发现源码泄露
img

题目描述里提到:经过激烈的竞争,客服一号终于通过自己的努力(选手的帮助),保住了自己的饭碗(获得了客服的密码), 所以密码应该是上一题的flag
所以我们直接post一个账号密码上去,页面提示管理员禁止登录
img

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

这题提示都和bugku web39 一样,应该是原题 web39是CBC字节翻转攻击
https://blog.csdn.net/u013577244/article/details/86310881
直接照着做就行了,注意要一气呵成,免得重头再来。

Misc

海市蜃楼-1

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

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

小明的表情包

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

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

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

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

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中查看到一段王者荣耀代打的火星文… 但是乱码了 换个工具 得到没乱码的内容:ポ④ωаиɡ锗榮燿棑位笩╇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 协议进行许可