2021-ISCC

article/2025/10/12 3:33:29

  • web
    • web01-ISCC客服冲冲冲(一)
    • web02-这是啥
    • web3-web01
  • MISC
    • MISC01-Retrieve the passcode
    • MISC02-我的折扣是多少
    • MISC03-海市蜃楼-1
    • MISC04-美人计
    • MISC05-检查一下

web

web01-ISCC客服冲冲冲(一)

在这里插入图片描述
1.写个脚本(不会)
2.用连点器(不想)
3.左右互换,让真正的一号票数增加(就这个)
在这里插入图片描述
然后就得出flag

web02-这是啥

在这里插入图片描述
F12查看源代码,jsfuck加密
在这里插入图片描述
也可以谷歌的控制台,复制粘贴回车得出flag

web3-web01

在这里插入图片描述
进入页面,让你想看看robots.txt协议
访问robots.txt
在这里插入图片描述
按照管理,不让访问,那必须访问,得到如下代码

<?php
<p>code.txt</p>if (isset ($_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){    if (strpos ($_GET['password'], '*-*') !== FALSE){die('Flag: ' . $flag);}else{echo('<p>*-* have not been found</p>');}}else{echo '<p>Invalid password</p>';}
}
?>

由于看不懂代码,所以,看学长wp呗

大概是这样,get方式 传入password,会进入第一个if 语句
ereg函数要求password只能是一个或者多个数字或者大小写字母,这样才能绕过第一个if语句,ereg函数存在%00截断绕过。
进入else if 语句进行判断,password长度要小于8但是要大于9999999。正常逻辑来说这是不可能的
可以用科学计数法1e8=100000000 > 9999999
strpos函数会检测我们输入的password参数有没有*-*

所以,访问:?password=1e8%00*-*
得出flag

MISC

MISC01-Retrieve the passcode

题目描述:
Scatter说他能解开这个古怪的密码,你呢?来试试吧!
Flag格式:ISCC{XXX},XXX为小写字符串,不包括空格

解压等到一个txt文件和加密的压缩包
整理一下txt文件得到如下

1:3:1  
1.25:3:1  
1.5:3:1  
1.75:3:1  
2:3:1  
2:2.75:1  
2:2.5:1  
2:2.25:1  
2:2:1  
2:1.75:1  
2:1.5:1  
1:2.25:1  
1.25:2.25:1  
1.5:2.25:1  
1.75:2.25:1  
1:1.5:1  
1.25:1.5:1  
1.5:1.5:1  
1.75:1.5:1  
3:3:1  
3.25:3:1  
3.5:3:1  
3.75:3:1  
4:3:1  
3.25:2.25:1  
3.5:2.25:1  
3.75:2.25:1  
4:2.25:1  
4:2:1  
4:1.75:1  
4:1.5:1  
3:1.5:1  
3.25:1.5:1  
3.5:1.5:1  
3.75:1.5:1  
3:1.75:1  
3:2:1  
3:2.25:1  
3:2.5:1  
3:2.75:1  
5:3:1  
5.25:3:1  
5.5:3:1  
5.75:3:1  
6:3:1  
6:2.25:1  
6:2:1  
6:1.75:1  
6:1.5:1  
5.75:1.5:1  
5.5:1.5:1  
5.25:1.5:1  
5:1.5:1  
5:2.25:1  
5.25:2.25:1  
5.5:2.25:1  
5.75:2.25:1  
5:2.5:1  
5:2.75:1  
7:3:1  
7.25:3:1  
7.5:3:1  
7.75:3:1  
8:3:1  
8:2.75:1  
8:2.5:1  
8:2.25:1  
8:2:1  
8:1.75:1  
8:1.5:1  
9:3:1  
9.25:3:1  
9.5:3:1  
9.75:3:1  
10:3:1  
10:2.75:1  
10:2.5:1  
10:2.25:1  
9.75:2.25:1  
9.5:2.25:1  
9.25:2.25:1  
9:2.25:1  
9:2:1  
9:1.75:1  
9:1.5:1  
9.25:1.5:1  
9.5:1.5:1  
9.75:1.5:1  
10:1.5:1  
11:3:1  
11.25:3:1  
11.5:3:1  
11.75:3:1  
12:3:1  
12:2.75:1  
12:2.5:1  
12:2.25:1  
12:2:1  
12:1.75:1  
12:1.5:1  
11.75:1.5:1  
11.5:1.5:1  
11.25:1.5:1  
11:1.5:1  
11:1.75:1  
11:2:1  
11:2.25:1  
11:2.5:1  
11:2.75:1  
11.25:2.25:1  
11.5:2.25:1  
11.75:2.25:1

然后跑一下脚本就得到密码

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
dot1 = [[1, 3, 1], [1.25, 3, 1], [1.5, 3, 1], [1.75, 3, 1], [2, 3, 1], [2, 2.75, 1], [2, 2.5, 1], [2, 2.25, 1], [2, 2, 1], [2, 1.75, 1], [2, 1.5, 1], [1, 2.25, 1], [1.25, 2.25, 1], [1.5, 2.25, 1], [1.75, 2.25, 1], [1, 1.5, 1], [1.25, 1.5, 1], [1.5, 1.5, 1], [1.75, 1.5, 1], [3, 3, 1], [3.25, 3, 1], [3.5, 3, 1], [3.75, 3, 1], [4, 3, 1], [3.25, 2.25, 1], [3.5, 2.25, 1], [3.75, 2.25, 1], [4, 2.25, 1], [4, 2, 1], [4, 1.75, 1], [4, 1.5, 1], [3, 1.5, 1], [3.25, 1.5, 1], [3.5, 1.5, 1], [3.75, 1.5, 1], [3, 1.75, 1], [3, 2, 1], [3, 2.25, 1], [3, 2.5, 1], [3, 2.75, 1], [5, 3, 1], [5.25, 3, 1], [5.5, 3, 1], [5.75, 3, 1], [6, 3, 1], [6, 2.25, 1], [6, 2, 1], [6, 1.75, 1], [6, 1.5, 1], [5.75, 1.5, 1], [5.5, 1.5, 1], [5.25, 1.5, 1], [5, 1.5, 1], [5, 2.25, 1], [5.25, 2.25, 1], [5.5, 2.25, 1], [5.75, 2.25, 1], [5, 2.5, 1], [5, 2.75, 1], [7, 3, 1], [7.25, 3, 1], [7.5, 3, 1], [7.75, 3, 1], [8, 3, 1], [8, 2.75, 1], [8, 2.5, 1], [8, 2.25, 1], [8, 2, 1], [8, 1.75, 1], [8, 1.5, 1], [9, 3, 1], [9.25, 3, 1], [9.5, 3, 1], [9.75, 3, 1], [10, 3, 1], [10, 2.75, 1], [10, 2.5, 1], [10, 2.25, 1], [9.75, 2.25, 1], [9.5, 2.25, 1], [9.25, 2.25, 1], [9, 2.25, 1], [9, 2, 1], [9, 1.75, 1], [9, 1.5, 1], [9.25, 1.5, 1], [9.5, 1.5, 1], [9.75, 1.5, 1], [10, 1.5, 1], [11, 3, 1], [11.25, 3, 1], [11.5, 3, 1], [11.75, 3, 1], [12, 3, 1], [12, 2.75, 1], [12, 2.5, 1], [12, 2.25, 1], [12, 2, 1], [12, 1.75, 1], [12, 1.5, 1], [11.75, 1.5, 1], [11.5, 1.5, 1], [11.25, 1.5, 1], [11, 1.5, 1], [11, 1.75, 1], [11, 2, 1], [11, 2.25, 1], [11, 2.5, 1], [11, 2.75, 1], [11.25, 2.25, 1], [11.5, 2.25, 1], [11.75, 2.25, 1]]  # 得到五个点
plt.figure()  # 得到画面
ax1 = plt.axes(projection='3d')
ax1.set_xlim(0, 15)  # X轴,横向向右方向
ax1.set_ylim(15, 0)  # Y轴,左向与X,Z轴互为垂直
ax1.set_zlim(0, 15)  # 竖向为Z轴
color1 = ['r', 'g', 'b', 'k', 'm']
marker1 = ['o', 'v', '1', 's', 'H']
i = 0
for x in dot1:ax1.scatter(x[0], x[1], x[2], c=color1[1],marker=marker1[1], linewidths=4)  # 用散点函数画点i += 1
plt.show()

得到下图
在这里插入图片描述
密码是:365728
打开压缩包得到一串摩斯密码
在这里插入图片描述
得到flag:CONGRATULATIONTHEFLAGISCHALLENGEISCCTWOZEROTWOONE

MISC02-我的折扣是多少

题目描述:
小c同学去参加音乐会,在官网买票时发现了有提示消息,提供给的有“give_me_discount”的压缩包,好奇的小c下载下来,但却无从下手,为了节省零花钱,你能帮帮他吗?

cmd运行give.exe得到pass1{\u006b\u0072\u0077}
Unicode解码后得到:krw
把压缩包me.zip放入010中得到一串base64编码
在这里插入图片描述
base64解码得到pass2{gcc666}
两个密码放在一起是压缩包me.zip的密码krwgcc666
打开me.zip,base64解码得到下图
在这里插入图片描述
最后使用MP3Stego
MP3Stego下载
MP3Stego使用方法
decode.exe -X -P youfoundme? discount.mp3
在这里插入图片描述
最后base32解出flag

MISC03-海市蜃楼-1

题目描述: 或许你看到的只是海市蜃楼…

打开压缩包是一个docx文件
在这里插入图片描述
修改后缀名为zip
在word/document.xml文件中(用记事本打开)ctrl+f搜索ISCC
得到flag
方法二:使用winrar在文件中搜索ISCC字符串

MISC04-美人计

题目描述:美人说的话里有解题提示,但是美人的话不能全信

找到grhe4q4h6eta.jpg文件的属性,查看详细信息得到提示
在这里插入图片描述
可能是AES加密,密钥是ISCC2021
扫描ny4w1nbmry4m.docx中的二维码

U2FsdGVkX1/Ka+sScszwQkwhO+VLiJwV/6IFg5W+TfNHGxG2qZsIr2iwMwb9X9Iu 3GuGWmPOtO27z8vNppD2D50fwsD+8VWhdtW9J4cewYivH/Z/7GoUvcJXJMrvf+vu +CBqWDGp6HWd0e5whGhuzlK0ZtBcDZdPDSIHA7+GuUlifp8PcFCtJPgiuk143REE +pKFiSJXolXLR1vJCdGY9w5mXFbiWPrb2U7r/v5noP8=

用三次AES加密得到:y0u_h@ve_fal1en_intO_tHe_tr@p_0f_tHe_be@uty_!
这样你就被骗了
正确过程:
把docx后缀改为zip
在word/media文件里发现第二张二维码
得到:U2FsdGVkX19eOY/pDh8+vPAcvfkLi1XLUneVzjLLOMul53sKK8UpobdCOiPIv4KE
用DES解码(密钥还是ISCC2021)得到flag
AES和DES解码网站

MISC05-检查一下

把图片拉进kali里,用binwalk分离,得出一个文件夹

binwalk -e /home/kali/Desktop/221B.png

分离得出的文件夹,用记事本打开75645B
得到一堆这玩意,在百度上找个脚本转化为二维码

1111111000100100110000111111110000010011011110010101000001101110100111010011010010111011011101000000111011110101110110111010010111101110001011101100000101110111000010010000011111111010101010101010111111100000000011100100110100000000100101101110000101010101000001101000011101011011011100101000001110010010001111011110010001100000101101100111111001010110101101110000100011110100110001001100010010101110000111111111110010100110101001111110010110001100110111110111000110011110010001111001110000100011010000110100100000001011001010101101110100011011010011100011101001111011111000101001101101101100101010001111101000000000011101101101010001011011111110000011110000101011010100000101011110010101000101101011101001010011001011111001010111010110101111000001101001101110100101010000010100111011000001000011101000011001001011111110100100100000111100110

脚本如下:

import PIL.Image
MAX = 29
pic = PIL.Image.new("RGB",(MAX,MAX))
str = "1111111000100100110000111111110000010011011110010101000001101110100111010011010010111011011101000000111011110101110110111010010111101110001011101100000101110111000010010000011111111010101010101010111111100000000011100100110100000000100101101110000101010101000001101000011101011011011100101000001110010010001111011110010001100000101101100111111001010110101101110000100011110100110001001100010010101110000111111111110010100110101001111110010110001100110111110111000110011110010001111001110000100011010000110100100000001011001010101101110100011011010011100011101001111011111000101001101101101100101010001111101000000000011101101101010001011011111110000011110000101011010100000101011110010101000101101011101001010011001011111001010111010110101111000001101001101110100101010000010100111011000001000011101000011001001011111110100100100000111100110"
i = 0
for y in range (0,MAX):for x in range (0,MAX):if(str[i] == '1'):pic.putpixel([x,y],(0,0,0))else:pic.putpixel([x,y],(255,255,255))i = i+1
pic.show()
pic.save("flag.png")

扫描得到的二维码就是flag


http://chatgpt.dhexx.cn/article/ZT5GJjIs.shtml

相关文章

ISCC 2022

PWN 跳一跳&#xff08;未写完 程序流程较为简单&#xff0c;发现为64位全保护开启的ELF文件&#xff1b; sim_treasure 简单的32位循环格式化字符串漏洞&#xff0c;位于栈上&#xff0c;无过滤\x00&#xff1b;且对于got表无防护&#xff0c;故利用格式化字符串漏洞对地址…

ISCC-2022

ISCC-2022 本文首发于奇安信攻防社区 注&#xff1a;本文所做题目时间和复现时间不一致&#xff0c;按照主办方每天中午更新flag&#xff0c;或许有不同 练武 MISC 单板小将苏翊鸣 下载附件得到压缩包和图片 修改高度 扫码得到 所以密码为15942 得到 ISCC{beij-dbxj-2…

ISCC

ISCC客服冲冲冲 这里肯定是写一个脚本去自动化点击左边那个按钮&#xff0c;我本来想不会&#xff0c;百度一下发现还是很简单的一串js&#xff0c;果然还是要去学习脚本语言 console里添加 setInterval(function(){document.getElementById("按钮id").click();},1)…

ISCC2023 misc 练武+擂台WP

转载请备注来源 联系我:UVE6MjI4MjY3OTAwNA 文章目录 练武好看的维吾尔族小姐姐人生之路汤姆历险记菜鸟黑客-1菜鸟黑客-2通信方式mystery of bits消息传递你相信AI吗&#xff1f; 擂台Guess_RSA雪豹哦&#xff1f;摩斯密码&#xff1f;ඞG9的钢琴曲BNG听你心跳里的狂Brain Game…

matlab中sum函数的用法

更多精彩内容&#xff0c;打开微信扫一扫&#xff1b; 参考&#xff1a;https://jingyan.baidu.com/article/6b97984db545971ca2b0bf98.html bsum(a,dim); a表示矩阵&#xff1b; dim等于1或者2. 1表示每一列进行求和&#xff0c;2表示每一行进行求和&#xff1b; 表示每列…

MATLAB中求传递函数代码

今天MATLAB发生了一件非常稀奇的事&#xff0c;采用扩展描述函数法对LLC谐振变换器进行小信号建模时&#xff0c;由于建出传递函数比较复杂&#xff0c;分子是6阶&#xff0c;分母是7阶&#xff0c;然后进行画bode图时&#xff0c;采用szpk(s)时&#xff0c;即用零极点表示形式…

用matlab如何求和,Matlab的求和函数sum如何使用,

Matlab的求和函数sum如何使用如何利用MATLAB的和函数求和,如何使用Matlab的和函数和:1?用[S=sum(A)]求和;2.使用[S=sum(A,dim)]按指定维度求和;3.使用[S=sum(___,outtype)]指定输出结果的数据类型。 本文的操作环境:Windows7系统,MATLAB r 2020 a版本,戴尔G3电脑。 M…

Matlab 特殊函数绘图(求和函数、特殊函数)

Matlab 特殊函数绘图&#xff08;求和函数&#xff09; 代码如下&#xff1a; clear all clcD2;%三维 x1linspace(-15,25,500); x2x1;%画X1轴和X2轴 [X1,X2]meshgrid(x1,x2);%形成网格Asqrt(1/D*(X1.^2X2.^2)); Bcos(2*pi*X1)cos(2*pi*X2); Z-20*exp(1)*exp(-0.2*A)-exp(1/D…

#Matlab#函数 计算路程和速度

需求描述&#xff1a; 有一段ODE(Ordinary Differential Equations)模拟得的时序数据。该串数据为有两个维度&#xff0c;一个是时间&#xff0c;另一个是位置信息(x,y)以复数(xiy)形式来展现。需要计算出不同时间所走过的路程&#xff08;不是位移&#xff01;&#xff01;&a…

Matlab: sum的用法、每一行求和、repmat的用法、sum和repmat结合使用减少循环

偶尔会用到关于矩阵元素的求和&#xff0c;总结一下常用的 目录 1、向量求和 2、矩阵求和 &#xff08;1&#xff09;默认按列求和&#xff0c;得到一个行向量 &#xff08;2&#xff09;求每一行的和 3、sum和repmat一起使用 &#xff08;1&#xff09;矩阵A中每一行的…

MATLAB的sum函数

1 a为向量 bsum(a); a表示行向量&#xff0c;b表示行向量求和的值。 2 a为矩阵 bsum(a); a表示矩阵&#xff0c;b表示矩阵每列求和得到的行向量。 3 设定sum函数的参数列表的参数dim&#xff0c;对矩阵每一列或者每一列求和或每一行求和&#xff0c;得到行向量或者列向量。 …

matlab中max函数的使用方法详细介绍(附matlab代码)

一、语句 max 数组的最大元素 1、M max(A) 返回数组的最大元素。 如果 A 是向量&#xff0c;则 max(A) 返回 A 的最大值。 如果 A 为矩阵&#xff0c;则 max(A) 是包含每一列的最大值的行向量。 如果 A 是多维数组&#xff0c;则 max(A) 沿大小不等于 1 的第一个数组维度计…

构建docker镜像时,报错:ERROR: unexpected status code [manifests latest]: 403 Forbidden

1 错误提示 ERROR: unexpected status code [manifests latest]: 403 Forbidden 2 错误原因 出现此原因只需要设置一下docker的setting。 它发生在构建过程中&#xff0c;它是 buildkit 中的一个错误&#xff0c;考虑到 buildkit 仍然不稳定。如果您在 Mac/Windows 上使用 …

Manifest Permissions

概述 每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件&#xff0c;这个清单文件名是固定的并且放在每个Android应用的根目录下。它定义了该应用对于Android系统来说一些非常重要的信息。Android系统需要这些信息才能正常运行该应用。Android程序清单文件主要…

Android Local Manifests机制

Android系统开发的第一步就是获取源码&#xff0c;这时就需要用到repo命令了&#xff1a; repo init&#xff0c;用于初始化repo环境&#xff0c;一个XML格式的manifest.xml文件会生成在本地新建的.repo/中&#xff0c; manifest.xml定义了本地代码的目录结构&#xff0c;以及…

AndroidManifest文件

目录 1、<manifest>元素 2、<application>元素 3、<permission>元素 4、<uses-permission>元素 5、Activity界面组件 6、Service 服务组件 7、Receiver 消息组件 8、Provider 内容组件 9、<intent-filter>元素 AndroidManifest 官方解释…

Android Manifest详解

什么是Android应用程序的构成&#xff1f; Android应用程序的各个组件又是什么&#xff1f; 各个组件和AndroidManifest之间的关系是什么&#xff1f; Android应用程序由松散耦合的组件组成&#xff0c;并使用应用程序Manifest绑定在一起&#xff1b;应用程序的AndroidManife…

Android Studio 项目目录结构

Android 平台的主要组件 使用Android Studio工具开发Android应用程序&#xff0c;创建的工程目录结构比较复杂&#xff0c;开发人员应该清楚各个目录下面放置的是什么东西。工程根目录下有app和Gradle Scripts,app是应重点关注的&#xff0c;app下面的主要目录有manifests、jav…

c# 深拷贝浅拷贝

浅拷贝&#xff1a;仅仅把对象的引用进行拷贝&#xff0c;但是拷贝对象和源对象是引用同一份实体。此时&#xff0c;其中的一个的成员对象的改变都会影响到另外一个成员的对象 深拷贝&#xff1a;指的是拷贝一个对象时&#xff0c;不仅仅把对象的引用进行拷贝&#xff0c;还把…

详细讲解js中的深拷贝与浅拷贝

1 概述 深拷贝与浅拷贝在其它语言中也经常被提及到&#xff0c;在实际项目开发过程中也常常需要区分当前使用的到底是深拷贝还是浅拷贝&#xff0c;有时候在该使用深拷贝的地方&#xff0c;我们使用了浅拷贝&#xff0c;会导致深藏不露的bug。 2 数据类型 在探讨深浅拷贝之前…