[ISCC 2021]部分wp


海市蜃楼-1

直接改后缀zip,搜flag直接找到

Retrieve the passcode

给了一堆三维的数据,提到了scatter,所以猜测是利用python来画散点图

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

脚本编写

#导入必要的模块 
import matplotlib.pyplot as plt 


with open('scatter.txt','r') as n:
    all = n.read()
    a = all.split(";")

x_value = []
y_value = []

for i in a:
    x_value.append(i.split(':')[0])
    y_value.append(i.split(":")[1])

# print(x_value)
# print(y_value)

plt.scatter(x_value,y_value,1)

#设置X轴标签 
plt.xlabel('X') 
#设置Y轴标签 
plt.ylabel('Y') 
#设置标题
plt.title("test")

#设置图标 
plt.legend('x1') 
#显示
plt.show()

稍微改一下宽高,得到一个这个东西,看不出来是个啥

在这里插入图片描述
颠倒一下,得到密码365728

打开pdf
在这里插入图片描述

下面是莫斯密码

-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. - .... . ..-. .-.. .- --. .. ...
-.-. .... .- .-.. .-.. . -. --. . .. ... -.-. -.-. - .-- --- --.. . .-. --- - .-- --- --- -. .

解码结果,flag得到

CONGRATULATIONTHEFLAGIS
CHALLENGEISCCTWOZEROTWOONE

我的折扣是多少

有一个mp3的文件,估计就是mp3
在这里插入图片描述
\u006b\u0072\u0077转成字符串是krw
在压缩文件后面找到base64编码
在这里插入图片描述
解出来是gcc666
在这里插入图片描述
使用密码krwgcc666解开压缩包
里面还有一串base编码:eW91Zm91bmRtZT8=
在这里插入图片描述
base64解出来是:youfoundme?

mp3stego解出来是这个:ISCC{LFXXK4TENFZWG33VNZ2DELRRGU======}
在这里插入图片描述
base32解出来是Yourdiscount2.15
flag是ISCCP{Yourdiscount2.15}

小明的表情包

AVARGRRA AVARGL AVAR凯撒加密,偏移量13的时候出来,年份为1999

在这里插入图片描述
小明说如果你记得我的出生的日月年,格式是日月年
直接爆破,从01011999到12311999
在这里插入图片描述
拿到密码07071999

010eiditor查看,有jpg的文件尾,缺少文件头,把前面两个改成FF D8就可以了
在这里插入图片描述
在这里插入图片描述

Hack the Victim

题目描述

Victim 为含有漏洞的智能合约,在 Rinkeby 测试网络的合约地址为:
0x68D28fE315E6A344029D42915Fbc7af4261AB833
接口为:
contract Victim {
 function withdraw() public returns (string memory ){
 return "ISCC{xxxxx}";
 }
}
请编写攻击合约,实现对 Victim 的攻击,获取 flag。

利用合约地址:0x68D28fE315E6A344029D42915Fbc7af4261AB833
拿到16进制数据
在这里插入图片描述
转字符串
在这里插入图片描述

美人计

打开里面的二维码,扫到base64
在这里插入图片描述
解码得到

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

看到了开头是Salted
查了一下,利用openssl对文件进行加密和解密
在这里插入图片描述
把word改成zip,里面还有一个图片
在这里插入图片描述
在这里插入图片描述

U2FsdGVkX19eOY/pDh8+vPAcvfkLi1XLUneVzjLLOMul53sKK8UpobdCOiPIv4KE

直接看图片里面的内容,要我们用AES解密一下,但是题目说不能信美人的话,所以我们用DES

在这里插入图片描述

.T.r. y. .A.E. S.,. .a. n.d. .y. o.u. .w. i.l.l. . g.e.t. . t.h.e. . f.l.a.g. … .I.S. C.C.2.0. 2.1…A. E.S.,. . I.S.C.C. 2.0.2.0. …o.u. . w.i.l.l. .g.e.t. .t.h.e. .s.e.c. r.e.t. . f.r.o.m. .m.e… o.f. .d. i.f.f.e. r.e.n.t. .c.o.l. o.r… W.h.a.t. .I. .w. a.n.t. . t.o. .t. e.l.l. . y.o.u. . i.s. .i. n. .t.h. e. .Q.R. .c.o.d. e…T. r.y. .A. E.S.,. . a.n.d. . y.o.u. . w.i.l.l. .g.e.t. .t.h.e. .f.l.a. g…T. r.y. .A. E.S.,. . t.h.e.n. .I. .w. i.l.l. . b.e. .w. i.t.h. . y.o.u… …T.r.y. .A.E.S. ,. .I. . w.i.l.l. .b.e. . w.i.t.h. .y.o.u. …T.r. y. .A.E. S…Try AES.b.a. s.e.6.4. …base64 … … .f…

所以思路应该是用openssl来用DES解密一下,密钥为ISCC2021

有关DES解码可以看这里

发现第一个图片扫出来的没有,在第二个图片里面
在这里插入图片描述

李华的红包

binwalk出了一个压缩文件,里面有个txt,内容是24,43,13,13,12,21,43

敲击码:先列后行
在这里插入图片描述
解出是ISCCBFS

小明的宠物兔

binwalk得到flag.txt还有一个加密的压缩包

flag.txt里面有base64,看一下
在这里插入图片描述
看到了salted,是用openssl加密的

看图片里面说要碰撞,那加密了的zip就很容易联想到CRC碰撞

python2脚本:

#coding:utf-8
import zipfile
import string
import binascii
 
def CrackCrc(crc):
    for i in dic:
        for j in dic:
            for p in dic:
                for q in dic:
		    for m in dic:
		            s = i + j + p + q + m
		            if crc == (binascii.crc32(s) & 0xffffffff):
		                print s

 
dic = string.ascii_letters + string.digits + '+/='
 
crc = 0x3DACAC6B
CrackCrc(crc)

跑个几分钟就跑出来了:DCr4m
在这里插入图片描述
解了一下发现还不对。。
原来可能是同一个CRC32可能对应了多个字符串
再跑下去有一个:(0_0)这个就跑出来了
在这里插入图片描述
在这里插入图片描述

ISCC客服冲冲冲(一)

直接f12把按钮给删掉,点过他就拿到了
在这里插入图片描述

在这里插入图片描述

这是啥

把内容放出来,是一些(!![]+[])这种类型的东西
在这里插入图片描述
这是jsfuck,文档
直接去这里可以执行代码
http://www.jsfuck.com/
在这里插入图片描述

Web01

根据提示来到了这里

<?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>';
	}
}
?>

主要看这里

else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)

使用科学计数法2e9就绕过了,再往后面加个*-*就出来了
payload:

?password=2e9*-*

在这里插入图片描述

登录

源码泄露www.zip
拿到代码,发现有注册页面,随便注册一个页面,登陆后有一个update信息,可以上传文件

<?php
	require_once('class.php');
	if($_SESSION['username'] == null) {
   
		die('Login First');	
	}
	if($_POST['phone'] && $_POST['email'] && $_POST['nickname'] && $_FILES['photo']) {
   

		$username = $_SESSION['username'];
		if(!preg_match('/^\d{11}$/', $_POST['phone']))
			die('Invalid phone');

		if(!preg_match('/^[_a-zA-Z0-9]{1,10}@[_a-zA-Z0-9]{1,10}\.[_a-zA-Z0-9]{1,10}$/', $_POST['email']))
			die('Invalid email');
		
		if(preg_match('/[^a-zA-Z0-9_]/', $_POST['nickname']) || strlen($_POST['nickname']) > 10)
			die('Invalid nickname');

		$file = $_FILES['photo'];
		if($file['size'] < 5 or $file['size'] > 1000000)
			die('Photo size error');

		move_uploaded_file($file['tmp_name'], 'upload/' . md5($file['name']));
		$profile['phone'] = $_POST['phone'];
		$profile['email'] = $_POST['email'];
		$profile['nickname'] = $_POST['nickname'];
		$profile['photo'] = 'upload/' . md5($file['name']);

		$user->update_profile($username, serialize($profile));
		echo 'Update Profile Success!<a href="profile.php">Your Profile</a>';
	}
	else {
   
?>

继续看源码,得到上传路径,但是MD5加密了,所以后缀是没有了

move_uploaded_file
  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huamanggg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值